Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-fanficfare for openSUSE:Factory checked in at 2023-01-02 15:02:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-fanficfare (Old) and /work/SRC/openSUSE:Factory/.python-fanficfare.new.1563 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-fanficfare" Mon Jan 2 15:02:17 2023 rev:46 rq:1046102 version:4.19.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-fanficfare/python-fanficfare.changes 2022-11-22 16:10:48.958222689 +0100 +++ /work/SRC/openSUSE:Factory/.python-fanficfare.new.1563/python-fanficfare.changes 2023-01-02 15:02:20.969412023 +0100 @@ -1,0 +2,10 @@ +Mon Jan 2 07:40:26 UTC 2023 - Matej Cepl <mc...@suse.com> + +- Update to 4.19.0: + - Fixes for config base_xenforo options + - Fix for adapter_quotevcom status + - Equalize ok/cancel buttons on user/pass & email pass dialogs + - adapter_ficbooknet: Site change for status + remove debug + - Tweak for adapter_storiesonlinenet description parsing + +------------------------------------------------------------------- Old: ---- FanFicFare-4.18.0.tar.gz New: ---- FanFicFare-4.19.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-fanficfare.spec ++++++ --- /var/tmp/diff_new_pack.1G4NS4/_old 2023-01-02 15:02:21.509415057 +0100 +++ /var/tmp/diff_new_pack.1G4NS4/_new 2023-01-02 15:02:21.513415080 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-fanficfare # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,9 +19,8 @@ %define modname FanFicFare %define modnamedown fanficfare %define skip_python2 1 -%{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-fanficfare -Version: 4.18.0 +Version: 4.19.0 Release: 0 Summary: Tool for making eBooks from stories on fanfiction and other web sites License: GPL-3.0-only ++++++ FanFicFare-4.18.0.tar.gz -> FanFicFare-4.19.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FanFicFare-4.18.0/calibre-plugin/__init__.py new/FanFicFare-4.19.0/calibre-plugin/__init__.py --- old/FanFicFare-4.18.0/calibre-plugin/__init__.py 2022-11-22 02:04:53.000000000 +0100 +++ new/FanFicFare-4.19.0/calibre-plugin/__init__.py 2023-01-01 20:00:04.000000000 +0100 @@ -33,7 +33,7 @@ from calibre.customize import InterfaceActionBase # pulled out from FanFicFareBase for saving in prefs.py -__version__ = (4, 18, 0) +__version__ = (4, 19, 0) ## Apparently the name for this class doesn't matter--it was still ## 'demo' for the first few versions. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FanFicFare-4.18.0/calibre-plugin/dialogs.py new/FanFicFare-4.19.0/calibre-plugin/dialogs.py --- old/FanFicFare-4.18.0/calibre-plugin/dialogs.py 2022-11-22 02:04:53.000000000 +0100 +++ new/FanFicFare-4.19.0/calibre-plugin/dialogs.py 2023-01-01 20:00:04.000000000 +0100 @@ -573,35 +573,41 @@ QDialog.__init__(self, gui) self.status=False - self.l = QGridLayout() + self.l = QVBoxLayout() self.setLayout(self.l) + grid = QGridLayout() + self.l.addLayout(grid) + if exception and exception.passwdonly: self.setWindowTitle(_('Password')) - self.l.addWidget(QLabel(_("Author requires a password for this story(%s).")%exception.url),0,0,1,2) + grid.addWidget(QLabel(_("Author requires a password for this story(%s).")%exception.url),0,0,1,2) # user isn't used, but it's easier to still have it for # post processing. self.user = FakeLineEdit() else: self.setWindowTitle(_('User/Password')) - self.l.addWidget(QLabel(_("%s requires you to login to download this story.")%site),0,0,1,2) + grid.addWidget(QLabel(_("%s requires you to login to download this story.")%site),0,0,1,2) - self.l.addWidget(QLabel(_("User:")),1,0) + grid.addWidget(QLabel(_("User:")),1,0) self.user = QLineEdit(self) - self.l.addWidget(self.user,1,1) + grid.addWidget(self.user,1,1) - self.l.addWidget(QLabel(_("Password:")),2,0) + grid.addWidget(QLabel(_("Password:")),2,0) self.passwd = QLineEdit(self) self.passwd.setEchoMode(QLineEdit.Password) - self.l.addWidget(self.passwd,2,1) + grid.addWidget(self.passwd,2,1) + + horz = QHBoxLayout() + self.l.addLayout(horz) self.ok_button = QPushButton(_('OK'), self) self.ok_button.clicked.connect(self.ok) - self.l.addWidget(self.ok_button,3,0) + horz.addWidget(self.ok_button) self.cancel_button = QPushButton(_('Cancel'), self) self.cancel_button.clicked.connect(self.cancel) - self.l.addWidget(self.cancel_button,3,1) + horz.addWidget(self.cancel_button) self.resize(self.sizeHint()) @@ -1579,24 +1585,30 @@ QDialog.__init__(self, gui) self.status=False - self.l = QGridLayout() + self.l = QVBoxLayout() self.setLayout(self.l) + grid = QGridLayout() + self.l.addLayout(grid) + self.setWindowTitle(_('Password')) - self.l.addWidget(QLabel(_("Enter Email Password for %s:")%user),0,0,1,2) + grid.addWidget(QLabel(_("Enter Email Password for %s:")%user),0,0,1,2) - # self.l.addWidget(QLabel(_("Password:")),1,0) + # grid.addWidget(QLabel(_("Password:")),1,0) self.passwd = QLineEdit(self) self.passwd.setEchoMode(QLineEdit.Password) - self.l.addWidget(self.passwd,1,0,1,2) + grid.addWidget(self.passwd,1,0,1,2) + + horz = QHBoxLayout() + self.l.addLayout(horz) self.ok_button = QPushButton(_('OK'), self) self.ok_button.clicked.connect(self.ok) - self.l.addWidget(self.ok_button,2,0) + horz.addWidget(self.ok_button,2,0) self.cancel_button = QPushButton(_('Cancel'), self) self.cancel_button.clicked.connect(self.cancel) - self.l.addWidget(self.cancel_button,2,1) + horz.addWidget(self.cancel_button,2,1) # set stretch factors the same. self.l.setColumnStretch(0,1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FanFicFare-4.18.0/calibre-plugin/plugin-defaults.ini new/FanFicFare-4.19.0/calibre-plugin/plugin-defaults.ini --- old/FanFicFare-4.18.0/calibre-plugin/plugin-defaults.ini 2022-11-22 02:04:53.000000000 +0100 +++ new/FanFicFare-4.19.0/calibre-plugin/plugin-defaults.ini 2023-01-01 20:00:04.000000000 +0100 @@ -712,7 +712,7 @@ tagsfromtitle_label:Tags from Title forumtags_label:Tags from Forum -parentforums:Parent Forums +parentforums_label:Parent Forums keep_in_order_parentforums:true ## What forum a thread is in can be an indicator of it's category, but diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FanFicFare-4.18.0/fanficfare/adapters/adapter_ficbooknet.py new/FanFicFare-4.19.0/fanficfare/adapters/adapter_ficbooknet.py --- old/FanFicFare-4.18.0/fanficfare/adapters/adapter_ficbooknet.py 2022-11-22 02:04:53.000000000 +0100 +++ new/FanFicFare-4.19.0/fanficfare/adapters/adapter_ficbooknet.py 2023-01-01 20:00:04.000000000 +0100 @@ -77,7 +77,6 @@ url=self.url logger.debug("URL: "+url) data = self.get_request(url) - logger.debug(data) soup = self.make_soup(data) @@ -199,7 +198,7 @@ # elif i == 2: # self.story.addToList('warnings', m.find('b').text) - if dlinfo.find('span', {'class':'badge-status-finished'}): + if dlinfo.find('div', {'class':'badge-status-finished'}): self.story.setMetadata('status', 'Completed') else: self.story.setMetadata('status', 'In-Progress') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FanFicFare-4.18.0/fanficfare/adapters/adapter_quotevcom.py new/FanFicFare-4.19.0/fanficfare/adapters/adapter_quotevcom.py --- old/FanFicFare-4.18.0/fanficfare/adapters/adapter_quotevcom.py 2022-11-22 02:04:53.000000000 +0100 +++ new/FanFicFare-4.19.0/fanficfare/adapters/adapter_quotevcom.py 2023-01-01 20:00:04.000000000 +0100 @@ -100,7 +100,7 @@ self.story.setMetadata('dateUpdated', datetime.datetime.fromtimestamp(float(elements[1]['ts']))) metadiv = elements[0].parent.parent - if u'· completed' in stripHTML(metadiv): + if u'· Completed' in stripHTML(metadiv): self.story.setMetadata('status', 'Completed') else: self.story.setMetadata('status', 'In-Progress') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FanFicFare-4.18.0/fanficfare/adapters/adapter_scribblehubcom.py new/FanFicFare-4.19.0/fanficfare/adapters/adapter_scribblehubcom.py --- old/FanFicFare-4.18.0/fanficfare/adapters/adapter_scribblehubcom.py 2022-11-22 02:04:53.000000000 +0100 +++ new/FanFicFare-4.19.0/fanficfare/adapters/adapter_scribblehubcom.py 2023-01-01 20:00:04.000000000 +0100 @@ -89,6 +89,21 @@ def getSiteURLPattern(self): return re.escape("https://"+self.getSiteDomain())+r"/(series|read)/(?P<id>\d+)[/-](?P<title>[^/]+)" + + def post_request(self, url, + parameters=None, + usecache=True): + try: + return super(getClass(), self).post_request(url, parameters, usecache) + except exceptions.HTTPErrorFFF as e: + ## this is a fix for the scribblehub ajax request sometimes returning + # a 400 but only with flaresolverr. Have not been able to reproduce + # in curl/firefox. See: https://github.com/JimmXinu/FanFicFare/pull/900 + logger.debug("HTTPErrorFFF/Scribblehub: " + str(e.status_code)) + if e.status_code == 400 and self.getConfig('use_flaresolverr_proxy'): + return self.decode_data(e.data) + else: + raise # Set cookie to ascending order before page loads, means we know date published def set_contents_cookie(self): @@ -140,6 +155,14 @@ "strSID": self.story.getMetadata('storyId'), "strmypostid": 0, "strFic": "yes"} + + # 14/12/22 - Looks like it should follow this format now (below), but still returns a 400 + # but not a 403. tested in browser getting rid of all other cookies to try and get a 400 and nopes. + + # contents_payload = {"action": "wi_getreleases_pagination", + # "pagenum": 1, + # "mypostid": 421879} + # contents_payload = "action=wi_getreleases_pagination&pagenum=1&mypostid=421879" contents_data = self.post_request("https://www.scribblehub.com/wp-admin/admin-ajax.php", contents_payload) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FanFicFare-4.18.0/fanficfare/adapters/adapter_storiesonlinenet.py new/FanFicFare-4.19.0/fanficfare/adapters/adapter_storiesonlinenet.py --- old/FanFicFare-4.18.0/fanficfare/adapters/adapter_storiesonlinenet.py 2022-11-22 02:04:53.000000000 +0100 +++ new/FanFicFare-4.19.0/fanficfare/adapters/adapter_storiesonlinenet.py 2023-01-01 20:00:04.000000000 +0100 @@ -415,8 +415,9 @@ # There's nothing around the desc to grab it by, and there's a # variable number of links before it. for line in description_element.contents: + content = stripHTML(line) line = unicode(line) - if line.strip() == '' or line.startswith("<span") or line.startswith("<br"): + if content == '' or line.strip() == '' or line.startswith("<span") or line.startswith("<br"): # skip empty, <span (universe, series or context) and <br>. # logger.debug("Discard: %s"%line) pass diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FanFicFare-4.18.0/fanficfare/cli.py new/FanFicFare-4.19.0/fanficfare/cli.py --- old/FanFicFare-4.18.0/fanficfare/cli.py 2022-11-22 02:04:53.000000000 +0100 +++ new/FanFicFare-4.19.0/fanficfare/cli.py 2023-01-01 20:00:04.000000000 +0100 @@ -28,7 +28,7 @@ import os, sys, platform -version="4.18.0" +version="4.19.0" os.environ['CURRENT_VERSION_ID']=version global_cache = 'global_cache' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FanFicFare-4.18.0/fanficfare/configurable.py new/FanFicFare-4.19.0/fanficfare/configurable.py --- old/FanFicFare-4.18.0/fanficfare/configurable.py 2022-11-22 02:04:53.000000000 +0100 +++ new/FanFicFare-4.19.0/fanficfare/configurable.py 2023-01-01 20:00:04.000000000 +0100 @@ -288,7 +288,6 @@ 'use_threadmark_wordcounts':(base_xenforo_list,None,boollist), 'always_include_first_post_chapters':(base_xenforo_list,None,boollist), 'order_threadmarks_by_date':(base_xenforo_list,None,boollist), - 'order_threadmarks_by_date_categories':(base_xenforo_list,None,boollist), 'reveal_invisible_text':(base_xenforo_list,None,boollist), 'use_threadmarks_description':(base_xenforo2_list,None,boollist), 'use_threadmarks_status':(base_xenforo2_list,None,boollist), @@ -540,6 +539,7 @@ 'replace_failed_smilies_with_alt_text', 'use_threadmark_wordcounts', 'always_include_first_post_chapters', + 'threadmark_category_order', 'order_threadmarks_by_date', 'order_threadmarks_by_date_categories', 'reveal_invisible_text', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FanFicFare-4.18.0/fanficfare/defaults.ini new/FanFicFare-4.19.0/fanficfare/defaults.ini --- old/FanFicFare-4.18.0/fanficfare/defaults.ini 2022-11-22 02:04:53.000000000 +0100 +++ new/FanFicFare-4.19.0/fanficfare/defaults.ini 2023-01-01 20:00:04.000000000 +0100 @@ -719,7 +719,7 @@ tagsfromtitle_label:Tags from Title forumtags_label:Tags from Forum -parentforums:Parent Forums +parentforums_label:Parent Forums keep_in_order_parentforums:true ## What forum a thread is in can be an indicator of it's category, but diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FanFicFare-4.18.0/fanficfare/flaresolverr_proxy.py new/FanFicFare-4.19.0/fanficfare/flaresolverr_proxy.py --- old/FanFicFare-4.18.0/fanficfare/flaresolverr_proxy.py 2022-11-22 02:04:53.000000000 +0100 +++ new/FanFicFare-4.19.0/fanficfare/flaresolverr_proxy.py 2023-01-01 20:00:04.000000000 +0100 @@ -152,11 +152,12 @@ # error_msg through to the user. data = resp.json['message'] if status_code != 200: - raise exceptions.HTTPErrorFFF( - ensure_text(url), - status_code, - ensure_text(data) - ) + raise exceptions.HTTPErrorFFF( + ensure_text(url), + status_code, + ensure_text(data), + data + ) return FetcherResponse(data, url, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FanFicFare-4.18.0/setup.py new/FanFicFare-4.19.0/setup.py --- old/FanFicFare-4.18.0/setup.py 2022-11-22 02:04:53.000000000 +0100 +++ new/FanFicFare-4.19.0/setup.py 2023-01-01 20:00:04.000000000 +0100 @@ -26,7 +26,7 @@ name=package_name, # Versions should comply with PEP440. - version="4.18.0", + version="4.19.0", description='A tool for downloading fanfiction to eBook formats', long_description=long_description,