+ parser = get_parser(verbose=False)
+ options, _ = parser.parse_args(list(args))
+
+ options.directory = None
+
+ session = get_session(options)
+ get_csv_directory(options)
+ pokedex.db.load.load(session, directory=None, drop_tables=True,
+ verbose=options.verbose)
+
+ lookup = get_lookup(options, session=session, recreate=True)
+
+ print "Recreated lookup index."
+
+
+def command_status(*args):
+ parser = get_parser(verbose=True)
+ options, _ = parser.parse_args(list(args))
+ options.verbose = True
+ options.directory = None
+
+ # Database, and a lame check for whether it's been inited at least once
+ session = get_session(options)
+ print " - OK! Connected successfully."
+
+ if pokedex.db.tables.Pokemon.__table__.exists(session.bind):
+ print " - OK! Database seems to contain some data."
+ else:
+ print " - WARNING: Database appears to be empty."
+
+ # CSV; simple checks that the dir exists
+ csvdir = get_csv_directory(options)
+ if not os.path.exists(csvdir):
+ print " - ERROR: No such directory!"
+ elif not os.path.isdir(csvdir):
+ print " - ERROR: Not a directory!"
+ else:
+ print " - OK! Directory exists."
+
+ if os.access(csvdir, os.R_OK):
+ print " - OK! Can read from directory."
+ else:
+ print " - ERROR: Can't read from directory!"
+
+ if os.access(csvdir, os.W_OK):
+ print " - OK! Can write to directory."
+ else:
+ print " - WARNING: Can't write to directory! " \
+ "`dump` will not work. You may need to sudo."
+
+ # Index; the PokedexLookup constructor covers most tests and will
+ # cheerfully bomb if they fail
+ lookup = get_lookup(options, recreate=False)
+ print " - OK! Opened successfully."