fix sort for empty strings, fixes #167
This commit is contained in:
parent
18e15fbaf0
commit
9e7dcf75a8
3 changed files with 24 additions and 27 deletions
|
@ -187,6 +187,8 @@ class Item(db.Model):
|
|||
value = ox.sort_string(value).lower()
|
||||
elif isinstance(value, list): #empty list
|
||||
value = None
|
||||
if not value and sort_type != 'boolean':
|
||||
value = None
|
||||
if getattr(s, key['id']) != value:
|
||||
setattr(s, key['id'], value)
|
||||
update = True
|
||||
|
|
|
@ -101,4 +101,4 @@ USER_AGENT = 'OpenMediaLibrary/%s' % VERSION
|
|||
|
||||
DEBUG_HTTP = server.get('debug_http', False)
|
||||
|
||||
DB_VERSION = 5
|
||||
DB_VERSION = 6
|
||||
|
|
|
@ -295,16 +295,14 @@ class Update(Thread):
|
|||
db_version = settings.server.get('db_version', 0)
|
||||
if db_version < settings.DB_VERSION:
|
||||
self.status('Updating...')
|
||||
if db_version < 1:
|
||||
db_version = migrate_1()
|
||||
if db_version < 2:
|
||||
db_version = migrate_2()
|
||||
if db_version < 3:
|
||||
db_version = migrate_3()
|
||||
if db_version < 4:
|
||||
db_version = migrate_4()
|
||||
if db_version < 5:
|
||||
db_version = migrate_5()
|
||||
if db_version < 6:
|
||||
db_version = migrate_6()
|
||||
settings.server['db_version'] = settings.DB_VERSION
|
||||
|
||||
def run(self):
|
||||
|
@ -317,28 +315,6 @@ class Update(Thread):
|
|||
restart_oml()
|
||||
|
||||
|
||||
def migrate_1():
|
||||
with db.session() as session:
|
||||
import item.models
|
||||
for s in item.models.Sort.query.filter_by(author=''):
|
||||
s.item.update_sort()
|
||||
session.commit()
|
||||
return 1
|
||||
|
||||
def migrate_2():
|
||||
with db.session() as session:
|
||||
import item.models
|
||||
for s in item.models.Sort.query.filter_by(author=''):
|
||||
s.item.update_sort()
|
||||
for s in item.models.Sort.query.filter_by(publisher=''):
|
||||
s.item.update_sort()
|
||||
for s in item.models.Sort.query.filter_by(language=''):
|
||||
s.item.update_sort()
|
||||
for s in item.models.Sort.query.filter_by(place=''):
|
||||
s.item.update_sort()
|
||||
session.commit()
|
||||
return 2
|
||||
|
||||
def migrate_3():
|
||||
with db.session():
|
||||
import item.models
|
||||
|
@ -412,3 +388,22 @@ def migrate_5():
|
|||
for i in item.models.Item.query:
|
||||
i.sync_metadata()
|
||||
return 5
|
||||
|
||||
def migrate_6():
|
||||
with db.session() as session:
|
||||
import item.models
|
||||
for s in item.models.Sort.query.filter_by(author=''):
|
||||
s.item.update_sort()
|
||||
for s in item.models.Sort.query.filter_by(publisher=''):
|
||||
s.item.update_sort()
|
||||
for s in item.models.Sort.query.filter_by(language=''):
|
||||
s.item.update_sort()
|
||||
for s in item.models.Sort.query.filter_by(place=''):
|
||||
s.item.update_sort()
|
||||
for s in item.models.Sort.query.filter_by(isbn=''):
|
||||
s.item.update_sort()
|
||||
for s in item.models.Sort.query.filter_by(date=''):
|
||||
s.item.update_sort()
|
||||
session.commit()
|
||||
return 6
|
||||
|
||||
|
|
Loading…
Reference in a new issue