localdex 0.2.55__py3-none-any.whl → 0.3.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,7 +29,16 @@ class PokemonNameNormalizer:
29
29
  """
30
30
  # Handle spaces and hyphens
31
31
  if ' ' in name:
32
+ name = name.strip()
33
+ name = name.replace(" ","-")
34
+ name = name.replace(" ", "-")
32
35
  name = name.replace(' ', '-')
36
+ name = name.replace('---', '-')
37
+ name = name.replace('--', '-')
38
+ name = name.replace('- -', '-')
39
+ name = name.replace(' - ', '-')
40
+ name = name.replace(' -', '-')
41
+ name = name.replace('- ', '-')
33
42
 
34
43
 
35
44
 
@@ -51,19 +60,65 @@ class PokemonNameNormalizer:
51
60
  Processed name
52
61
  """
53
62
  name_lower = name.lower()
54
- if 'urshifu' in name_lower:
55
- if 'single' in name_lower:
56
- return 'urshifu-single-strike'
57
- elif 'rapid' in name_lower:
58
- return 'urshifu-rapid-strike'
63
+
64
+ # Aegislash forms
65
+ if 'aegislash' in name_lower:
66
+ if 'blade' in name_lower:
67
+ return 'aegislash-blade'
68
+ elif 'shield' in name_lower:
69
+ return 'aegislash-shield'
59
70
  else:
60
- return 'urshifu-single-strike'
71
+ return 'aegislash-blade'
61
72
 
62
- if 'zacian' in name_lower:
63
- if 'crowned' in name_lower:
64
- return 'zacian-crowned'
73
+ if 'alcremie' in name_lower:
74
+ if 'gmax' in name_lower:
75
+ return 'alcremie-gmax'
65
76
  else:
66
- return 'zacian'
77
+ return 'alcremie'
78
+
79
+ # Arceus forms
80
+ if 'arceus' in name_lower:
81
+ return 'arceus'
82
+
83
+ # Basculin forms
84
+ if 'basculin' in name_lower:
85
+ if 'blue' in name_lower:
86
+ return 'basculin-blue-striped'
87
+ elif 'red' in name_lower:
88
+ return 'basculin-red-striped'
89
+ elif 'white' in name_lower:
90
+ return 'basculin-white-striped'
91
+ else:
92
+ return 'basculin-blue-striped'
93
+
94
+ if 'basculegion' in name_lower:
95
+ if 'f' in name_lower:
96
+ return 'basculegion-female'
97
+ elif 'm' in name_lower:
98
+ return 'basculegion-male'
99
+ else:
100
+ return 'basculegion-female'
101
+
102
+ # Calyrex forms
103
+ if 'calyrex' in name_lower:
104
+ if 'ice' in name_lower:
105
+ return 'calyrex-ice'
106
+ elif 'shadow' in name_lower:
107
+ return 'calyrex-shadow'
108
+ else:
109
+ return 'calyrex-ice'
110
+
111
+ # Castform forms
112
+ if 'castform' in name_lower:
113
+ if 'rainy' in name_lower:
114
+ return 'castform-rainy'
115
+ elif 'snowy' in name_lower:
116
+ return 'castform-snowy'
117
+ elif 'sunny' in name_lower:
118
+ return 'castform-sunny'
119
+ else:
120
+ return 'castform-sunny'
121
+
67
122
  if 'cramorant' in name_lower:
68
123
  if 'gulping' in name_lower:
69
124
  return 'cramorant-gulping'
@@ -71,75 +126,188 @@ class PokemonNameNormalizer:
71
126
  return 'cramorant-gorging'
72
127
  else:
73
128
  return 'cramorant'
74
-
75
- if 'zamazenta' in name_lower:
76
- if 'crowned' in name_lower:
77
- return 'zamazenta-crowned'
129
+
130
+ # Darmanitan forms
131
+ if 'darmanitan' in name_lower:
132
+ if 'zen' in name_lower:
133
+ return 'darmanitan-zen'
78
134
  else:
79
- return 'zamazenta'
135
+ return 'darmanitan-standard'
80
136
 
