From 67788f2a04a04a36f02b0cc66cd5f9eee8f0a948 Mon Sep 17 00:00:00 2001 From: j Date: Sun, 1 Mar 2015 13:19:59 +0530 Subject: [PATCH] remotemetadata cleanup - dont overwrite metadata if lookup does not return anything - make find fail without error --- oml/item/models.py | 5 +++-- oml/metaremote.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/oml/item/models.py b/oml/item/models.py index b58fca6..31052be 100644 --- a/oml/item/models.py +++ b/oml/item/models.py @@ -321,8 +321,9 @@ class Item(db.Model): logger.debug('scrape %s', primaryid) if primaryid: m = meta.lookup(*primaryid) - m['primaryid'] = primaryid - self.meta = m + if m: + m['primaryid'] = primaryid + self.meta = m self.update() def queue_download(self): diff --git a/oml/metaremote.py b/oml/metaremote.py index b0fdfce..0bd586f 100644 --- a/oml/metaremote.py +++ b/oml/metaremote.py @@ -23,7 +23,7 @@ def request(action, data): def find(query): logger.debug('find %s', query) - return request('findMetadata', {'query': query})['items'] + return request('findMetadata', {'query': query}).get('items', []) def lookup(key, value): logger.debug('lookup %s %s', key, value)