Coverage for src / static / static_values_enum.py: 95%

147 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-03-01 10:28 +0000

1from enum import Enum 

2 

3LAND_SWAP_FEE = 0.9 # 10 swap_fee 

4 

5# league_ratings_all = [ 

6# 0, # Novice 

7# 260, # Bronze III 

8# 400, # Bronze II 

9# 700, # Bronze I 

10# 1000, # Silver III 

11# 1300, # Silver II 

12# 1600, # Silver I 

13# 1900, # Gold III 

14# 2200, # Gold II 

15# 2500, # Gold I 

16# 2800, # Diamond III 

17# 3100, # Diamond II 

18# 3400, # Diamond I 

19# 3700, # Champion III 

20# 4000, # Champion II 

21# 4300, # Champion I 

22# 5000 # CAP for calculating rewards shares 

23# ] 

24 

25league_ratings = [0, 260, 1000, 1900, 2800, 3700] 

26league_colors = ['lightgray', 'brown', 'gray', 'yellow', 'purple', 'orange'] 

27 

28WEB_URL = 'https://d36mxiodymuqjm.cloudfront.net/' 

29SPL_NEXT_URL = 'https://next.splinterlands.com/' 

30cards_icon_url = WEB_URL + 'website/ui_elements/open_packs/packsv2/img_pack_chaos-legion_opt.png' 

31dec_icon_url = WEB_URL + 'website/icon_dec.png' 

32land_icon_url_svg = WEB_URL + 'website/ui_elements/popups/land_presale/img_plot.svg' 

33sps_icon_url = WEB_URL + 'website/ui_elements/shop/cl/img_sps-shard_128.png' 

34coins_icon_url = WEB_URL + 'website/ui_elements/shop/img_credits.png' 

35other_icon_url = WEB_URL + 'website/nav/icon_nav_items_active@2x.png' 

36glint_icon_url = WEB_URL + 'website/icons/icon_resource_glint.png' 

37voucher_icon_url = ('https://files.peakd.com/file/peakd-hive/beaker007/' 

38 'Eo8RPwT4kQnGyvkNp9Vx1kLpFYYVhKSy88Fsy7YrAStKwrHCRX6GNvhywGxPbQpW2bu.png') 

39voucher_icon_url_svg = WEB_URL + 'website/ui_elements/shop/cl/voucher-css.svg' 

40 

41merit_icon_url = WEB_URL + 'website/icons/img_merit_256.png' 

42energy_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/img_reward_energy_150.png' 

43potion_gold_icon_url = WEB_URL + 'website/ui_elements/shop/potions/potion_gold.png' 

44potion_legendary_icon_url = WEB_URL + 'website/ui_elements/shop/potions/potion_legendary.png' 

45beta_pack_icon = WEB_URL + 'website/icons/icon_pack_beta.png' 

46land_plot_icon_url = WEB_URL + 'website/icons/icon_claim_plot_256.png' 

47 

48reward_draw_initiate_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/draws/img_reward_initiate-draw_150.png' 

49reward_draw_adept_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/draws/img_reward_adept-draw_150.png' 

50reward_draw_veteran_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/draws/img_reward_veteran-draw_150.png' 

51reward_draw_elite_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/draws/img_reward_elite-draw_150.png' 

52reward_draw_master_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/draws/img_reward_master-draw_150.png' 

53 

54reward_draw_common_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/draws/img_draws-common_800.png' 

55reward_draw_rare_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/draws/img_draws-rare_800.png' 

56reward_draw_epic_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/draws/img_draws-epic_800.png' 

57reward_draw_legendary_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/draws/img_draws-legendary_800.png' 

58 

59reward_draw_common_gold_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/draws/img_draws-common_gold_800.webp' 

60reward_draw_rare_gold_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/draws/img_draws-rare_gold_800.webp' 

61reward_draw_epic_gold_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/draws/img_draws-epic_gold_800.webp' 

62reward_draw_legendary_gold_icon_url = (WEB_URL + 

63 'website/ui_elements/shop/ranked/draws/img_draws-legendary_gold_800.webp') 

64 

65reward_draw_minor_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/draws/img_chest-minor_250.webp' 

66reward_draw_major_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/draws/img_chest-major_250.webp' 

67reward_draw_ultimate_icon_url = WEB_URL + 'website/ui_elements/shop/ranked/draws/img_chest-ultimate_250.webp' 

68 

69wild_league_icon_url = WEB_URL + 'website/icons/leagues/wild_150/league_0.png' 

70modern_league_icon_url = WEB_URL + 'website/icons/leagues/modern_150/league_0.png' 

71 

72guild_icon_url = WEB_URL + 'website/nav/icon_nav_guilds_active@2x.png' 

73tournament_icon_url = WEB_URL + 'website/nav/icon_nav_events_active@2x.png' 

74battle_icon_url = WEB_URL + 'website/nav/icon_nav_battle_active@2x.png' 

75 

76replay_icon_url = WEB_URL + 'website/ui_elements/icon_replay_active.svg' 

77trophy_icon_url = WEB_URL + 'website/ui_elements/img_monster-trophy.png' 

78mana_icon_url = WEB_URL + 'website/ui_elements/bg_mana.png' 

79 

80helm_icon_url = WEB_URL + 'website/icons/icon_helm.svg' 

