X-Git-Url: http://git.veekun.com/zzz-pokedex.git/blobdiff_plain/4fe48baffb5156027c6d186308998412554a6906..a3572776c92396e42063fecc0fd63fae25480e95:/pokedex/__init__.py diff --git a/pokedex/__init__.py b/pokedex/__init__.py index 89ad673..8437ce4 100644 --- a/pokedex/__init__.py +++ b/pokedex/__init__.py @@ -15,14 +15,14 @@ def main(): args = sys.argv[2:] # Find the command as a function in this file - func = globals().get(command, None) - if func and callable(func) and command != 'main': + func = globals().get("command_%s" % command, None) + if func: func(*args) else: - help() + command_help() -def csvimport(engine_uri, directory='.'): +def command_csvimport(engine_uri, directory='.'): import csv from sqlalchemy.orm.attributes import instrumentation_registry @@ -129,7 +129,7 @@ def csvimport(engine_uri, directory='.'): else: print 'loaded' -def csvexport(engine_uri, directory='.'): +def command_csvexport(engine_uri, directory='.'): import csv session = connect(engine_uri) @@ -142,7 +142,8 @@ def csvexport(engine_uri, directory='.'): columns = [col.name for col in table.columns] writer.writerow(columns) - for row in session.query(table).all(): + primary_key = table.primary_key + for row in session.query(table).order_by(*primary_key).all(): csvs = [] for col in columns: # Convert Pythony values to something more universal @@ -160,7 +161,7 @@ def csvexport(engine_uri, directory='.'): writer.writerow(csvs) -def lookup(engine_uri, name): +def command_lookup(engine_uri, name): # XXX don't require uri! somehow session = connect(engine_uri) @@ -174,7 +175,7 @@ def lookup(engine_uri, name): print object.__tablename__, object.name -def help(): +def command_help(): print u"""pokedex -- a command-line Pokédex interface help Displays this message.