Tweaked a couple of Pokédex descriptions.
[zzz-pokedex.git] / pokedex / __init__.py
index 1c28b06..499d8d2 100644 (file)
@@ -13,6 +13,11 @@ def main():
     command = sys.argv[1]
     args = sys.argv[2:]
 
     command = sys.argv[1]
     args = sys.argv[2:]
 
+    # XXX there must be a better way to get Unicode argv
+    # XXX this doesn't work on Windows durp
+    enc = sys.stdin.encoding or 'utf8'
+    args = [_.decode(enc) for _ in args]
+
     # Find the command as a function in this file
     func = globals().get("command_%s" % command, None)
     if func:
     # Find the command as a function in this file
     func = globals().get("command_%s" % command, None)
     if func:
@@ -49,18 +54,29 @@ def command_load(*args):
 def command_setup(*args):
     session = connect()
     pokedex.db.load.load(session, verbose=False, drop_tables=True)
 def command_setup(*args):
     session = connect()
     pokedex.db.load.load(session, verbose=False, drop_tables=True)
-    pokedex.lookup.open_index(session=session, recreate=True)
+    pokedex.lookup.PokedexLookup(session=session, recreate=True)
 
 
 def command_lookup(name):
 
 
 def command_lookup(name):
-    results, exact = pokedex.lookup.lookup(name)
-    if exact:
+    results = pokedex.lookup.PokedexLookup().lookup(name)
+    if not results:
+        print "No matches."
+    elif results[0].exact:
         print "Matched:"
     else:
         print "Fuzzy-matched:"
 
         print "Matched:"
     else:
         print "Fuzzy-matched:"
 
-    for object in results:
-        print object.__tablename__, object.name
+    for result in results:
+        if hasattr(result.object, 'full_name'):
+            name = result.object.full_name
+        else:
+            name = result.object.name
+
+        print "%s: %s" % (result.object.__tablename__, name),
+        if result.language:
+            print "(%s in %s)" % (result.name, result.language)
+        else:
+            print
 
 
 def command_help():
 
 
 def command_help():