81hive_keychain_logo = WEB_URL + 'website/icons/logo_keychain.svg' 

82 

83grain_icon_url = WEB_URL + 'website/land/resources/grain.png' 

84stone_icon_url = WEB_URL + 'website/land/resources/stone_500.webp' 

85wood_icon_url = WEB_URL + 'website/land/resources/wood_500.webp' 

86iron_icon_url = WEB_URL + 'website/land/resources/iron_500.webp' 

87 

88 

89class ExtendedEnum(Enum): 

90 

91 @classmethod 

92 def list_names(cls): 

93 return list(map(lambda c: c.name, cls)) 

94 

95 @classmethod 

96 def list_values(cls): 

97 return list(map(lambda c: c.value, cls)) 

98 

99 

100class Format(ExtendedEnum): 

101 wild = 'wild' 

102 modern = 'modern' 

103 

104 

105class MatchType(ExtendedEnum): 

106 RANKED = 'Ranked' 

107 TOURNAMENT = 'Tournament' 

108 BRAWL = 'Brawl' 

109 CHALLENGE = 'Challenge' 

110 

111 

112class CardType(ExtendedEnum): 

113 monster = 'Monster' 

114 summoner = 'Summoner' 

115 

116 

117class Leagues(ExtendedEnum): 

118 NOVICE = 0 

119 BRONZE_III = 1 

120 BRONZE_II = 2 

121 BRONZE_I = 3 

122 SILVER_III = 4 

123 SILVER_II = 5 

124 SILVER_I = 6 

125 GOLD_III = 7 

126 GOLD_II = 8 

127 GOLD_I = 9 

128 DIAMOND_III = 10 

129 DIAMOND_II = 11 

130 DIAMOND_I = 12 

131 CHAMPION_III = 13 

132 CHAMPION_II = 14 

133 CHAMPION_I = 15 

134 

135 

136class RatingLevel(ExtendedEnum): 

137 Novice = 0 

138 Bronze = 1 

139 Silver = 2 

140 Gold = 3 

141 Diamond = 4 

142 Champion = 5 

143 

144 

145# @Deprecated Only to be used for now in filters 

146class Edition(ExtendedEnum): 

147 alpha = 0 

148 beta = 1 

149 promo = 2 

150 reward = 3 

151 untamed = 4 

152 dice = 5 

153 gladius = 6 

154 chaos = 7 

155 rift = 8 

156 soulbound = 10 

157 rebellion = 12 

158 soulboundrb = 13 

159 conclave = 14 

160 foundations = 15 

161 foundationssb = 16 

162 extra = 17 

163 conclave_reward = 18 

164 land = 19 

165 escalation = 20 

166 

167 

168edition_mapping = { 

169 0: 'Alpha', 

170 1: 'Beta', 

171 2: 'Promo', 

172 3: 'Reward', 

173 4: 'Untamed', 

174 5: 'Dice', 

175 6: 'Gladius', 

176 7: 'Chaos', 

177 8: 'Rift', 

178 10: 'Soulbound', 

179 12: 'Rebellion', 

180 13: 'Soulbound Rebellion', 

181 14: 'Conclave Arcana', 

182 15: 'Foundation', 

183 16: 'Soulbound Foundation', 

184 17: 'Conclave Extra', 

185 18: 'Conclave Reward', 

186 19: 'Land', 

187 20: 'Escalation' 

188} 

189 

190edition_img_mapping = { 

191 0: 'alpha', 

192 1: 'beta', 

193 2: 'promo', 

194 3: 'reward', 

195 4: 'untamed', 

196 5: 'dice', 

197 6: 'gladius', 

198 7: 'chaos', 

199 8: 'rift', 

200 10: 'soulbound', 

201 12: 'rebellion', 

202 13: 'soulboundrb', 

203 14: 'conclave', 

204 15: 'foundations', 

205 16: 'foundations', 

206 17: 'extra', 

207 18: 'reward', 

208 19: 'land', 

209 20: 'escalation' 

210} 

211 

212 

213class Element(ExtendedEnum): 

214 water = 'Blue' 

215 death = 'Black' 

216 fire = 'Red' 

217 life = 'White' 

218 dragon = 'Gold' 

219 earth = 'Green' 

220 neutral = 'Gray' 

221 

222 

223class Rarity(ExtendedEnum): 

224 common = 1 

225 rare = 2 

226 epic = 3 

227 legendary = 4 

228 

229 

230class ManaCap(ExtendedEnum): 

231 low = '0-20' 

232 medium = '21-40' 

233 high = '41-60' 

234 max = '61-999' 

235 

236 

237class Foil(ExtendedEnum): 

238 regular = 0 

239 gold = 1 

240 black = 2 

241 gold_arcane = 3 

242 black_arcane = 4 

243 

244 def display_name(self): 

245 return { 

246 Foil.regular: "Regular", 

247 Foil.gold: "Gold", 

248 Foil.black: "Black", 

249 Foil.gold_arcane: "Gold Arcane", 

250 Foil.black_arcane: "Black Arcane", 

251 }[self] 

252 

253 @classmethod 

254 def get(cls, value): 

255 try: 

256 return cls(value).display_name() 

257 except (ValueError, KeyError): 

258 return None