81
- if 'necrozma' in name_lower:
82
- if 'dawn' in name_lower:
83
- return 'necrozma-dawn'
84
- elif 'dusk' in name_lower:
85
- return 'necrozma-dusk'
86
- elif 'ultra' in name_lower:
87
- return 'necrozma-ultra'
137
+ # Deoxys forms
138
+ if 'deoxys' in name_lower:
139
+ if 'attack' in name_lower:
140
+ return 'deoxys-attack'
141
+ elif 'defense' in name_lower:
142
+ return 'deoxys-defense'
143
+ elif 'speed' in name_lower:
144
+ return 'deoxys-speed'
145
+ elif 'normal' in name_lower:
146
+ return 'deoxys-normal'
88
147
  else:
89
- return 'necrozma'
90
- if 'sawsbuck' in name_lower:
91
- return 'sawsbuck'
92
- if 'vivillon' in name_lower:
93
- return 'vivillon'
94
- #Oricorio forms
95
- if 'oricorio' in name_lower:
96
- if 'baile' in name_lower:
97
- return 'oricorio-baile'
98
- elif 'pa' in name_lower:
99
- return 'oricorio-pau'
100
- elif 'sensu' in name_lower:
101
- return 'oricorio-sensu'
102
- elif 'pom' in name_lower:
103
- return 'oricorio-pom-pom'
148
+ return 'deoxys'
149
+
150
+ # Dialga forms
151
+ if 'dialga' in name_lower:
152
+ if 'origin' in name_lower:
153
+ return 'dialga-origin'
104
154
  else:
105
- return 'oricorio-baile'
155
+ return 'dialga'
106
156
 
107
- if 'porygon-z' in name_lower:
108
- return 'porygon-z'
157
+ # Dudunsparce forms
158
+ if 'dudunsparce' in name_lower:
159
+ if 'three' in name_lower:
160
+ return 'dudunsparce-three-segment'
161
+ else:
162
+ return 'dudunsparce-two-segment'
163
+
164
+ # Eevee forms
165
+ if 'eevee' in name_lower:
166
+ if 'starter' in name_lower:
167
+ return 'eevee-starter'
168
+ else:
169
+ return 'eevee'
170
+
171
+ # Eiscue forms
172
+ if 'eiscue' in name_lower:
173
+ if 'noice' in name_lower:
174
+ return 'eiscue-noice'
175
+ else:
176
+ return 'eiscue-ice'
177
+
178
+ # Enamorus forms
179
+ if 'enamorus' in name_lower:
180
+ if 'therian' in name_lower:
181
+ return 'enamorus-therian'
182
+ else:
183
+ return 'enamorus-incarnate'
184
+
185
+ # Floette forms
186
+ if 'floette' in name_lower:
187
+ if 'eternal' in name_lower:
188
+ return 'floette-eternal'
189
+ else:
190
+ return 'floette'
109
191
 
110
- if 'porygon-z' in name_lower:
111
- return 'porygon-z'
112
192
  # Florges forms
113
193
  if 'florges' in name_lower:
114
194
  return 'florges'
115
195
 
116
- # Maushold forms
117
- if 'maushold' in name_lower:
118
- return 'maushold'
196
+ if 'gastrodon' in name_lower:
197
+ return 'gastrodon'
119
198
 
120
- # Pikachu forms
121
- if 'pikachu' in name_lower:
122
- return 'pikachu'
199
+ # Gimmighoul forms
200
+ if 'gimmighoul' in name_lower:
201
+ if 'roaming' in name_lower:
202
+ return 'gimmighoul-roaming'
203
+ else:
204
+ return 'gimmighoul'
123
205
 
124
- if 'alcremie' in name_lower:
125
- if 'gmax' in name_lower:
126
- return 'alcremie-gmax'
206
+ # Giratina forms
207
+ if 'giratina' in name_lower:
208
+ if 'origin' in name_lower:
209
+ return 'giratina-origin'
127
210
  else:
