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 2022-10-25 11:20:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-fanficfare (Old)
and /work/SRC/openSUSE:Factory/.python-fanficfare.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-fanficfare"
Tue Oct 25 11:20:04 2022 rev:44 rq:1030937 version:4.17.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-fanficfare/python-fanficfare.changes
2022-09-20 19:24:16.906594179 +0200
+++
/work/SRC/openSUSE:Factory/.python-fanficfare.new.2275/python-fanficfare.changes
2022-10-25 11:20:29.182200339 +0200
@@ -1,0 +2,15 @@
+Mon Oct 24 17:22:25 UTC 2022 - Matej Cepl <[email protected]>
+
+- Update to 4.17.0:
+ - Update Translations
+ - Fix site name fanfiction.tenhawkpresents.ink
+ - Flaresolverr v3 beta using 'expiry' cookie key, was
+ 'expires'.
+ - Flaresolverr v3 beta doesn't have 'headers'??
+ - adapter_adultfanfictionorg: Fixes for site changes.
+ - Disable Cancel during metadata update ProgBar.
+ - adapter_chosentwofanficcom: Site has several links to each
+ story in a series page.
+ - Fixes for add_category/genre_when_multi_category settings.
+
+-------------------------------------------------------------------
Old:
----
FanFicFare-4.16.0.tar.gz
_service
_servicedata
New:
----
FanFicFare-4.17.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-fanficfare.spec ++++++
--- /var/tmp/diff_new_pack.2Tct66/_old 2022-10-25 11:20:32.154206927 +0200
+++ /var/tmp/diff_new_pack.2Tct66/_new 2022-10-25 11:20:32.162206944 +0200
@@ -21,14 +21,13 @@
%define skip_python2 1
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-fanficfare
-Version: 4.16.0
+Version: 4.17.0
Release: 0
Summary: Tool for making eBooks from stories on fanfiction and other
web sites
License: GPL-3.0-only
Group: Development/Languages/Python
URL: https://github.com/JimmXinu/FanFicFare
Source:
https://github.com/JimmXinu/%{modname}/archive/v%{version}/%{modname}-%{version}.tar.gz
-# Source: %%{modname}-%%{version}.tar.gz
BuildRequires: %{python_module beautifulsoup4}
BuildRequires: %{python_module chardet}
BuildRequires: %{python_module cloudscraper}
@@ -93,6 +92,7 @@
%license LICENSE
%doc DESCRIPTION.rst README.md
%python_alternative %{_bindir}/%{modnamedown}
-%{python_sitelib}/*
+%{python_sitelib}/%{modname}-%{version}*-info
+%{python_sitelib}/%{modnamedown}
%changelog
++++++ FanFicFare-4.16.0.tar.gz -> FanFicFare-4.17.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FanFicFare-4.16.0/calibre-plugin/__init__.py
new/FanFicFare-4.17.0/calibre-plugin/__init__.py
--- old/FanFicFare-4.16.0/calibre-plugin/__init__.py 2022-09-19
19:20:42.000000000 +0200
+++ new/FanFicFare-4.17.0/calibre-plugin/__init__.py 2022-10-18
18:47:27.000000000 +0200
@@ -33,7 +33,7 @@
from calibre.customize import InterfaceActionBase
# pulled out from FanFicFareBase for saving in prefs.py
-__version__ = (4, 16, 0)
+__version__ = (4, 17, 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.16.0/calibre-plugin/dialogs.py
new/FanFicFare-4.17.0/calibre-plugin/dialogs.py
--- old/FanFicFare-4.16.0/calibre-plugin/dialogs.py 2022-09-19
19:20:42.000000000 +0200
+++ new/FanFicFare-4.17.0/calibre-plugin/dialogs.py 2022-10-18
18:47:27.000000000 +0200
@@ -634,13 +634,15 @@
finish_function,
init_label=_("Fetching metadata for stories..."),
win_title=_("Downloading metadata for stories"),
- status_prefix=_("Fetched metadata for")):
+ status_prefix=_("Fetched metadata for"),
+ disable_cancel=False):
ld = _LoopProgressDialog(gui,
book_list,
foreach_function,
init_label,
win_title,
- status_prefix)
+ status_prefix,
+ disable_cancel)
# Mac OS X gets upset if the finish_function is called from inside
# the real _LoopProgressDialog class.
@@ -658,7 +660,8 @@
foreach_function,
init_label=_("Fetching metadata for stories..."),
win_title=_("Downloading metadata for stories"),
- status_prefix=_("Fetched metadata for")):
+ status_prefix=_("Fetched metadata for"),
+ disable_cancel=False):
QProgressDialog.__init__(self,
init_label,
_('Cancel'), 0, len(book_list), gui)
@@ -677,6 +680,11 @@
self.setLabelText('%s %d / %d' % (self.status_prefix, self.i,
len(self.book_list)))
self.setValue(self.i)
+ if disable_cancel:
+ self.setCancelButton(None)
+ self.reject = self.disabled_reject
+ self.closeEvent = self.disabled_closeEvent
+
## self.do_loop does QTimer.singleShot on self.do_loop also.
## A weird way to do a loop, but that was the example I had.
## 100 instead of 0 on the first go due to Win10(and later
@@ -684,6 +692,15 @@
QTimer.singleShot(100, self.do_loop)
self.exec_()
+ # used when disable_cancel = True
+ def disabled_reject(self):
+ pass
+
+ # used when disable_cancel = True
+ def disabled_closeEvent(self, event):
+ if event.spontaneous():
+ event.ignore()
+
def updateStatus(self):
remaining_time_string = ''
if self.show_est_time and self.i > -1:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FanFicFare-4.16.0/calibre-plugin/fff_plugin.py
new/FanFicFare-4.17.0/calibre-plugin/fff_plugin.py
--- old/FanFicFare-4.16.0/calibre-plugin/fff_plugin.py 2022-09-19
19:20:42.000000000 +0200
+++ new/FanFicFare-4.17.0/calibre-plugin/fff_plugin.py 2022-10-18
18:47:27.000000000 +0200
@@ -2139,7 +2139,8 @@
partial(self.update_books_finish,
options=options),
init_label=_("Updating calibre for FanFiction
stories..."),
win_title=_("Update calibre for FanFiction
stories"),
- status_prefix=_("Updated"))
+ status_prefix=_("Updated"),
+ disable_cancel=True)
def update_error_column(self,payload):
'''Update custom error column if configured.'''
@@ -2155,7 +2156,8 @@
partial(self.update_books_finish,
options=options),
init_label=_("Updating calibre for BAD
FanFiction stories..."),
win_title=_("Update calibre for BAD FanFiction
stories"),
- status_prefix=_("Updated"))
+ status_prefix=_("Updated"),
+ disable_cancel=True)
def
update_error_column_loop(self,book,db=None,errorcol_label=None,lastcheckedcol_label=None):
if book['calibre_id'] and errorcol_label:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FanFicFare-4.16.0/calibre-plugin/plugin-defaults.ini
new/FanFicFare-4.17.0/calibre-plugin/plugin-defaults.ini
--- old/FanFicFare-4.16.0/calibre-plugin/plugin-defaults.ini 2022-09-19
19:20:42.000000000 +0200
+++ new/FanFicFare-4.17.0/calibre-plugin/plugin-defaults.ini 2022-10-18
18:47:27.000000000 +0200
@@ -1761,7 +1761,7 @@
website_encodings:Windows-1252,utf8
-[fanfic.tenhawkpresents.ink]
+[fanfiction.tenhawkpresents.ink]
use_basic_cache:true
## Some sites require login (or login for some rated stories) The
## program can prompt you, or you can save it in config. In
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FanFicFare-4.16.0/calibre-plugin/translations/de.po
new/FanFicFare-4.17.0/calibre-plugin/translations/de.po
--- old/FanFicFare-4.16.0/calibre-plugin/translations/de.po 2022-09-19
19:20:42.000000000 +0200
+++ new/FanFicFare-4.17.0/calibre-plugin/translations/de.po 2022-10-18
18:47:27.000000000 +0200
@@ -2,6 +2,7 @@
# Copyright (C) YEAR ORGANIZATION
#
# Translators:
+# Dustin Steiner, 2022
# Ettore Atalan <[email protected]>, 2014-2016,2018,2020
# ILB, 2014-2017,2020-2022
# Johannes Sch??pp <[email protected]>, 2020
@@ -18,7 +19,7 @@
"Project-Id-Version: calibre-plugins\n"
"POT-Creation-Date: 2022-07-06 11:14-0500\n"
"PO-Revision-Date: 2014-06-19 22:55+0000\n"
-"Last-Translator: ILB, 2014-2017,2020-2022\n"
+"Last-Translator: Dustin Steiner, 2022\n"
"Language-Team: German
(http://www.transifex.com/calibre/calibre-plugins/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -1572,7 +1573,7 @@
#: dialogs.py:1036
msgid "Are you sure you want to remove the selected %d books from the list?"
-msgstr "Sind sie sicher, dass sie die ausgew??hlten B??cher von der Liste
l??schen wollen?"
+msgstr "Sind Sie sicher, dass Sie die %d ausgew??hlten B??cher von der Liste
l??schen wollen?"
#: dialogs.py:1062
msgid "Note"
@@ -1588,7 +1589,7 @@
#: dialogs.py:1112
msgid "Are you sure you want to remove the %d selected URLs from the list?"
-msgstr "Sind sie sicher, dass sie die %d ausgew??hlten URLs von der Liste
l??schen m??chten?"
+msgstr "Sind Sie sicher, dass Sie die %d ausgew??hlten URLs von der Liste
l??schen m??chten?"
#: dialogs.py:1130
msgid "List of Books to Reject"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FanFicFare-4.16.0/calibre-plugin/translations/ko.po
new/FanFicFare-4.17.0/calibre-plugin/translations/ko.po
--- old/FanFicFare-4.16.0/calibre-plugin/translations/ko.po 2022-09-19
19:20:42.000000000 +0200
+++ new/FanFicFare-4.17.0/calibre-plugin/translations/ko.po 2022-10-18
18:47:27.000000000 +0200
@@ -2,14 +2,14 @@
# Copyright (C) YEAR ORGANIZATION
#
# Translators:
-# Junghee Lee <[email protected]>, 2022
-# Junghee Lee <[email protected]>, 2021
+# JungHee Lee <[email protected]>, 2022
+# JungHee Lee <[email protected]>, 2021
msgid ""
msgstr ""
"Project-Id-Version: calibre-plugins\n"
"POT-Creation-Date: 2022-07-06 11:14-0500\n"
"PO-Revision-Date: 2014-06-19 22:55+0000\n"
-"Last-Translator: Junghee Lee <[email protected]>, 2022\n"
+"Last-Translator: JungHee Lee <[email protected]>, 2022\n"
"Language-Team: Korean
(http://www.transifex.com/calibre/calibre-plugins/language/ko/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FanFicFare-4.16.0/calibre-plugin/translations/pl.po
new/FanFicFare-4.17.0/calibre-plugin/translations/pl.po
--- old/FanFicFare-4.16.0/calibre-plugin/translations/pl.po 2022-09-19
19:20:42.000000000 +0200
+++ new/FanFicFare-4.17.0/calibre-plugin/translations/pl.po 2022-10-18
18:47:27.000000000 +0200
@@ -6,12 +6,13 @@
# Marcin Kozio?? <[email protected]>, 2019-2020
# Ola Kleniewska <[email protected]>, 2016
# Piotr Str??bski <[email protected]>, 2015
+# The Name <[email protected]>, 2022
msgid ""
msgstr ""
"Project-Id-Version: calibre-plugins\n"
"POT-Creation-Date: 2022-07-06 11:14-0500\n"
"PO-Revision-Date: 2014-06-19 22:55+0000\n"
-"Last-Translator: Marcin Kozio?? <[email protected]>, 2019-2020\n"
+"Last-Translator: The Name <[email protected]>, 2022\n"
"Language-Team: Polish
(http://www.transifex.com/calibre/calibre-plugins/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -307,7 +308,7 @@
#: config.py:563
msgid "Success"
-msgstr ""
+msgstr "Sukces"
#: config.py:564
msgid "Mark successfully downloaded or updated books."
@@ -315,7 +316,7 @@
#: config.py:569
msgid "Failed"
-msgstr ""
+msgstr "Nie powiod??o si??"
#: config.py:570
msgid "Mark failed downloaded or updated books."
@@ -323,7 +324,7 @@
#: config.py:575
msgid "Chapter Error"
-msgstr ""
+msgstr "B????d Rozdzia??u"
#: config.py:576
msgid ""
@@ -1824,7 +1825,7 @@
#: fff_plugin.py:614 fff_plugin.py:1960 fff_plugin.py:2584 fff_plugin.py:2596
#: fff_plugin.py:2607 fff_plugin.py:2613 fff_plugin.py:2626
msgid "Warning"
-msgstr ""
+msgstr "Ostrze??enie"
#: fff_plugin.py:622
msgid "(%d Story URLs Skipped, on Rejected URL List)"
@@ -2231,7 +2232,7 @@
#: fff_plugin.py:1788
msgid "Info"
-msgstr ""
+msgstr "Informacja"
#: fff_plugin.py:1830
msgid "Story Details:"
@@ -2271,7 +2272,7 @@
#: fff_plugin.py:1964
msgid "FanFicFare: "
-msgstr ""
+msgstr "FanFicFare:"
#: fff_plugin.py:1964
msgid "No Good Stories for Anthology"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FanFicFare-4.16.0/calibre-plugin/translations/uk.po
new/FanFicFare-4.17.0/calibre-plugin/translations/uk.po
--- old/FanFicFare-4.16.0/calibre-plugin/translations/uk.po 2022-09-19
19:20:42.000000000 +0200
+++ new/FanFicFare-4.17.0/calibre-plugin/translations/uk.po 2022-10-18
18:47:27.000000000 +0200
@@ -32,11 +32,11 @@
#: common_utils.py:250
msgid "Keyboard shortcuts"
-msgstr "?????????????????????? ???????????? ??????????????"
+msgstr "?????????????????????? ????????????????????"
#: common_utils.py:279
msgid "Prefs Viewer dialog"
-msgstr "???????????????????????? ?????????? ??????????????????"
+msgstr "?????????? ?????????????????? ??????????????????????"
#: common_utils.py:280
msgid "Preferences for: "
@@ -48,7 +48,7 @@
#: common_utils.py:313
msgid "Clear all settings for this plugin"
-msgstr "???????????????? ?????? ???????????????????????? ?????? ??????????
??????????????"
+msgstr "???????????????? ?????? ???????????????????????? ?????? ??????????
??????????????"
#: common_utils.py:317
msgid "Edit"
@@ -84,11 +84,11 @@
msgid ""
"Any settings in other libraries or stored in a JSON file in your calibre "
"plugins folder will not be touched."
-msgstr "????????-?????? ???????????????????????? ?? ??????????
??????????????????????, ?????? ?????????????????? ?? ?????????? JSON ??
?????????? ?????????? ???????????????? ???? ???????????? ??????????????."
+msgstr "????????-?????? ???????????????????????? ?? ??????????
?????????????????????? ?????? ?????????????????? ?? ?????????? JSON ??
?????????? ???????? ???????????????? calibre ???? ???????????? ??????????????."
#: common_utils.py:363 common_utils.py:391
msgid "You must restart calibre afterwards."
-msgstr "?????????? ?????????? ???? ??????????????
?????????????????????????????? Calibre."
+msgstr "?????????? ?????????? ???? ??????????????
?????????????????????????????? calibre."
#: common_utils.py:371
msgid "All settings for this plugin in this library have been saved."
@@ -96,21 +96,21 @@
#: common_utils.py:372 common_utils.py:401
msgid "Please restart calibre now."
-msgstr "????????-?????????? ???????????????????????????? Calibre."
+msgstr "???????? ?????????? ???????????????????????????? Calibre."
#: common_utils.py:374 common_utils.py:403
msgid "Restart calibre now"
-msgstr "?????????????????????????????? Calibre"
+msgstr "?????????????????????????????? calibre"
#: common_utils.py:389
msgid ""
"Are you sure you want to clear your settings in this library for this "
"plugin?"
-msgstr "???? ????????????????, ???? ?????????????? ???????????????? ????????
???????????????????????? ?? ?????? ?????????????????????? ?????? ????????????
???????????????"
+msgstr "???? ????????????????, ???? ?????????????? ???????????????? ????????
???????????????????????? ?? ?????? ???????????????????? ?????? ??????????
???????????????"
#: common_utils.py:400
msgid "All settings for this plugin in this library have been cleared."
-msgstr "?????? ???????????????????????? ?????? ?????????? ?????????????? ??
?????? ???????????????????? ???????? ??????????????."
+msgstr "?????? ???????????????????????? ?????? ?????????? ?????????????? ??
?????? ???????????????????? ???????? ??????????????."
#: config.py:225
msgid "List of Supported Sites"
@@ -138,7 +138,7 @@
#: config.py:267
msgid "Email Settings"
-msgstr "???????????????????????? ??????????"
+msgstr "?????????????????? ??????????"
#: config.py:270
msgid "Other"
@@ -250,7 +250,7 @@
#: config.py:516 config.py:688
msgid "Reject Without Confirmation?"
-msgstr "?????????????????? ?????? ??????????????????????????"
+msgstr "?????????????????? ?????? ???????????????????????????"
#: config.py:517
msgid ""
@@ -365,7 +365,7 @@
#: config.py:616
msgid "Automatically Convert new/update books?"
-msgstr "?????????????????????? ????????????????????????
????????/?????????????????? ?????????????"
+msgstr "?????????????????????? ??????????????????????????
????????/???????????????? ???????????"
#: config.py:617
msgid ""
@@ -380,11 +380,11 @@
#: config.py:625
msgid "Take URLs from Clipboard?"
-msgstr "???????????????????? URL-???????????? ?? ???????????? ?????????????"
+msgstr "???????????????????? ???????????? ?? ???????????? ?????????????"
#: config.py:626
msgid "Prefill URLs from valid URLs in Clipboard when Adding New."
-msgstr "?????????????????? ???????????????????? URL-?????????? ??
?????????????? URL-?????????? ?? ???????????? ???????????? ??????
?????????????????? ??????????."
+msgstr "?????????????????? ???????????????????? ?????????? ??
?????????????????? ?????????? ?? ???????????? ???????????? ??????
?????????????????? ??????????."
#: config.py:630
msgid "FanFicFare button opens menu?"
@@ -398,7 +398,7 @@
#: config.py:635
msgid "Default to Update when books selected?"
-msgstr "???? ?????????????????????????? ????????????????, ???????? ??????????
?????????????"
+msgstr "???????????? ????????????????????, ???????? ??????????
???????????????????"
#: config.py:636
msgid ""
@@ -451,11 +451,11 @@
#: config.py:669
msgid "Reject List"
-msgstr "???????????? ??????????????????????"
+msgstr "???????????? ????????????????????"
#: config.py:673
msgid "Edit Reject URL List"
-msgstr "?????????????????????????? ???????????? ????????????????????
????????????????"
+msgstr "?????????????? ???????????? ??????????, ?????? ????????
??????????????????"
#: config.py:674
msgid "Edit list of URLs FanFicFare will automatically Reject."
@@ -463,15 +463,15 @@
#: config.py:678 config.py:757
msgid "Add Reject URLs"
-msgstr "???????????? ?????????????????? ??????????????????"
+msgstr "???????????? ???????????? ????????????????????"
#: config.py:679
msgid "Add additional URLs to Reject as text."
-msgstr "???????????? ?????????????????? ?????????????????? ???? ??????????,
?????? ???????????????? ?????????????????? "
+msgstr "???????????? ?????????????????? ???????????? ??????
???????????????????? ???? ??????????."
#: config.py:683
msgid "Edit Reject Reasons List"
-msgstr "?????????????????????????? ???????????? ???????????? ??????
????????????????????"
+msgstr "?????????????? ???????????? ???????????? ?????? ????????????????????"
#: config.py:684 config.py:747
msgid "Customize the Reasons presented when Rejecting URLs"
@@ -491,7 +491,7 @@
#: config.py:732
msgid "Edit Reject URLs List"
-msgstr "?????????????????????????? ???????????? ????????????????????
????????????????"
+msgstr "?????????????? ???????????? ??????????
????????????????????????????????????"
#: config.py:745
msgid "Reject Reasons"
@@ -603,11 +603,11 @@
#: config.py:873
msgid "Plugin Defaults"
-msgstr "???????????? ???????????????????????? ??????????????"
+msgstr "???????????? ???????????????????????? ??????????????"
#: config.py:874
msgid "Plugin Defaults (%s) (Read-Only)"
-msgstr "???????????? ???????????????????????? ?????????????? (%s)
(???????????? ????????????????????)"
+msgstr "???????????? ???????????????????????? ?????????????? (%s) (????????
??????????????)"
#: config.py:885
msgid "View 'Safe' personal.ini"
@@ -1113,13 +1113,13 @@
#: config.py:1565
msgid "Force Title into Title Sort?"
-msgstr "?????????????????? ???????????????????????? ????????????????
?????????? ?? ?????????????????????????? ?????????"
+msgstr "?????????????????? ???????????????????????? ?????????? ??????
?????????????????????????? ???? ???????????????"
#: config.py:1566
msgid ""
"If checked, the title as given will be used for the Title Sort, too.\n"
"If not checked, calibre will apply it's built in algorithm which makes 'The
Title' sort as 'Title, The', etc."
-msgstr "???????? ?????????????????? ????????????????????????, ??????????
?????????? ???????? ?????????????????????????????????? ??????
?????????????????????????? ????????.\n???????? ???? ??????????????????????,
calibre ???????? ?????????????????????????? ???????????????????? ?? ??????????
????????????????, ???????? ???????????? ?????????? 'The Title', ???? 'Title,
The' ?? ??.??."
+msgstr "???????? ?????????????????? ????????????????????????, ??????????
?????????? ???????? ?????????????????????????????????? ??????
?????????????????????????? ???? ??????????????.\n???????? ????
??????????????????????, calibre ???????? ??????????????????????????
???????????????????? ?? ?????????? ????????????????, ????????
???????????????????? ?????????? ??The Title?? ???? ??Title, The?? ????????."
#: config.py:1569
msgid "Fix Title Case?"
@@ -2417,7 +2417,7 @@
#: jobs.py:85
msgid "Downloading FanFiction Stories"
-msgstr "???????????????????????? FanFiction ??????????????"
+msgstr "???????????????????????? ?????????????????? FanFiction"
#: jobs.py:105
msgid "%(count)d of %(total)d stories finished downloading"
@@ -2462,7 +2462,7 @@
#: prefs.py:27
msgid "Add New Book"
-msgstr "???????????? ???????? ??????????"
+msgstr "???????????? ???????? ??????????"
#: prefs.py:28
msgid "Update EPUB if New Chapters"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/FanFicFare-4.16.0/fanficfare/adapters/adapter_adultfanfictionorg.py
new/FanFicFare-4.17.0/fanficfare/adapters/adapter_adultfanfictionorg.py
--- old/FanFicFare-4.16.0/fanficfare/adapters/adapter_adultfanfictionorg.py
2022-09-19 19:20:42.000000000 +0200
+++ new/FanFicFare-4.17.0/fanficfare/adapters/adapter_adultfanfictionorg.py
2022-10-18 18:47:27.000000000 +0200
@@ -258,18 +258,23 @@
asoup = self.make_soup(adata)
- ##Getting the number of pages
- pages=asoup.find('div',{'class' :
'pagination'}).findAll('li')[-1].find('a')
- if not pages == None:
- pages = pages['href'].split('=')[-1]
- else:
- pages = 0
+ ##Getting the number of author pages
+ pages = 0
+ pagination=asoup.find('ul',{'class' : 'pagination'})
+ if pagination:
+ pages = pagination.findAll('li')[-1].find('a')
+ if not pages == None:
+ pages = pages['href'].split('=')[-1]
+ else:
+ pages = 0
+ storya = None
##If there is only 1 page of stories, check it to get the Metadata,
if pages == 0:
a = asoup.findAll('li')
for lc2 in a:
if lc2.find('a',
href=re.compile(r'story.php\?no='+self.story.getMetadata('storyId')+"$")):
+ storya = lc2
break
## otherwise go through the pages
else:
@@ -293,6 +298,7 @@
for lc2 in a:
if lc2.find('a',
href=re.compile(r'story.php\?no='+self.story.getMetadata('storyId')+"$")):
i=1
+ storya = lc2
break
page = page + 1
if page > int(pages):
@@ -305,14 +311,14 @@
##There is also a double <br/>, so we have to fix that, then
remove the leading and trailing '-:-'.
##They are always in the same order.
## EDIT 09/26/2016: Had some trouble with unicode errors... so I
had to put in the decode/encode parts to fix it
- liMetadata =
unicode(lc2).replace('\n','').replace('\r','').replace('\t',' ').replace(' ','
').replace(' ',' ').replace(' ',' ')
+ liMetadata =
unicode(storya).replace('\n','').replace('\r','').replace('\t',' ').replace('
',' ').replace(' ',' ').replace(' ',' ')
liMetadata =
stripHTML(liMetadata.replace(r'<br/>','-:-').replace('<!-- <br /-->','-:-'))
liMetadata = liMetadata.strip('-:-').strip('-:-').encode('utf-8')
for i, value in enumerate(liMetadata.decode('utf-8').split('-:-')):
if i == 0:
# The value for the title has been manipulated, so may not
be the same as gotten at the start.
- # I'm going to use the href from the lc2 retrieved from
the author's page to determine if it is correct.
- if lc2.find('a',
href=re.compile(r'story.php\?no='+self.story.getMetadata('storyId')+"$"))['href']
!= url:
+ # I'm going to use the href from the storya retrieved from
the author's page to determine if it is correct.
+ if storya.find('a',
href=re.compile(r'story.php\?no='+self.story.getMetadata('storyId')+"$"))['href']
!= url:
raise exceptions.StoryDoesNotExist('Did not find story
in author story list: {0}'.format(author_Url))
elif i == 1:
##Get the description
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/FanFicFare-4.16.0/fanficfare/adapters/adapter_chosentwofanficcom.py
new/FanFicFare-4.17.0/fanficfare/adapters/adapter_chosentwofanficcom.py
--- old/FanFicFare-4.16.0/fanficfare/adapters/adapter_chosentwofanficcom.py
2022-09-19 19:20:42.000000000 +0200
+++ new/FanFicFare-4.17.0/fanficfare/adapters/adapter_chosentwofanficcom.py
2022-10-18 18:47:27.000000000 +0200
@@ -199,9 +199,9 @@
storyas = seriessoup.findAll('a',
href=re.compile(r'viewstory.php\?sid=\d+'))
i=1
for a in storyas:
- # skip 'report this' and 'TOC' links
- if 'contact.php' not in a['href'] and 'index' not in a['href']:
- if a['href'] ==
('viewstory.php?sid='+self.story.getMetadata('storyId')):
+ # this site has several links to each story.
+ if a.text == 'Latest Chapter':
+ if
('viewstory.php?sid='+self.story.getMetadata('storyId')) in a['href']:
self.setSeries(series_name, i)
self.story.setMetadata('seriesUrl',series_url)
break
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/FanFicFare-4.16.0/fanficfare/adapters/adapter_tenhawkpresents.py
new/FanFicFare-4.17.0/fanficfare/adapters/adapter_tenhawkpresents.py
--- old/FanFicFare-4.16.0/fanficfare/adapters/adapter_tenhawkpresents.py
2022-09-19 19:20:42.000000000 +0200
+++ new/FanFicFare-4.17.0/fanficfare/adapters/adapter_tenhawkpresents.py
2022-10-18 18:47:27.000000000 +0200
@@ -48,7 +48,7 @@
@staticmethod
def getSiteDomain():
- return 'fanfic.tenhawkpresents.ink'
+ return 'fanfiction.tenhawkpresents.ink'
@classmethod
def getSiteExampleURLs(cls):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FanFicFare-4.16.0/fanficfare/cli.py
new/FanFicFare-4.17.0/fanficfare/cli.py
--- old/FanFicFare-4.16.0/fanficfare/cli.py 2022-09-19 19:20:42.000000000
+0200
+++ new/FanFicFare-4.17.0/fanficfare/cli.py 2022-10-18 18:47:27.000000000
+0200
@@ -28,7 +28,7 @@
import os, sys, platform
-version="4.16.0"
+version="4.17.0"
os.environ['CURRENT_VERSION_ID']=version
global_cache = 'global_cache'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FanFicFare-4.16.0/fanficfare/defaults.ini
new/FanFicFare-4.17.0/fanficfare/defaults.ini
--- old/FanFicFare-4.16.0/fanficfare/defaults.ini 2022-09-19
19:20:42.000000000 +0200
+++ new/FanFicFare-4.17.0/fanficfare/defaults.ini 2022-10-18
18:47:27.000000000 +0200
@@ -1782,7 +1782,7 @@
website_encodings:Windows-1252,utf8
-[fanfic.tenhawkpresents.ink]
+[fanfiction.tenhawkpresents.ink]
use_basic_cache:true
## Some sites require login (or login for some rated stories) The
## program can prompt you, or you can save it in config. In
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FanFicFare-4.16.0/fanficfare/flaresolverr_proxy.py
new/FanFicFare-4.17.0/fanficfare/flaresolverr_proxy.py
--- old/FanFicFare-4.16.0/fanficfare/flaresolverr_proxy.py 2022-09-19
19:20:42.000000000 +0200
+++ new/FanFicFare-4.17.0/fanficfare/flaresolverr_proxy.py 2022-10-18
18:47:27.000000000 +0200
@@ -131,7 +131,9 @@
if data is None:
# Without download (or with FlareSolverr v2), don't
# need base64 decode, and image downloads won't work.
- if 'image' in resp.json['solution']['headers']['content-type']:
+ if 'headers' in resp.json['solution'] and \
+ 'content-type' in resp.json['solution']['headers'] and
\
+ 'image' in
resp.json['solution']['headers']['content-type']:
raise exceptions.HTTPErrorFFF(
url,
428, # 404 & 410 trip StoryDoesNotExist
@@ -183,12 +185,13 @@
## 30000000000 == 2920-08-30 05:20:00. If 900 years isn't
## enough, somebody can fix it then.
## (current global_cookie/
- # logger.debug(c['expires'])
- if c['expires'] > 30000000000:
- c['expires'] = 30000000000
+ expireKey = 'expires' if 'expires' in c else 'expiry'
+ logger.debug("expireKey:%s"%expireKey)
+ if c[expireKey] > 30000000000:
+ c[expireKey] = 30000000000
# logger.debug(c['name'])
# import datetime
- # logger.debug(datetime.datetime.utcfromtimestamp(c['expires']))
+ # logger.debug(datetime.datetime.utcfromtimestamp(c[expireKey]))
retval.append(Cookie(0, # version
c['name'],
@@ -201,8 +204,8 @@
c['path'],
c['path'] == None or c['path'] == '', #
path_specified,
c['secure'],
- c['expires'],
- c['expires'] == -1, # discard
+ c[expireKey],
+ c[expireKey] == -1, # discard
None, # comment,
None, # comment_url,
{}, # rest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FanFicFare-4.16.0/fanficfare/story.py
new/FanFicFare-4.17.0/fanficfare/story.py
--- old/FanFicFare-4.16.0/fanficfare/story.py 2022-09-19 19:20:42.000000000
+0200
+++ new/FanFicFare-4.17.0/fanficfare/story.py 2022-10-18 18:47:27.000000000
+0200
@@ -1079,14 +1079,16 @@
## there's more than one category value. Does not work
## consistently well if you try to include_in_ chain genre
## back into category--breaks with fandoms sites like AO3
- if listname == 'genre' and
self.getConfig('add_genre_when_multi_category') and len(self.getList('category',
-
removeallentities=False,
-
# to avoid inf loops if genre/cat substs
-
includelist=includelist+[listname],
-
doreplacements=False,
-
skip_cache=True,
-
seen_list=seen_list
-
)) > 1:
+ if( listname == 'genre' and
self.getConfig('add_genre_when_multi_category')
+ and len(self.getList('category',
+ removeallentities=False,
+ # to avoid inf loops if genre/cat substs
+ includelist=includelist+[listname],
+ doreplacements=False,
+ skip_cache=True,
+ seen_list=seen_list
+ )) > 1
+ and self.getConfig('add_genre_when_multi_category') not in
retlist ):
retlist.append(self.getConfig('add_genre_when_multi_category'))
if retlist:
@@ -1111,15 +1113,24 @@
# remove dups and sort.
retlist = sorted(list(set(retlist)))
- ## Add value of add_genre_when_multi_category to
- ## category if there's more than one category
- ## value (before this, obviously). Applied
- ## *after* doReplacements. For normalization
- ## crusaders who want Crossover as a category
- ## instead of genre. Moved after dedup'ing so
- ## consolidated category values don't count.
- if listname == 'category' and
self.getConfig('add_category_when_multi_category') and len(retlist) > 1:
-
retlist.append(self.getConfig('add_category_when_multi_category'))
+ ## Add value of add_genre_when_multi_category to
+ ## category if there's more than one category
+ ## value (before this, obviously). Applied
+ ## *after* doReplacements. For normalization
+ ## crusaders who want Crossover as a category
+ ## instead of genre. Moved after dedup'ing so
+ ## consolidated category values don't count.
+ if( listname == 'category'
+ and self.getConfig('add_category_when_multi_category')
+ and len(retlist) > 1
+ and self.getConfig('add_category_when_multi_category') not
in retlist ):
+
retlist.append(self.getConfig('add_category_when_multi_category'))
+ ## same sort as above, but has to be after due to
+ ## changing list. unique filter not needed: 'not
+ ## in retlist' check
+ if not (listname in ('author','authorUrl','authorId') or
self.getConfig('keep_in_order_'+listname)):
+ retlist = sorted(list(set(retlist)))
+
else:
retlist = []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/FanFicFare-4.16.0/setup.py
new/FanFicFare-4.17.0/setup.py
--- old/FanFicFare-4.16.0/setup.py 2022-09-19 19:20:42.000000000 +0200
+++ new/FanFicFare-4.17.0/setup.py 2022-10-18 18:47:27.000000000 +0200
@@ -26,7 +26,7 @@
name=package_name,
# Versions should comply with PEP440.
- version="4.16.0",
+ version="4.17.0",
description='A tool for downloading fanfiction to eBook formats',
long_description=long_description,