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
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-01 10:28 +0000
1from enum import Enum
3LAND_SWAP_FEE = 0.9 # 10 swap_fee
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# ]
25league_ratings = [0, 260, 1000, 1900, 2800, 3700]
26league_colors = ['lightgray', 'brown', 'gray', 'yellow', 'purple', 'orange']
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'
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'
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'
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'
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')
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'
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'
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'
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'
80helm_icon_url = WEB_URL + 'website/icons/icon_helm.svg'
81hive_keychain_logo = WEB_URL + 'website/icons/logo_keychain.svg'
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'
89class ExtendedEnum(Enum):
91 @classmethod
92 def list_names(cls):
93 return list(map(lambda c: c.name, cls))
95 @classmethod
96 def list_values(cls):
97 return list(map(lambda c: c.value, cls))
100class Format(ExtendedEnum):
101 wild = 'wild'
102 modern = 'modern'
105class MatchType(ExtendedEnum):
106 RANKED = 'Ranked'
107 TOURNAMENT = 'Tournament'
108 BRAWL = 'Brawl'
109 CHALLENGE = 'Challenge'
112class CardType(ExtendedEnum):
113 monster = 'Monster'
114 summoner = 'Summoner'
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
136class RatingLevel(ExtendedEnum):
137 Novice = 0
138 Bronze = 1
139 Silver = 2
140 Gold = 3
141 Diamond = 4
142 Champion = 5
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
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}
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}
213class Element(ExtendedEnum):
214 water = 'Blue'
215 death = 'Black'
216 fire = 'Red'
217 life = 'White'
218 dragon = 'Gold'
219 earth = 'Green'
220 neutral = 'Gray'
223class Rarity(ExtendedEnum):
224 common = 1
225 rare = 2
226 epic = 3
227 legendary = 4
230class ManaCap(ExtendedEnum):
231 low = '0-20'
232 medium = '21-40'
233 high = '41-60'
234 max = '61-999'
237class Foil(ExtendedEnum):
238 regular = 0
239 gold = 1
240 black = 2
241 gold_arcane = 3
242 black_arcane = 4
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]
253 @classmethod
254 def get(cls, value):
255 try:
256 return cls(value).display_name()
257 except (ValueError, KeyError):
258 return None