Make lookup index respect the moved names
authorPetr Viktorin <encukou@gmail.com>
Fri, 4 Feb 2011 04:25:23 +0000 (06:25 +0200)
committerEevee <git@veekun.com>
Sun, 13 Mar 2011 22:10:11 +0000 (15:10 -0700)
pokedex/lookup.py

index 8c90950..1b99065 100644 (file)
@@ -222,25 +222,24 @@ class PokedexLookup(object):
                         add(row.pokemon_name, None, u'en', u'us')
                     continue
 
-                add(row.name, None, u'en', u'us')
-
                 # Some things also have other languages' names
                 # XXX other language form names..?
-                for foreign_name in getattr(row, 'foreign_names', []):
-                    moonspeak = foreign_name.name
-                    if row.name == moonspeak:
-                        # Don't add the English name again as a different
+                seen = set()
+                for language, name in getattr(row, 'names', []).items():
+                    if name in seen:
+                        # Don't add the name again as a different
                         # language; no point and it makes spell results
                         # confusing
                         continue
+                    seen.add(name)
 
-                    add(moonspeak, foreign_name.language.name,
-                                   foreign_name.language.iso639,
-                                   foreign_name.language.iso3166)
+                    add(name, language.name,
+                              language.iso639,
+                              language.iso3166)
 
                     # Add Roomaji too
-                    if foreign_name.language.name == 'Japanese':
-                        roomaji = romanize(foreign_name.name)
+                    if language.identifier == 'ja':
+                        roomaji = romanize(name)
                         add(roomaji, u'Roomaji', u'ja', u'jp')
 
         writer.commit()