diff --git a/comictagger.py b/comictagger.py index b5dc014..e2b4502 100755 --- a/comictagger.py +++ b/comictagger.py @@ -66,7 +66,7 @@ def actual_issue_data_fetch( match, settings ): # now get the particular issue data try: - cv_md = ComicVineTalker().fetchIssueData( match['volume_id'], match['issue_number'], settings.assume_lone_credit_is_primary ) + cv_md = ComicVineTalker().fetchIssueData( match['volume_id'], match['issue_number'], settings ) except ComicVineTalkerException: print "Network error while getting issue details. Save aborted" return None diff --git a/comicvinecacher.py b/comicvinecacher.py index 8bd10d3..27c60bb 100644 --- a/comicvinecacher.py +++ b/comicvinecacher.py @@ -68,6 +68,7 @@ class ComicVineCacher: "name TEXT," + "publisher TEXT," + "count_of_issues INT," + + "start_year INT," + "timestamp DATE DEFAULT (datetime('now','localtime')), " + "PRIMARY KEY (id) )" ) @@ -178,6 +179,7 @@ class ComicVineCacher: "name": cv_volume_record['name'], "publisher": pub_name, "count_of_issues": cv_volume_record['count_of_issues'], + "start_year": cv_volume_record['start_year'], "timestamp": timestamp } self.upsert( cur, "volumes", "id", cv_volume_record['id'], data) @@ -212,7 +214,7 @@ class ComicVineCacher: cur.execute( "DELETE FROM Issues WHERE timestamp < ?", [ str(a_month_ago) ] ) # fetch - cur.execute("SELECT id,name,publisher,count_of_issues FROM Volumes WHERE id = ?", [ volume_id ] ) + cur.execute("SELECT id,name,publisher,count_of_issues,start_year FROM Volumes WHERE id = ?", [ volume_id ] ) row = cur.fetchone() @@ -227,6 +229,7 @@ class ComicVineCacher: result['publisher'] = dict() result['publisher']['name'] = row[2] result['count_of_issues'] = row[3] + result['start_year'] = row[4] result['issues'] = list() cur.execute("SELECT id,name,issue_number,image_url,image_hash FROM Issues WHERE volume_id = ?", [ volume_id ] ) diff --git a/comicvinetalker.py b/comicvinetalker.py index 23de2c0..cffd5c9 100644 --- a/comicvinetalker.py +++ b/comicvinetalker.py @@ -176,7 +176,7 @@ class ComicVineTalker(QObject): return volume_results - def fetchIssueData( self, series_id, issue_number, assumeLoneCreditIsPrimary = False ): + def fetchIssueData( self, series_id, issue_number, settings ): volume_results = self.fetchVolumeData( series_id ) @@ -213,7 +213,9 @@ class ComicVineTalker(QObject): metadata.year = issue_results['publish_year'] #metadata.issueCount = volume_results['count_of_issues'] metadata.comments = self.cleanup_html(issue_results['description']) - + if settings.use_series_start_as_volume: + metadata.volume = volume_results['start_year'] + metadata.notes = "Tagged with ComicTagger app using info from Comic Vine." #metadata.notes += issue_results['site_detail_url'] @@ -226,7 +228,7 @@ class ComicVineTalker(QObject): role_name = role['role'].title() metadata.addCredit( person['name'], role['role'].title(), False ) - if assumeLoneCreditIsPrimary: + if settings.assume_lone_credit_is_primary: def setLonePrimary( role ): lone_credit = None count = 0 diff --git a/taggerwindow.py b/taggerwindow.py index 6d09548..3b79a57 100644 --- a/taggerwindow.py +++ b/taggerwindow.py @@ -864,7 +864,7 @@ class TaggerWindow( QtGui.QMainWindow): try: comicVine = ComicVineTalker( ) - new_metadata = comicVine.fetchIssueData( selector.volume_id, selector.issue_number, self.settings.assume_lone_credit_is_primary ) + new_metadata = comicVine.fetchIssueData( selector.volume_id, selector.issue_number, self.settings ) except ComicVineTalkerException: QtGui.QApplication.restoreOverrideCursor() QtGui.QMessageBox.critical(self, self.tr("Network Issue"), self.tr("Could not connect to ComicVine to get issue details!"))