mirror of
https://github.com/veekun/pokedex.git
synced 2024-08-20 18:16:34 +00:00
Made csvimport somewhat tolerant of load errors.
It used to abruptly abort if a csv file were missing, which wasn't very nice when I'd just added a new table definition and was trying to reload everything else. Now it prints a status per table while loading, and will declare missing tables to be... missing.
This commit is contained in:
parent
9f6f210fa5
commit
d9a2d96ede
1 changed files with 11 additions and 2 deletions
|
@ -42,9 +42,17 @@ def csvimport(engine_uri, dir='.'):
|
||||||
for table in sorted(instrumentation_registry.manager_finders.keys(),
|
for table in sorted(instrumentation_registry.manager_finders.keys(),
|
||||||
key=lambda self: self.__table__.name):
|
key=lambda self: self.__table__.name):
|
||||||
table_name = table.__table__.name
|
table_name = table.__table__.name
|
||||||
print table_name
|
# Print the table name but leave the cursor in a fixed column
|
||||||
|
print table_name + '...', ' ' * (40 - len(table_name)),
|
||||||
|
|
||||||
reader = csv.reader(open("%s/%s.csv" % (dir, table_name), 'rb'), lineterminator='\n')
|
try:
|
||||||
|
csvfile = open("%s/%s.csv" % (dir, table_name), 'rb')
|
||||||
|
except IOError:
|
||||||
|
# File doesn't exist; don't load anything!
|
||||||
|
print 'no data!'
|
||||||
|
continue
|
||||||
|
|
||||||
|
reader = csv.reader(csvfile, lineterminator='\n')
|
||||||
column_names = [unicode(column) for column in reader.next()]
|
column_names = [unicode(column) for column in reader.next()]
|
||||||
|
|
||||||
for csvs in reader:
|
for csvs in reader:
|
||||||
|
@ -71,6 +79,7 @@ def csvimport(engine_uri, dir='.'):
|
||||||
session.add(row)
|
session.add(row)
|
||||||
|
|
||||||
session.commit()
|
session.commit()
|
||||||
|
print 'loaded'
|
||||||
|
|
||||||
# Shouldn't matter since this is usually the end of the program and thus
|
# Shouldn't matter since this is usually the end of the program and thus
|
||||||
# the connection too, but let's change this back just in case
|
# the connection too, but let's change this back just in case
|
||||||
|
|
Loading…
Reference in a new issue