from xsetbg_conf import xsetbg_conf
from xsetbg_db import recreate_db, SQLiteMassInsert
-fs_encoding = xsetbg_conf.get("images", "fs_encoding")
-dump_file = open(sys.argv[1], 'rU')
-xsetbg_db = recreate_db()
-
def convert_str(s):
if s == "None":
return int(float(s))
+fs_encoding = xsetbg_conf.get("images", "fs_encoding")
+dump_file = open(sys.argv[1], 'rU')
+xsetbg_db = recreate_db()
+count_new = count_old = 0
+
with SQLiteMassInsert() as txn:
for line in dump_file:
id, timestamp, filename = line.strip().split(None, 2)
id = convert_str(id)
timestamp = convert_str(timestamp)
- if fs_encoding != 'utf-8':
- filename = filename.decode(fs_encoding).encode('utf-8')
+ filename = filename.decode(fs_encoding)
try:
row = xsetbg_db.byFull_name(filename)
except SQLObjectNotFound:
- values = {'last_shown': timestamp, 'full_name': filename}
+ values = {'last_shown': timestamp,
+ 'full_name': filename.encode('utf-8')}
if id:
values['id'] = id
query = txn.sqlrepr(Insert(xsetbg_db.sqlmeta.table, values=values))
txn.query(query)
+ count_new += 1
else:
assert id is None or row.id == id
- assert row.last_shown == timestamp
+ if row.last_shown is not None:
+ assert row.last_shown == timestamp
+ count_old += 1
dump_file.close()
+
+print "New images:", count_new
+print "Existing images:", count_old