Fix serializing of sets
This commit is contained in:
parent
28cbbbece7
commit
5a19eaf9a0
@ -144,27 +144,21 @@ class CoMet:
|
||||
md.series = utils.xlate(get("series"))
|
||||
md.title = utils.xlate(get("title"))
|
||||
md.issue = utils.xlate(get("issue"))
|
||||
md.volume = utils.xlate(get("volume"))
|
||||
md.volume = utils.xlate(get("volume"), True)
|
||||
md.comments = utils.xlate(get("description"))
|
||||
md.publisher = utils.xlate(get("publisher"))
|
||||
md.language = utils.xlate(get("language"))
|
||||
md.format = utils.xlate(get("format"))
|
||||
md.page_count = utils.xlate(get("pages"))
|
||||
md.page_count = utils.xlate(get("pages"), True)
|
||||
md.maturity_rating = utils.xlate(get("rating"))
|
||||
md.price = utils.xlate(get("price"))
|
||||
md.price = utils.xlate(get("price"), is_float=True)
|
||||
md.is_version_of = utils.xlate(get("isVersionOf"))
|
||||
md.rights = utils.xlate(get("rights"))
|
||||
md.identifier = utils.xlate(get("identifier"))
|
||||
md.last_mark = utils.xlate(get("lastMark"))
|
||||
md.genre = utils.xlate(get("genre")) # TODO - repeatable field
|
||||
|
||||
date = utils.xlate(get("date"))
|
||||
if date is not None:
|
||||
parts = date.split("-")
|
||||
if len(parts) > 0:
|
||||
md.year = parts[0]
|
||||
if len(parts) > 1:
|
||||
md.month = parts[1]
|
||||
_, md.month, md.year = utils.parse_date_str(utils.xlate(get("date")))
|
||||
|
||||
md.cover_image = utils.xlate(get("coverImage"))
|
||||
|
||||
|
@ -157,7 +157,7 @@ class ComicBookInfo:
|
||||
assign("country", utils.xlate(metadata.country))
|
||||
assign("rating", utils.xlate(metadata.critical_rating, True))
|
||||
assign("credits", metadata.credits)
|
||||
assign("tags", metadata.tags)
|
||||
assign("tags", list(metadata.tags))
|
||||
|
||||
return cbi_container
|
||||
|
||||
|
@ -35,6 +35,20 @@ class UtilsVars:
|
||||
already_fixed_encoding = False
|
||||
|
||||
|
||||
def parse_date_str(date_str: str) -> tuple[int | None, int | None, int | None]:
|
||||
day = None
|
||||
month = None
|
||||
year = None
|
||||
if date_str:
|
||||
parts = date_str.split("-")
|
||||
year = xlate(parts[0], True)
|
||||
if len(parts) > 1:
|
||||
month = xlate(parts[1], True)
|
||||
if len(parts) > 2:
|
||||
day = xlate(parts[2], True)
|
||||
return day, month, year
|
||||
|
||||
|
||||
def get_recursive_filelist(pathlist: list[str]) -> list[str]:
|
||||
"""Get a recursive list of of all files under all path items in the list"""
|
||||
|
||||
|
@ -121,17 +121,7 @@ class ComicVineTalker:
|
||||
self.log_func(text)
|
||||
|
||||
def parse_date_str(self, date_str: str) -> tuple[int | None, int | None, int | None]:
|
||||
day = None
|
||||
month = None
|
||||
year = None
|
||||
if date_str:
|
||||
parts = date_str.split("-")
|
||||
year = utils.xlate(parts[0], True)
|
||||
if len(parts) > 1:
|
||||
month = utils.xlate(parts[1], True)
|
||||
if len(parts) > 2:
|
||||
day = utils.xlate(parts[2], True)
|
||||
return day, month, year
|
||||
return utils.parse_date_str(date_str)
|
||||
|
||||
def test_key(self, key: str, url: str) -> bool:
|
||||
if not url:
|
||||
|
65
tests/metadata_test.py
Normal file
65
tests/metadata_test.py
Normal file
@ -0,0 +1,65 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import comicapi.comicbookinfo
|
||||
import comicapi.comicinfoxml
|
||||
import comicapi.genericmetadata
|
||||
|
||||
|
||||
def test_cix():
|
||||
CIX = comicapi.comicinfoxml.ComicInfoXml()
|
||||
string = CIX.string_from_metadata(comicapi.genericmetadata.md_test)
|
||||
md = CIX.metadata_from_string(string)
|
||||
assert md == comicapi.genericmetadata.md_test
|
||||
|
||||
|
||||
def test_cbi():
|
||||
CBI = comicapi.comicbookinfo.ComicBookInfo()
|
||||
string = CBI.string_from_metadata(comicapi.genericmetadata.md_test)
|
||||
md = CBI.metadata_from_string(string)
|
||||
md_test = comicapi.genericmetadata.md_test.replace(
|
||||
day=None,
|
||||
language="English",
|
||||
page_count=None,
|
||||
maturity_rating=None,
|
||||
story_arc=None,
|
||||
series_group=None,
|
||||
scan_info=None,
|
||||
characters=None,
|
||||
teams=None,
|
||||
locations=None,
|
||||
pages=[],
|
||||
alternate_series=None,
|
||||
alternate_number=None,
|
||||
alternate_count=None,
|
||||
imprint=None,
|
||||
notes=None,
|
||||
web_link=None,
|
||||
format=None,
|
||||
manga=None,
|
||||
)
|
||||
assert md == md_test
|
||||
|
||||
|
||||
def test_comet():
|
||||
CBI = comicapi.comet.CoMet()
|
||||
string = CBI.string_from_metadata(comicapi.genericmetadata.md_test)
|
||||
md = CBI.metadata_from_string(string)
|
||||
md_test = comicapi.genericmetadata.md_test.replace(
|
||||
day=None,
|
||||
story_arc=None,
|
||||
series_group=None,
|
||||
scan_info=None,
|
||||
teams=None,
|
||||
locations=None,
|
||||
pages=[],
|
||||
alternate_series=None,
|
||||
alternate_number=None,
|
||||
alternate_count=None,
|
||||
imprint=None,
|
||||
notes=None,
|
||||
web_link=None,
|
||||
manga=None,
|
||||
critical_rating=None,
|
||||
issue_count=None,
|
||||
)
|
||||
assert md == md_test
|
Loading…
x
Reference in New Issue
Block a user