diff options
author | Michele Simionato <michele.simionato@gmail.com> | 2014-07-29 11:57:01 +0200 |
---|---|---|
committer | Michele Simionato <michele.simionato@gmail.com> | 2014-07-29 11:57:01 +0200 |
commit | 807443ef3d043565a00ba475aa8d132006304b77 (patch) | |
tree | e8e2b4a22bc75da4c67c708e91185f2610eeacc7 /sqlplain/doc/book_importer.py | |
parent | 90ecdcfcdb3fb64d6f5db609a97d9c18d54652ee (diff) | |
download | micheles-master.tar.gz |
Diffstat (limited to 'sqlplain/doc/book_importer.py')
-rw-r--r-- | sqlplain/doc/book_importer.py | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/sqlplain/doc/book_importer.py b/sqlplain/doc/book_importer.py deleted file mode 100644 index 66e39a1..0000000 --- a/sqlplain/doc/book_importer.py +++ /dev/null @@ -1,46 +0,0 @@ -import re, csv, itertools -from sqlplain.namedtuple import namedtuple - -class BookImporter(object): - - # format of the CSV files to be imported - BOOKFILE = re.compile('books(\d\d).csv') - Book = namedtuple('title author genre nation date') - - def __init__(self, db): - self.db = db - self.bookid = KTable(db, 'bookid') - self.book = KTable(db, 'book') - self.score = dict(KTable(db, 'score')) - self.genre = KTable(db, 'genre') - self.nation = KTable(db, 'nation') - self.counter = itertools.count(1) - - def import_books(self, books): - for b in books: - self.bookid.insert_row( - id = self.counter.next(), - title = b.title, - author = b.author, - rdate = b.date) - self.book.insert_row( - id = id, - genre = b.genre, - nation = b.nation, - score = self.scoredic[b.score]) - - def import_all(self, dirname=None): - dirname = dirname or self.db.uri.scriptdir - for fname in os.listdir(dirname): - mo = self.BOOKFILE.match(fname) - f = file(os.path.join(dirname, fname)) - if mo: - books = map(self.Book, csv.reader(f)) - f.close() - self.import_books(books) - - -if __name__ == '__main__': - db = connect('bookdb') - imp = BookImporter(db) - imp.import_all() |