X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=reload_db.py;h=fe25e864781546343bd97233a1c87786913c161d;hb=829a09494a1675180999fea2f675508e832489c4;hp=ff1c3a697386c344c1a94937714ffd05d11fa93b;hpb=d6edab4a0f2b32288b355269da94813007c6ba00;p=xsetbg.git diff --git a/reload_db.py b/reload_db.py index ff1c3a6..fe25e86 100755 --- a/reload_db.py +++ b/reload_db.py @@ -19,10 +19,10 @@ def convert_str(s): return int(float(s)) -fs_encoding = xsetbg_conf.get("images", "fs_encoding") dump_file = open(sys.argv[1], 'r') xsetbg_db = recreate_db() -count_new = count_old = 0 +count_new = count_old = count_updated = 0 +fs_encoding = xsetbg_conf.get("images", "fs_encoding") with SQLiteMassInsert() as txn: for line in dump_file: @@ -31,7 +31,10 @@ with SQLiteMassInsert() as txn: timestamp = convert_str(timestamp) filename = filename.decode(fs_encoding) try: - row = xsetbg_db.byFull_name(filename) + if id: + row = xsetbg_db.get(id) + else: + row = xsetbg_db.byFull_name(filename) except SQLObjectNotFound: values = {'last_shown': timestamp, 'full_name': filename.encode('utf-8')} @@ -44,9 +47,14 @@ with SQLiteMassInsert() as txn: assert id is None or row.id == id if row.last_shown is not None: assert row.last_shown == timestamp - count_old += 1 + if row.full_name == filename: + count_old += 1 + else: + row.full_name = filename + count_updated += 1 dump_file.close() print "New images:", count_new print "Existing images:", count_old +print "Updated images:", count_updated