def test_parser(self): # Check that we can parse an empty file. parsed_0 = bulk_tagging_form.parse_file(cStringIO.StringIO("")) self.assertEqual({}, parsed_0) # Check that we can parse a simple test form. parsed_1 = bulk_tagging_form.parse_file( cStringIO.StringIO(TEST_FORM_1)) self.assertEqual(EXPECTED_RESULTS_1, parsed_1)
def main(): db = database.Database("/home/trow/library/catalog.sqlite3_db") def new_txn(): # TODO(trow): Use a better /tmp directory. return import_transaction.ImportTransaction(db, 1, timestamp.now(), "/tmp/import", dry_run=False) # TODO(trow): Use a better prefix. TARGET = "/home/trow/prefix" SIZE_LIMIT = 0.95 * (4 << 30) # 95% of 4GB, our basic import size. txn = None dir_hash_map = load_dir_hash_map() form = bulk_tagging_form.parse_file( codecs.open("/home/trow/initial_import/form2.txt", "r", "utf-8")) verified = sorted( [x for x in form.iteritems() if x[1][0] == bulk_tagging_form.VERIFIED], key=lambda x: x[1]) for i, (dir_hash, val) in enumerate(verified): code = val[0] if code != bulk_tagging_form.VERIFIED: continue path = dir_hash_map[dir_hash].encode("utf-8") _, artist, talb = val sys.stderr.write("%d of %d\n" % (i, len(verified))) sys.stderr.write("%s\n" % path) sys.stderr.write("Artist: %s\n" % artist.encode("utf-8")) if not txn: txn = new_txn() txn.add_album_from_directory(path, new_album_name=talb) if txn.total_size_in_bytes > SIZE_LIMIT: txn.commit(TARGET) txn = None if txn: txn.commit(TARGET)
def main(): db = database.Database("/home/trow/library/catalog.sqlite3_db") def new_txn(): # TODO(trow): Use a better /tmp directory. return import_transaction.ImportTransaction(db, 1, timestamp.now(), "/tmp/import", dry_run=False) # TODO(trow): Use a better prefix. TARGET = "/home/trow/prefix" SIZE_LIMIT = 0.95 * (4 << 30) # 95% of 4GB, our basic import size. txn = None dir_hash_map = load_dir_hash_map() form = bulk_tagging_form.parse_file( codecs.open("/home/trow/initial_import/form2.txt", "r", "utf-8")) verified = sorted( [x for x in form.iteritems() if x[1][0] == bulk_tagging_form.VERIFIED], key = lambda x: x[1]) for i, (dir_hash, val) in enumerate(verified): code = val[0] if code != bulk_tagging_form.VERIFIED: continue path = dir_hash_map[dir_hash].encode("utf-8") _, artist, talb = val sys.stderr.write("%d of %d\n" % (i, len(verified))) sys.stderr.write("%s\n" % path) sys.stderr.write("Artist: %s\n" % artist.encode("utf-8")) if not txn: txn = new_txn() txn.add_album_from_directory(path, new_album_name=talb) if txn.total_size_in_bytes > SIZE_LIMIT: txn.commit(TARGET) txn = None if txn: txn.commit(TARGET)