128
- return 'alcremie'
129
- if 'polteageist' in name_lower:
130
- return 'polteageist'
131
-
132
- if 'poltchageist' in name_lower:
133
- return 'poltchageist'
211
+ return 'giratina-altered'
212
+
213
+ # Gourgeist forms
214
+ if 'gourgeist' in name_lower:
215
+ if 'large' in name_lower:
216
+ return 'gourgeist-large'
217
+ elif 'small' in name_lower:
218
+ return 'gourgeist-small'
219
+ elif 'super' in name_lower:
220
+ return 'gourgeist-super'
221
+ else:
222
+ return 'gourgeist-average'
223
+
224
+ # Greninja forms
225
+ if 'greninja' in name_lower:
226
+ if 'ash' in name_lower:
227
+ return 'greninja-ash'
228
+ elif 'battle' in name_lower:
229
+ return 'greninja-battle-bond'
230
+ else:
231
+ return 'greninja'
232
+
233
+ # Hoopa forms
234
+ if 'hoopa' in name_lower:
235
+ if 'unbound' in name_lower:
236
+ return 'hoopa-unbound'
237
+ else:
238
+ return 'hoopa'
239
+
240
+ # Indeedee forms
241
+ if 'indeedee' in name_lower:
242
+ if 'f' in name_lower:
243
+ return 'indeedee-female'
244
+ elif 'm' in name_lower:
245
+ return 'indeedee-male'
246
+ else:
247
+ return 'indeedee-female'
248
+
249
+ # Keldeo forms
250
+ if 'keldeo' in name_lower:
251
+ if 'resolute' in name_lower:
252
+ return 'keldeo-resolute'
253
+ else:
254
+ return 'keldeo-ordinary'
255
+
256
+ # Koraidon forms
257
+ if 'koraidon' in name_lower:
258
+ if 'gliding' in name_lower:
259
+ return 'koraidon-gliding-build'
260
+ elif 'limited' in name_lower:
261
+ return 'koraidon-limited-build'
262
+ elif 'sprinting' in name_lower:
263
+ return 'koraidon-sprinting-build'
264
+ elif 'swimming' in name_lower:
265
+ return 'koraidon-swimming-build'
266
+ else:
267
+ return 'koraidon'
268
+
269
+ # Kyurem forms
270
+ if 'kyurem' in name_lower:
271
+ if 'black' in name_lower:
272
+ return 'kyurem-black'
273
+ elif 'white' in name_lower:
274
+ return 'kyurem-white'
275
+ else:
276
+ return 'kyurem'
277
+
278
+ # Landorus forms
279
+ if 'landorus' in name_lower:
280
+ if 'therian' in name_lower:
281
+ return 'landorus-therian'
282
+ else:
283
+ return 'landorus-incarnate'
284
+
285
+ # Lycanroc forms
286
+ if 'lycanroc' in name_lower:
287
+ if 'dusk' in name_lower:
288
+ return 'lycanroc-dusk'
289
+ elif 'midday' in name_lower:
290
+ return 'lycanroc-midday'
291
+ else:
292
+ return 'lycanroc-midnight'
293
+
294
+ # Magearna forms
295
+ if 'magearna' in name_lower:
296
+ if 'original' in name_lower:
297
+ return 'magearna-original'
298
+ else:
299
+ return 'magearna'
300
+
301
+ # Maushold forms
302
+ if 'maushold' in name_lower:
303
+ return 'maushold'
134
304
 
135
- if 'sinistcha' in name_lower:
136
- return 'sinistcha'
137
305
  if 'meowstic' in name_lower:
138
306
  if 'f' in name_lower:
139
307
  return 'meowstic-female'
140
308
  else:
141
309
  return 'meowstic-male'
142
-
310
+
143
311
  if 'meloetta' in name_lower:
144
312
  if 'aria' in name_lower:
145
313
  return 'meloetta-aria'
@@ -148,16 +316,88 @@ class PokemonNameNormalizer:
148
316
  else:
149
317
  return 'meloetta-aria'
150
318
 
151
- if 'sinistea' in name_lower:
152
- return 'sinistea'
319
+ # Mimikyu forms
320
+ if 'mimikyu' in name_lower:
321
+ if 'busted' in name_lower:
322
+ return 'mimikyu-busted'
323
+ else:
324
+ return 'mimikyu-disguised'
153
325
 
