Fixes getting isbn for librarything imports

This commit is contained in:
Mouse Reeve
2021-11-13 12:46:27 -08:00
parent fb91c33682
commit 7f06ee3844
3 changed files with 10 additions and 5 deletions

View File

@ -25,7 +25,7 @@ class Importer:
("title", ["title"]),
("authors", ["author", "authors", "primary author"]),
("isbn_10", ["isbn10", "isbn"]),
("isbn_13", ["isbn13", "isbn"]),
("isbn_13", ["isbn13", "isbn", "isbns"]),
("shelf", ["shelf", "exclusive shelf", "read status"]),
("review_name", ["review name"]),
("review_body", ["my review", "review"]),

View File

@ -12,10 +12,12 @@ class LibrarythingImporter(Importer):
def normalize_row(self, entry, mappings): # pylint: disable=no-self-use
"""use the dataclass to create the formatted row of data"""
normalized = {k: entry.get(v) for k, v in mappings.items()}
for date_field in self.date_fields:
date = normalized[date_field]
normalized[date_field] = re.sub(r"\[|\]", "", date)
remove_brackets = lambda v: re.sub(r"\[|\]", "", v) if v else None
normalized = {
k: remove_brackets(entry.get(v)) for k, v in mappings.items()
}
isbn_13 = normalized["isbn_13"].split(', ')
normalized["isbn_13"] = isbn_13[1] if len(isbn_13) > 0 else None
return normalized
def get_shelf(self, normalized_row):