X-Git-Url: https://git.phdru.name/?p=xsetbg.git;a=blobdiff_plain;f=xsetbg_db.py;h=406ca9609809caf9c77714a2b66e3091f0af7425;hp=71055c0df12e566d5ccf42a9cb8fea6764901aa4;hb=HEAD;hpb=ed51875bac3a29648ad05b388c8bbf3bb3b886fe diff --git a/xsetbg_db.py b/xsetbg_db.py index 71055c0..ba5ab6c 100755 --- a/xsetbg_db.py +++ b/xsetbg_db.py @@ -1,30 +1,28 @@ -#! /usr/bin/env python +#! /usr/bin/env python3 """XSetBg database """ -__author__ = "Oleg Broytman " -__copyright__ = "Copyright (C) 2014, 2015 PhiloSoft Design" -__license__ = "GNU GPL" - -__all__ = ['xsetbg_db_path', 'xsetbg_db'] - import os from sqlobject import SQLObject, connectionForURI, sqlhub, \ UnicodeCol, IntCol, BoolCol, DatabaseIndex, dberrors from xsetbg_conf import xsetbg_conf +__all__ = ['xsetbg_db_path', 'xsetbg_db'] + # octal; -rw-------; make the database file(s) readable only by the user -os.umask(0066) +os.umask(0o066) class XSetBg(SQLObject): full_name = UnicodeCol(alternateID=True) last_shown = IntCol(default=None) # timestamp flag = BoolCol(default=None) + is_image = BoolCol(default=None) last_shown_idx = DatabaseIndex('last_shown') flag_idx = DatabaseIndex('flag') + is_image_idx = DatabaseIndex('is_image') def recreate_db(): @@ -51,15 +49,16 @@ class SQLiteMassInsert(object): return txn def __exit__(self, *args, **kw): - sqlhub.processConnection.commit() + sqlhub.processConnection.commit(close=True) connection = sqlhub.processConnection = self.connection - connection.query("VACUUM %s" % xsetbg_db.sqlmeta.table) + connection.query("VACUUM") + connection.close() db_dirs = [] try: xsetbg_db_path = xsetbg_conf.get('xsetbg', 'database') -except: +except Exception: xsetbg_db_path = None if not xsetbg_db_path: @@ -90,5 +89,5 @@ else: xsetbg_db = None if __name__ == '__main__': - print "DB dirs:", db_dirs - print "DB file:", xsetbg_db_path + print("DB dirs:", db_dirs) + print("DB file:", xsetbg_db_path)