From 50c53e14da5180770b3db40b1bdf6e67f0822ba8 Mon Sep 17 00:00:00 2001 From: lordwelch Date: Sat, 7 Aug 2021 22:22:30 -0700 Subject: [PATCH] Add seriesYear attribute --- comicapi/comicbookinfo.py | 2 ++ comicapi/comicinfoxml.py | 2 ++ comicapi/genericmetadata.py | 3 +++ comictaggerlib/comicvinetalker.py | 5 +++-- comictaggerlib/taggerwindow.py | 5 +++++ comictaggerlib/ui/taggerwindow.ui | 10 ++++++++++ 6 files changed, 25 insertions(+), 2 deletions(-) diff --git a/comicapi/comicbookinfo.py b/comicapi/comicbookinfo.py index e55fac9..28fb1f4 100644 --- a/comicapi/comicbookinfo.py +++ b/comicapi/comicbookinfo.py @@ -40,6 +40,7 @@ class ComicBookInfo: metadata.publisher = utils.xlate(cbi['publisher']) metadata.month = utils.xlate(cbi['publicationMonth'], True) metadata.year = utils.xlate(cbi['publicationYear'], True) + metadata.seriesYear = utils.xlate('seriesPublicationYear', True) metadata.issueCount = utils.xlate(cbi['numberOfIssues'], True) metadata.comments = utils.xlate(cbi['comments']) metadata.genre = utils.xlate(cbi['genre']) @@ -106,6 +107,7 @@ class ComicBookInfo: assign('publisher', utils.xlate(metadata.publisher)) assign('publicationMonth', utils.xlate(metadata.month, True)) assign('publicationYear', utils.xlate(metadata.year, True)) + assign('seriesPublicationYear', utils.xlate(metadata.seriesYear, True)) assign('numberOfIssues', utils.xlate(metadata.issueCount, True)) assign('comments', utils.xlate(metadata.comments)) assign('genre', utils.xlate(metadata.genre)) diff --git a/comicapi/comicinfoxml.py b/comicapi/comicinfoxml.py index 5c38902..86e5d26 100644 --- a/comicapi/comicinfoxml.py +++ b/comicapi/comicinfoxml.py @@ -104,6 +104,7 @@ class ComicInfoXml: assign('Year', md.year) assign('Month', md.month) assign('Day', md.day) + assign('SeriesYear', md.seriesYear) # need to specially process the credits, since they are structured # differently than CIX @@ -228,6 +229,7 @@ class ComicInfoXml: md.year = utils.xlate(get('Year'), True) md.month = utils.xlate(get('Month'), True) md.day = utils.xlate(get('Day'), True) + md.seriesYear = utils.xlate(get('SeriesYear'), True) md.publisher = utils.xlate(get('Publisher')) md.imprint = utils.xlate(get('Imprint')) md.genre = utils.xlate(get('Genre')) diff --git a/comicapi/genericmetadata.py b/comicapi/genericmetadata.py index b3679a2..004349a 100644 --- a/comicapi/genericmetadata.py +++ b/comicapi/genericmetadata.py @@ -65,6 +65,7 @@ class GenericMetadata: self.issue = None self.title = None self.publisher = None + self.seriesYear = None self.month = None self.year = None self.day = None @@ -132,6 +133,7 @@ class GenericMetadata: assign("issueCount", new_md.issueCount) assign("title", new_md.title) assign("publisher", new_md.publisher) + assign("seriesYear", new_md.seriesYear) assign("day", new_md.day) assign("month", new_md.month) assign("year", new_md.year) @@ -263,6 +265,7 @@ class GenericMetadata: add_attr_string("issueCount") add_attr_string("title") add_attr_string("publisher") + add_attr_string("seriesYear") add_attr_string("year") add_attr_string("month") add_attr_string("day") diff --git a/comictaggerlib/comicvinetalker.py b/comictaggerlib/comicvinetalker.py index d2b7736..e90256d 100644 --- a/comictaggerlib/comicvinetalker.py +++ b/comictaggerlib/comicvinetalker.py @@ -505,11 +505,12 @@ class ComicVineTalker(QObject): metadata.publisher = utils.xlate(volume_results['publisher']['name']) metadata.day, metadata.month, metadata.year = self.parseDateStr(issue_results['cover_date']) - #metadata.issueCount = volume_results['count_of_issues'] + metadata.seriesYear = utils.xlate(volume_results['start_year']) + metadata.issueCount = utils.xlate(volume_results['count_of_issues']) metadata.comments = self.cleanup_html( issue_results['description'], settings.remove_html_tables) if settings.use_series_start_as_volume: - metadata.volume = volume_results['start_year'] + metadata.volume = utils.xlate(volume_results['start_year']) metadata.notes = "Tagged with ComicTagger {0} using info from Comic Vine on {1}. [Issue ID {2}]".format( ctversion.version, diff --git a/comictaggerlib/taggerwindow.py b/comictaggerlib/taggerwindow.py index be4ab8f..63af61d 100644 --- a/comictaggerlib/taggerwindow.py +++ b/comictaggerlib/taggerwindow.py @@ -187,6 +187,8 @@ class TaggerWindow(QtWidgets.QMainWindow): validator = QtGui.QIntValidator(1900, 2099, self) self.lePubYear.setValidator(validator) + self.leSeriesPubYear.setValidator(validator) + validator = QtGui.QIntValidator(1, 12, self) self.lePubMonth.setValidator(validator) @@ -780,6 +782,7 @@ class TaggerWindow(QtWidgets.QMainWindow): assignText(self.lePubMonth, md.month) assignText(self.lePubYear, md.year) assignText(self.lePubDay, md.day) + assignText(self.leSeriesPubYear, md.seriesYear) assignText(self.leGenre, md.genre) assignText(self.leImprint, md.imprint) assignText(self.teComments, md.comments) @@ -905,6 +908,7 @@ class TaggerWindow(QtWidgets.QMainWindow): md.month = utils.xlate(self.lePubMonth.text(), True) md.year = utils.xlate(self.lePubYear.text(), True) md.day = utils.xlate(self.lePubDay.text(), True) + md.seriesYear = utils.xlate(self.leSeriesPubYear.text(), "int") md.criticalRating = utils.xlate(self.leCriticalRating.text(), True) md.alternateCount = utils.xlate(self.leAltIssueCount.text(), True) @@ -958,6 +962,7 @@ class TaggerWindow(QtWidgets.QMainWindow): row += 1 md.pages = self.pageListEditor.getPageList() + self.metadata = md def useFilename(self): diff --git a/comictaggerlib/ui/taggerwindow.ui b/comictaggerlib/ui/taggerwindow.ui index d5fcc3b..cd77386 100644 --- a/comictaggerlib/ui/taggerwindow.ui +++ b/comictaggerlib/ui/taggerwindow.ui @@ -512,6 +512,16 @@ + + + + + + + Series Year + + +