From 1efe02c87cc11c6cb463c0ad8ccdfd72634f0d8b Mon Sep 17 00:00:00 2001 From: j Date: Wed, 13 Jan 2016 10:11:31 +0530 Subject: [PATCH] avoid [''] --- oml/item/api.py | 4 ++-- oml/media/__init__.py | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/oml/item/api.py b/oml/item/api.py index 101cc27..5155e20 100644 --- a/oml/item/api.py +++ b/oml/item/api.py @@ -251,7 +251,7 @@ def findMetadata(data): j = items[m.data_hash] for key in [k['id'] for k in settings.config['itemKeys'] if isinstance(k['type'], list)]: if key in j and not isinstance(j[key], list): - j[key] = [j[key]] + j[key] = [j[key]] if j[key] else [] else: items[m.data_hash]['users'].append(m.user_id) response['items'] = list(items.values()) @@ -279,7 +279,7 @@ def getMetadata(data): response.update(models.Metadata.load(key, value)) for key in [k['id'] for k in settings.config['itemKeys'] if isinstance(k['type'], list)]: if key in response and not isinstance(response[key], list): - response[key] = [response[key]] + response[key] = [response[key]] if response[key] else [] return response actions.register(getMetadata) diff --git a/oml/media/__init__.py b/oml/media/__init__.py index 0cc89ee..a6a2608 100644 --- a/oml/media/__init__.py +++ b/oml/media/__init__.py @@ -16,6 +16,7 @@ from . import txt from . import opf from meta.utils import decode_html_data, to_isbn13 +import settings def get_id(f=None, data=None): if data: @@ -106,5 +107,11 @@ def metadata(f, from_=None): if not data['title'].strip(): del data['title'] data = decode_html_data(data) + for key in list(data): + if not data[key]: + del data[key] + for key in [k['id'] for k in settings.config['itemKeys'] if isinstance(k['type'], list)]: + if key in data and not isinstance(data[key], list): + data[key] = [data[key]] if data[key] else [] return data