154
- if 'oinkologne' in name_lower:
326
+ # Minior forms
327
+ if 'minior' in name_lower:
328
+ if 'blue' in name_lower:
329
+ if 'meteor' in name_lower:
330
+ return 'minior-blue-meteor'
331
+ else:
332
+ return 'minior-blue'
333
+ elif 'green' in name_lower:
334
+ if 'meteor' in name_lower:
335
+ return 'minior-green-meteor'
336
+ else:
337
+ return 'minior-green'
338
+ elif 'indigo' in name_lower:
339
+ if 'meteor' in name_lower:
340
+ return 'minior-indigo-meteor'
341
+ else:
342
+ return 'minior-indigo'
343
+ elif 'orange' in name_lower:
344
+ if 'meteor' in name_lower:
345
+ return 'minior-orange-meteor'
346
+ else:
347
+ return 'minior-orange'
348
+ elif 'red' in name_lower:
349
+ if 'meteor' in name_lower:
350
+ return 'minior-red-meteor'
351
+ else:
352
+ return 'minior-red'
353
+ elif 'violet' in name_lower:
354
+ if 'meteor' in name_lower:
355
+ return 'minior-violet-meteor'
356
+ else:
357
+ return 'minior-violet'
358
+ elif 'yellow' in name_lower:
359
+ if 'meteor' in name_lower:
360
+ return 'minior-yellow-meteor'
361
+ else:
362
+ return 'minior-yellow'
363
+ else:
364
+ return 'minior-red'
365
+
366
+ # Miraidon forms
367
+ if 'miraidon' in name_lower:
368
+ if 'aquatic' in name_lower:
369
+ return 'miraidon-aquatic-mode'
370
+ elif 'drive' in name_lower:
371
+ return 'miraidon-drive-mode'
372
+ elif 'glide' in name_lower:
373
+ return 'miraidon-glide-mode'
374
+ elif 'low' in name_lower:
375
+ return 'miraidon-low-power-mode'
376
+ else:
377
+ return 'miraidon'
378
+
379
+ if 'morpeko' in name_lower:
380
+ if 'full-belly' in name_lower:
381
+ return 'morpeko-full-belly'
382
+ else:
383
+ return 'morpeko-hangry'
384
+
385
+ if 'necrozma' in name_lower:
386
+ if 'dawn' in name_lower:
387
+ return 'necrozma-dawn'
388
+ elif 'dusk' in name_lower:
389
+ return 'necrozma-dusk'
390
+ elif 'ultra' in name_lower:
391
+ return 'necrozma-ultra'
392
+ else:
393
+ return 'necrozma'
394
+
395
+ # Nidoran forms
396
+ if 'nidoran' in name_lower:
155
397
  if 'f' in name_lower:
156
- return 'oinkologne-female'
157
- elif 'm' in name_lower:
158
- return 'oinkologne-male'
398
+ return 'nidoran-f'
159
399
  else:
160
- return 'oinkologne-female'
400
+ return 'nidoran-m'
161
401
 
162
402
  # Ogerpon forms
163
403
  if 'ogerpon' in name_lower:
@@ -170,6 +410,134 @@ class PokemonNameNormalizer:
170
410
  else:
171
411
  return 'ogerpon'
172
412
 
