diff --git a/oml/db.py b/oml/db.py index c2b19ad..01f2574 100644 --- a/oml/db.py +++ b/oml/db.py @@ -116,7 +116,7 @@ def drop_columns(table, columns): } create_table = get_create_table(table) for column in columns: - create_table = re.sub('(%s .*?,)' % column, '', create_table) + create_table = re.sub('(%s .*?,)'%column, '', create_table) create_table = create_table.replace('\n', '').replace(',', ',\n') create_table = re.sub('\n *', '\n ', create_table).replace('( ', '(\n ') sql = [ diff --git a/oml/item/api.py b/oml/item/api.py index 0fd7a6a..6bd441c 100644 --- a/oml/item/api.py +++ b/oml/item/api.py @@ -9,7 +9,7 @@ from sqlalchemy.sql.expression import text from sqlalchemy import func from oxtornado import actions -import utils # utils must be imported before websocket to avoid loop +import utils #utils must be imported before websocket to avoid loop from websocket import trigger_event import meta from . import models diff --git a/oml/item/scan.py b/oml/item/scan.py index 950c2fd..632da9c 100644 --- a/oml/item/scan.py +++ b/oml/item/scan.py @@ -132,57 +132,21 @@ def run_scan(): prefix = get_prefix() books = collect_books(prefix) remove_missing(books) - ids = set() added = 0 - with db.session(): - user = state.user() for f in ox.sorted_strings(books): if state.shutdown: break if os.path.exists(f): id = media.get_id(f) file = File.get(id) - if id in ids: - logger.debug('file exists in multiple locations %s', id) - if file: - f1 = file.fullpath() - f2 = os.path.join(prefix, f) - if f1 != f2 and os.path.exists(f1) and os.path.exists(f2): - logger.debug('"%s" vs "%s"', f1, f2) - else: - ids.add(id) - if not file: file = add_file(id, f, prefix, f) added += 1 - elif user not in file.item.users: - item = file.item - item.add_user(user) - logger.debug('add %s to local user', id) - add_record('additem', item.id, file.info) - add_record('edititem', item.id, item.meta) - item.update() - added += 1 - library_items = len(user.library.items) if added: trigger_event('change', {}) logger.debug('imported %s unknown books', added) - if len(ids) != len(books): - logger.debug('number of books %s vs number of ids %s', len(books), len(ids)) - if library_items != len(books): - logger.debug('number of books %s vs number of items in library %s', len(books), library_items) - library_items = set([str(i) for i in user.library.items]) - gone = library_items - ids - if gone: - logger.debug('cleaning up %s deleted records', len(gone)) - for id in gone: - i = Item.get(id) - i.remove_file() - missing = ids - library_items - if missing: - logger.debug('%s items in library without a record', len(missing)) def change_path(old, new): new_books = os.path.join(new, 'Books') diff --git a/oml/library.py b/oml/library.py index d61398f..5590944 100644 --- a/oml/library.py +++ b/oml/library.py @@ -93,7 +93,7 @@ class Peer(object): elif action == 'edititem': itemid, meta = args item = self.library.get(itemid, {}) - if 'meta' not in item: + if not 'meta' in item: item['meta'] = meta else: item['meta'].update(meta) @@ -111,7 +111,7 @@ class Peer(object): name = args[0] if len(args) > 1: query = args[1] - if name not in self.info['lists']: + if not name in self.info['lists']: self.info['lists'][name] = [] elif action == 'editlist': name, new = args @@ -127,7 +127,7 @@ class Peer(object): del self.info['lists'][name] elif action == 'addlistitems': name, ids = args - if name not in self.info['lists']: + if not name in self.info['lists']: self.info['lists'][name] = [] self.info['lists'][name] = list(set(self.info['lists'][name]) | set(ids)) elif action == 'removelistitems': @@ -141,14 +141,14 @@ class Peer(object): # fixme, just trigger peer update here from user.models import User peer = User.get_or_create(peerid) - if 'username' not in peer.info: + if not 'username' in peer.info: peer.info['username'] = username peer.update_name() peer.save() elif action == 'editpeer': peerid, data = args if len(peerid) == 16: - if peerid not in self.info['peers']: + if not peerid in self.info['peers']: self.info['peers'][peerid] = {} for key in ('username', 'contact'): if key in data: diff --git a/oml/nodes.py b/oml/nodes.py index d16b402..ab6fc46 100644 --- a/oml/nodes.py +++ b/oml/nodes.py @@ -567,7 +567,7 @@ class Nodes(Thread): node.join() if self.local: self.local.close() - return super().join(1) + return Thread.join(self) def publish_node(): update_online() diff --git a/oml/pdict.py b/oml/pdict.py index a648d24..bd20b3e 100644 --- a/oml/pdict.py +++ b/oml/pdict.py @@ -21,7 +21,7 @@ class pdict(dict): json.dump(self, fd, indent=4, sort_keys=True, ensure_ascii=False) def get(self, key, default=None): - if default is None and self._defaults: + if default == None and self._defaults: default = self._defaults.get(key) return dict.get(self, key, default)