1
0
mirror of https://github.com/janeczku/calibre-web synced 2024-11-24 10:37:23 +00:00
This commit is contained in:
Ozzieisaacs 2018-10-30 21:47:33 +01:00
parent 5fc742c9c4
commit ee85492c7d
2 changed files with 12 additions and 7 deletions

View File

@ -178,13 +178,18 @@ def get_valid_filename(value, replace_whitespace=True):
def get_sorted_author(value):
try:
regexes = ["^(JR|SR)\.?$", "^I{1,3}\.?$", "^IV\.?$"]
combined = "(" + ")|(".join(regexes) + ")"
value = value.split(" ")
if re.match(combined, value[-1].upper()):
value2 = value[-2] + ", " + " ".join(value[:-2]) + " " + value[-1]
if ',' not in value:
regexes = ["^(JR|SR)\.?$", "^I{1,3}\.?$", "^IV\.?$"]
combined = "(" + ")|(".join(regexes) + ")"
value = value.split(" ")
if re.match(combined, value[-1].upper()):
value2 = value[-2] + ", " + " ".join(value[:-2]) + " " + value[-1]
elif len(value) == 1:
value2 = value[0]
else:
value2 = value[-1] + ", " + " ".join(value[:-1])
else:
value2 = value[-1] + ", " + " ".join(value[:-1])
value2 = value
except Exception:
web.app.logger.error("Sorting author " + str(value) + "failed")
value2 = value

View File

@ -588,7 +588,7 @@ def modify_database_object(input_elements, db_book_object, db_object, db_session
# if no element is found add it
# if new_element is None:
if db_type == 'author':
new_element = db_object(add_element, add_element.replace('|', ','), "")
new_element = db_object(add_element, helper.get_sorted_author(add_element.replace('|', ',')), "")
elif db_type == 'series':
new_element = db_object(add_element, add_element)
elif db_type == 'custom':