413
+ if 'oinkologne' in name_lower:
414
+ if 'f' in name_lower:
415
+ return 'oinkologne-female'
416
+ elif 'm' in name_lower:
417
+ return 'oinkologne-male'
418
+ else:
419
+ return 'oinkologne-female'
420
+
421
+ #Oricorio forms
422
+ if 'oricorio' in name_lower:
423
+ if 'baile' in name_lower:
424
+ return 'oricorio-baile'
425
+ elif 'pa' in name_lower:
426
+ return 'oricorio-pau'
427
+ elif 'sensu' in name_lower:
428
+ return 'oricorio-sensu'
429
+ elif 'pom' in name_lower:
430
+ return 'oricorio-pom-pom'
431
+ else:
432
+ return 'oricorio-baile'
433
+
434
+ # Palafin forms
435
+ if 'palafin' in name_lower:
436
+ if 'hero' in name_lower:
437
+ return 'palafin-hero'
438
+ else:
439
+ return 'palafin-zero'
440
+
441
+ # Palkia forms
442
+ if 'palkia' in name_lower:
443
+ if 'origin' in name_lower:
444
+ return 'palkia-origin'
445
+ else:
446
+ return 'palkia'
447
+
448
+ # Pikachu forms
449
+ if 'pikachu' in name_lower:
450
+ if 'alola' in name_lower:
451
+ return 'pikachu-alola-cap'
452
+ elif 'belle' in name_lower:
453
+ return 'pikachu-belle'
454
+ elif 'cosplay' in name_lower:
455
+ return 'pikachu-cosplay'
456
+ elif 'hoenn' in name_lower:
457
+ return 'pikachu-hoenn-cap'
458
+ elif 'kalos' in name_lower:
459
+ return 'pikachu-kalos-cap'
460
+ elif 'libre' in name_lower:
461
+ return 'pikachu-libre'
462
+ elif 'original' in name_lower:
463
+ return 'pikachu-original-cap'
464
+ elif 'partner' in name_lower:
465
+ return 'pikachu-partner-cap'
466
+ elif 'phd' in name_lower:
467
+ return 'pikachu-phd'
468
+ elif 'pop' in name_lower:
469
+ return 'pikachu-pop-star'
470
+ elif 'rock' in name_lower:
471
+ return 'pikachu-rock-star'
472
+ elif 'sinnoh' in name_lower:
473
+ return 'pikachu-sinnoh-cap'
474
+ elif 'starter' in name_lower:
475
+ return 'pikachu-starter'
476
+ elif 'unova' in name_lower:
477
+ return 'pikachu-unova-cap'
478
+ elif 'world' in name_lower:
479
+ return 'pikachu-world-cap'
480
+ else:
481
+ return 'pikachu'
482
+
483
+ if 'polteageist' in name_lower:
484
+ return 'polteageist'
485
+
486
+ if 'poltchageist' in name_lower:
487
+ return 'poltchageist'
488
+
489
+ if 'porygon-z' in name_lower:
490
+ return 'porygon-z'
491
+
492
+ # Pumpkaboo forms
493
+ if 'pumpkaboo' in name_lower:
494
+ if 'large' in name_lower:
495
+ return 'pumpkaboo-large'
496
+ elif 'small' in name_lower:
497
+ return 'pumpkaboo-small'
498
+ elif 'super' in name_lower:
499
+ return 'pumpkaboo-super'
500
+ else:
501
+ return 'pumpkaboo-average'
502
+
503
+ # Rockruff forms
504
+ if 'rockruff' in name_lower:
505
+ if 'own' in name_lower:
506
+ return 'rockruff-own-tempo'
507
+ else:
508
+ return 'rockruff'
509
+
510
+ # Rotom forms
511
+ if 'rotom' in name_lower:
512
+ if 'fan' in name_lower:
513
+ return 'rotom-fan'
514
+ elif 'frost' in name_lower:
515
+ return 'rotom-frost'
516
+ elif 'heat' in name_lower:
517
+ return 'rotom-heat'
518
+ elif 'mow' in name_lower:
519
+ return 'rotom-mow'
520
+ elif 'wash' in name_lower:
521
+ return 'rotom-wash'
522
+ else:
523
+ return 'rotom'
524
+
525
+ if 'sawsbuck' in name_lower:
526
+ return 'sawsbuck'
527
+
528
+ # Shaymin forms
529
+ if 'shaymin' in name_lower:
530
+ if 'sky' in name_lower:
531
+ return 'shaymin-sky'
532
+ else:
533
+ return 'shaymin-land'
534
+
535
+ if 'sinistcha' in name_lower:
536
+ return 'sinistcha'
537
+
538
+ if 'sinistea' in name_lower:
539
+ return 'sinistea'
540
+
173
541
  # Squawkabilly forms
174
542
  if 'squawkabilly' in name_lower:
175
543
  if 'blue' in name_lower:
@@ -178,17 +546,24 @@ class PokemonNameNormalizer:
178
546
  return 'squawkabilly-red-plumage'
179
547
  elif 'white' in name_lower:
180
548
  return 'squawkabilly-white-plumage'
549
+ elif 'green' in name_lower:
550
+ return 'squawkabilly-green-plumage'
181
551
  else:
182
552
  return 'squawkabilly-white-plumage'
183
- if 'basculegion' in name_lower:
184
- if 'f' in name_lower:
185
- return 'basculegion-female'
186
- elif 'm' in name_lower:
187
- return 'basculegion-male'
553
+
554
+ # Tapu forms
555
+ if 'tapu' in name_lower:
556
+ if 'bulu' in name_lower:
557
+ return 'tapu-bulu'
558
+ elif 'fini' in name_lower:
559
+ return 'tapu-fini'
560
+ elif 'koko' in name_lower:
561
+ return 'tapu-koko'
562
+ elif 'lele' in name_lower:
563
+ return 'tapu-lele'
188
564
  else:
189
- return 'basculegion-female'
190
- if 'gastrodon' in name_lower:
191
- return 'gastrodon'
565
+ return 'tapu-koko'
566
+
192
567
  # Tauros Paldea forms
193
568
  if 'tauros' in name_lower and 'paldea' in name_lower:
194
569
  if 'blaze' in name_lower:
