Skip to content

Commit 0cddc1e

Browse files
feat(db): add external game ids (#173)
1 parent 0f23ab8 commit 0cddc1e

File tree

2 files changed

+185
-143
lines changed

2 files changed

+185
-143
lines changed

src/igdb_enums.py

Lines changed: 179 additions & 143 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,50 @@
1+
duplicated_enums = dict(
2+
dates_enum={
3+
0: 'YYYYMMMMDD',
4+
1: 'YYYYMMMM',
5+
2: 'YYYY',
6+
3: 'YYYYQ1',
7+
4: 'YYYYQ2',
8+
5: 'YYYYQ3',
9+
6: 'YYYYQ4',
10+
7: 'TBD',
11+
},
12+
regions_enum={
13+
1: 'europe',
14+
2: 'north_america',
15+
3: 'australia',
16+
4: 'new_zealand',
17+
5: 'japan',
18+
6: 'china',
19+
7: 'asia',
20+
8: 'worldwide',
21+
9: 'korea',
22+
10: 'brazil',
23+
},
24+
websites_enum=dict(
25+
category={
26+
1: 'official',
27+
2: 'wikia',
28+
3: 'wikipedia',
29+
4: 'facebook',
30+
5: 'twitter',
31+
6: 'twitch',
32+
# 7: None,
33+
8: 'instagram',
34+
9: 'youtube',
35+
10: 'iphone',
36+
11: 'ipad',
37+
12: 'android',
38+
13: 'steam',
39+
14: 'reddit',
40+
15: 'itch',
41+
16: 'epicgames',
42+
17: 'gog',
43+
18: 'discord',
44+
},
45+
),
46+
)
47+
148
enums = dict(
249
age_ratings=dict(
350
category={
@@ -30,24 +77,25 @@
3077
18: 'USK_0',
3178
19: 'USK_6',
3279
20: 'USK_12',
33-
21: 'USK_18',
34-
22: 'GRAC_ALL',
35-
23: 'GRAC_Twelve',
36-
24: 'GRAC_Fifteen',
37-
25: 'GRAC_Eighteen',
38-
26: 'GRAC_TESTING',
39-
27: 'CLASS_IND_L',
40-
28: 'CLASS_IND_Ten',
41-
29: 'CLASS_IND_Twelve',
42-
30: 'CLASS_IND_Fourteen',
43-
31: 'CLASS_IND_Sixteen',
44-
32: 'CLASS_IND_Eighteen',
45-
33: 'ACB_G',
46-
34: 'ACB_PG',
47-
35: 'ACB_M',
48-
36: 'ACB_MA15',
49-
37: 'ACB_R18',
50-
38: 'ACB_RC',
80+
21: 'USK_16',
81+
22: 'USK_18',
82+
23: 'GRAC_ALL',
83+
24: 'GRAC_Twelve',
84+
25: 'GRAC_Fifteen',
85+
26: 'GRAC_Eighteen',
86+
27: 'GRAC_TESTING',
87+
28: 'CLASS_IND_L',
88+
29: 'CLASS_IND_Ten',
89+
30: 'CLASS_IND_Twelve',
90+
31: 'CLASS_IND_Fourteen',
91+
32: 'CLASS_IND_Sixteen',
92+
33: 'CLASS_IND_Eighteen',
93+
34: 'ACB_G',
94+
35: 'ACB_PG',
95+
36: 'ACB_M',
96+
37: 'ACB_MA15',
97+
38: 'ACB_R18',
98+
39: 'ACB_RC',
5199
},
52100
rating_age={
53101
1: 3,
@@ -70,30 +118,114 @@
70118
18: 1,
71119
19: 6,
72120
20: 12,
73-
21: 18,
74-
22: 1,
75-
23: 12,
76-
24: 15,
77-
25: 18,
121+
21: 16,
122+
22: 18,
123+
23: 1,
124+
24: 12,
125+
25: 15,
78126
26: 18,
79-
27: 1,
80-
28: 10,
81-
29: 12,
82-
30: 14,
83-
31: 16,
84-
32: 18,
85-
33: 1,
86-
34: 13,
87-
35: 15,
127+
27: 18,
128+
28: 1,
129+
29: 10,
130+
30: 12,
131+
31: 14,
132+
32: 16,
133+
33: 18,
134+
34: 1,
135+
35: 13,
88136
36: 15,
89-
37: 18,
137+
37: 15,
90138
38: 18,
139+
39: 18,
91140
},
92141
),
93142
age_rating_contect_descriptions=dict(
94143
category={
95-
1: 'PEGI',
96-
2: 'ESRB',
144+
1: 'ESRB_alcohol_reference',
145+
2: 'ESRB_animated_blood',
146+
3: 'ESRB_blood',
147+
4: 'ESRB_blood_and_gore',
148+
5: 'ESRB_cartoon_violence',
149+
6: 'ESRB_comic_mischief',
150+
7: 'ESRB_crude_humor',
151+
8: 'ESRB_drug_reference',
152+
9: 'ESRB_fantasy_violence',
153+
10: 'ESRB_intense_violence',
154+
11: 'ESRB_language',
155+
12: 'ESRB_lyrics',
156+
13: 'ESRB_mature_humor',
157+
14: 'ESRB_nudity',
158+
15: 'ESRB_partial_nudity',
159+
16: 'ESRB_real_gambling',
160+
17: 'ESRB_sexual_content',
161+
18: 'ESRB_sexual_themes',
162+
19: 'ESRB_sexual_violence',
163+
20: 'ESRB_simulated_gambling',
164+
21: 'ESRB_strong_language',
165+
22: 'ESRB_strong_lyrics',
166+
23: 'ESRB_strong_sexual_content',
167+
24: 'ESRB_suggestive_themes',
168+
25: 'ESRB_tobacco_reference',
169+
26: 'ESRB_use_of_alcohol',
170+
27: 'ESRB_use_of_drugs',
171+
28: 'ESRB_use_of_tobacco',
172+
29: 'ESRB_violence',
173+
30: 'ESRB_violent_references',
174+
31: 'ESRB_animated_violence',
175+
32: 'ESRB_mild_language',
176+
33: 'ESRB_mild_violence',
177+
34: 'ESRB_use_of drugs and alcohol',
178+
35: 'ESRB_drug_and alcohol reference',
179+
36: 'ESRB_mild_suggestive themes',
180+
37: 'ESRB_mild_cartoon violence',
181+
38: 'ESRB_mild_blood',
182+
39: 'ESRB_realistic_blood and gore',
183+
40: 'ESRB_realistic_violence',
184+
41: 'ESRB_alcohol_and tobacco reference',
185+
42: 'ESRB_mature_sexual themes',
186+
43: 'ESRB_mild_animated violence',
187+
44: 'ESRB_mild_sexual themes',
188+
45: 'ESRB_use_of alcohol and tobacco',
189+
46: 'ESRB_animated_blood and gore',
190+
47: 'ESRB_mild_fantasy violence',
191+
48: 'ESRB_mild_lyrics',
192+
49: 'ESRB_realistic_blood',
193+
50: 'PEGI_violence',
194+
51: 'PEGI_sex',
195+
52: 'PEGI_drugs',
196+
53: 'PEGI_fear',
197+
54: 'PEGI_discrimination',
198+
55: 'PEGI_bad_language',
199+
56: 'PEGI_gambling',
200+
57: 'PEGI_online_gameplay',
201+
58: 'PEGI_in_game_purchases',
202+
59: 'CERO_love',
203+
60: 'CERO_sexual_content',
204+
61: 'CERO_violence',
205+
62: 'CERO_horror',
206+
63: 'CERO_drinking_smoking',
207+
64: 'CERO_gambling',
208+
65: 'CERO_crime',
209+
66: 'CERO_controlled_substances',
210+
67: 'CERO_languages_and others',
211+
68: 'GRAC_sexuality',
212+
69: 'GRAC_violence',
213+
70: 'GRAC_fear_horror_threatening',
214+
71: 'GRAC_language',
215+
72: 'GRAC_alcohol_tobacco_drug',
216+
73: 'GRAC_crime_anti_social',
217+
74: 'GRAC_gambling',
218+
75: 'CLASS_IND_violencia',
219+
76: 'CLASS_IND_violencia_extrema',
220+
77: 'CLASS_IND_conteudo_sexual',
221+
78: 'CLASS_IND_nudez',
222+
79: 'CLASS_IND_sexo',
223+
80: 'CLASS_IND_sexo_explicito',
224+
81: 'CLASS_IND_drogas',
225+
82: 'CLASS_IND_drogas_licitas',
226+
83: 'CLASS_IND_drogas_ilicitas',
227+
84: 'CLASS_IND_linguagem_impropria',
228+
85: 'CLASS_IND_atos_criminosos',
97229
},
98230
),
99231
characters=dict(
@@ -111,49 +243,10 @@
111243
},
112244
),
113245
companies=dict(
114-
change_date_category={
115-
0: 'YYYYMMMMDD',
116-
1: 'YYYYMMMM',
117-
2: 'YYYY',
118-
3: 'YYYYQ1',
119-
4: 'YYYYQ2',
120-
5: 'YYYYQ3',
121-
6: 'YYYYQ4',
122-
7: 'TBD',
123-
},
124-
start_date_category={
125-
0: 'YYYYMMMMDD',
126-
1: 'YYYYMMMM',
127-
2: 'YYYY',
128-
3: 'YYYYQ1',
129-
4: 'YYYYQ2',
130-
5: 'YYYYQ3',
131-
6: 'YYYYQ4',
132-
7: 'TBD',
133-
},
134-
),
135-
company_websites=dict(
136-
category={
137-
1: 'official',
138-
2: 'wikia',
139-
3: 'wikipedia',
140-
4: 'facebook',
141-
5: 'twitter',
142-
6: 'twitch',
143-
# 7: None,
144-
8: 'instagram',
145-
9: 'youtube',
146-
10: 'iphone',
147-
11: 'ipad',
148-
12: 'android',
149-
13: 'steam',
150-
14: 'reddit',
151-
15: 'itch',
152-
16: 'epicgames',
153-
17: 'gog',
154-
18: 'discord',
155-
},
246+
change_date_category=duplicated_enums['dates_enum'].copy(),
247+
start_date_category=duplicated_enums['dates_enum'].copy(),
156248
),
249+
company_websites=duplicated_enums['websites_enum'].copy(),
157250
games=dict(
158251
category={
159252
0: 'main_game',
@@ -169,6 +262,8 @@
169262
10: 'expanded_game',
170263
11: 'port',
171264
12: 'fork',
265+
13: 'pack',
266+
14: 'update',
172267
},
173268
status={
174269
0: 'released',
@@ -206,28 +301,8 @@
206301
},
207302
),
208303
platform_version_release_dates=dict(
209-
category={
210-
0: 'YYYYMMMMDD',
211-
1: 'YYYYMMMM',
212-
2: 'YYYY',
213-
3: 'YYYYQ1',
214-
4: 'YYYYQ2',
215-
5: 'YYYYQ3',
216-
6: 'YYYYQ4',
217-
7: 'TBD',
218-
},
219-
region={
220-
1: 'europe',
221-
2: 'north_america',
222-
3: 'australia',
223-
4: 'new_zealand',
224-
5: 'japan',
225-
6: 'china',
226-
7: 'asia',
227-
8: 'worldwide',
228-
9: 'korea',
229-
10: 'brazil',
230-
},
304+
category=duplicated_enums['dates_enum'].copy(),
305+
region=duplicated_enums['regions_enum'].copy(),
231306
),
232307
platform_websites=dict(
233308
category={
@@ -254,28 +329,8 @@
254329
},
255330
),
256331
release_dates=dict(
257-
category={
258-
0: 'YYYYMMMMDD',
259-
1: 'YYYYMMMM',
260-
2: 'YYYY',
261-
3: 'YYYYQ1',
262-
4: 'YYYYQ2',
263-
5: 'YYYYQ3',
264-
6: 'YYYYQ4',
265-
7: 'TBD',
266-
},
267-
region={
268-
1: 'europe',
269-
2: 'north_america',
270-
3: 'australia',
271-
4: 'new_zealand',
272-
5: 'japan',
273-
6: 'china',
274-
7: 'asia',
275-
8: 'worldwide',
276-
9: 'korea',
277-
10: 'brazil',
278-
},
332+
category=duplicated_enums['dates_enum'].copy(),
333+
region=duplicated_enums['regions_enum'].copy(),
279334
),
280335
external_games=dict(
281336
category={
@@ -297,32 +352,13 @@
297352
32: 'kartridge',
298353
36: 'playstation_store_us',
299354
37: 'focus_entertainment',
355+
54: 'xbox_game_pass_ultimate_cloud',
356+
55: 'gamejolt',
300357
},
301358
media={
302359
1: 'digital',
303360
2: 'physical',
304361
},
305362
),
306-
websites=dict(
307-
category={
308-
1: 'official',
309-
2: 'wikia',
310-
3: 'wikipedia',
311-
4: 'facebook',
312-
5: 'twitter',
313-
6: 'twitch',
314-
# 7: None,
315-
8: 'instagram',
316-
9: 'youtube',
317-
10: 'iphone',
318-
11: 'ipad',
319-
12: 'android',
320-
13: 'steam',
321-
14: 'reddit',
322-
15: 'itch',
323-
16: 'epicgames',
324-
17: 'gog',
325-
18: 'discord',
326-
},
327-
),
363+
websites=duplicated_enums['websites_enum'].copy(),
328364
)

src/update_db.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,12 @@ def get_data():
145145
'artworks.url',
146146
'collection.name',
147147
'cover.url',
148+
'external_games.category',
149+
'external_games.media',
150+
'external_games.name',
151+
'external_games.platform',
152+
'external_games.uid',
153+
'external_games.url',
148154
'franchise.name',
149155
'franchises.name',
150156
'game_modes.name',

0 commit comments

Comments
 (0)