@@ -200,17 +575,113 @@ class PokemonNameNormalizer:
200
575
  else:
201
576
  return 'tauros-paldea-blaze-breed'
202
577
 
203
- # Arceus forms
204
- if 'arceus' in name_lower:
205
- return 'arceus'
578
+ # Tatsugiri forms
579
+ if 'tatsugiri' in name_lower:
580
+ if 'curly' in name_lower:
581
+ return 'tatsugiri-curly'
582
+ elif 'droopy' in name_lower:
583
+ return 'tatsugiri-droopy'
584
+ else:
585
+ return 'tatsugiri-stretchy'
206
586
 
207
- # Indeedee forms
208
- if 'indeedee' in name_lower:
209
- if 'f' in name_lower:
210
- return 'indeedee-female'
211
- elif 'm' in name_lower:
212
- return 'indeedee-male'
587
+ # Terapagos forms
588
+ if 'terapagos' in name_lower:
589
+ if 'stellar' in name_lower:
590
+ return 'terapagos-stellar'
591
+ elif 'terastal' in name_lower:
592
+ return 'terapagos-terastal'
213
593
  else:
214
- return 'indeedee-female'
594
+ return 'terapagos'
595
+
596
+ # Thundurus forms
597
+ if 'thundurus' in name_lower:
598
+ if 'therian' in name_lower:
599
+ return 'thundurus-therian'
600
+ else:
601
+ return 'thundurus-incarnate'
602
+
603
+ # Tornadus forms
604
+ if 'tornadus' in name_lower:
605
+ if 'therian' in name_lower:
606
+ return 'tornadus-therian'
607
+ else:
608
+ return 'tornadus-incarnate'
609
+
610
+ # Toxtricity forms
611
+ if 'toxtricity' in name_lower:
612
+ if 'amped' in name_lower:
613
+ return 'toxtricity-amped'
614
+ else:
615
+ return 'toxtricity-low-key'
616
+
617
+ if 'urshifu' in name_lower:
618
+ if 'single' in name_lower:
619
+ return 'urshifu-single-strike'
620
+ elif 'rapid' in name_lower:
621
+ return 'urshifu-rapid-strike'
622
+ else:
623
+ return 'urshifu-single-strike'
624
+
625
+ # Ursaluna forms
626
+ if 'ursaluna' in name_lower:
627
+ if 'bloodmoon' in name_lower:
628
+ return 'ursaluna-bloodmoon'
629
+ else:
630
+ return 'ursaluna'
631
+
632
+ if 'vivillon' in name_lower:
633
+ return 'vivillon'
634
+
635
+ # Wishiwashi forms
636
+ if 'wishiwashi' in name_lower:
637
+ if 'school' in name_lower:
638
+ return 'wishiwashi-school'
639
+ else:
640
+ return 'wishiwashi-solo'
641
+
642
+ # Wormadam forms
643
+ if 'wormadam' in name_lower:
644
+ if 'sandy' in name_lower:
645
+ return 'wormadam-sandy'
646
+ elif 'trash' in name_lower:
647
+ return 'wormadam-trash'
648
+ else:
649
+ return 'wormadam-plant'
650
+
651
+ if 'zacian' in name_lower:
652
+ if 'crowned' in name_lower:
653
+ return 'zacian-crowned'
654
+ else:
655
+ return 'zacian'
656
+
657
+ if 'zamazenta' in name_lower:
658
+ if 'crowned' in name_lower:
659
+ return 'zamazenta-crowned'
660
+ else:
661
+ return 'zamazenta'
662
+
663
+ # Zarude forms
664
+ if 'zarude' in name_lower:
665
+ if 'dada' in name_lower:
666
+ return 'zarude-dada'
667
+ else:
668
+ return 'zarude'
669
+
670
+ # Zygarde forms
671
+ if 'zygarde' in name_lower:
672
+ if 'complete' in name_lower:
673
+ return 'zygarde-complete'
674
+ elif '10' in name_lower:
675
+ if 'power' in name_lower:
676
+ return 'zygarde-10-power-construct'
677
+ else:
678
+ return 'zygarde-10'
679
+ elif '50' in name_lower:
680
+ if 'power' in name_lower:
681
+ return 'zygarde-50-power-construct'
682
+ else:
683
+ return 'zygarde-50'
684
+ else:
685
+ return 'zygarde-50'
215
686
 
216
687
  return name