diff --git a/app.yaml b/app.yaml index f52edb44..7dbab286 100644 --- a/app.yaml +++ b/app.yaml @@ -1,6 +1,6 @@ # ffd-retief-hrd fanfictiondownloader -application: fanfictiondownloader -version: 4-4-22 +application: ffd-retief-hrd +version: 4-4-23 runtime: python27 api_version: 1 threadsafe: true diff --git a/calibre-plugin/__init__.py b/calibre-plugin/__init__.py index e0713b81..71eac38e 100644 --- a/calibre-plugin/__init__.py +++ b/calibre-plugin/__init__.py @@ -27,7 +27,7 @@ class FanFictionDownLoaderBase(InterfaceActionBase): description = 'UI plugin to download FanFiction stories from various sites.' supported_platforms = ['windows', 'osx', 'linux'] author = 'Jim Miller' - version = (1, 6, 4) + version = (1, 6, 5) minimum_calibre_version = (0, 8, 57) #: This field defines the GUI plugin class that contains all the code diff --git a/calibre-plugin/ffdl_plugin.py b/calibre-plugin/ffdl_plugin.py index 528aa6c8..ba6dba6c 100644 --- a/calibre-plugin/ffdl_plugin.py +++ b/calibre-plugin/ffdl_plugin.py @@ -220,10 +220,12 @@ class FanFictionDownLoaderPlugin(InterfaceAction): def create_menu_item_ex(self, parent_menu, menu_text, image=None, tooltip=None, shortcut=None, triggered=None, is_checked=None, shortcut_name=None, unique_name=None): + #print("create_menu_item_ex before %s"%unique_name) ac = create_menu_action_unique(self, parent_menu, menu_text, image, tooltip, shortcut, triggered, is_checked, shortcut_name, unique_name) self.actions_unique_map[ac.calibre_shortcut_unique_name] = ac.calibre_shortcut_unique_name self.menu_actions.append(ac) + #print("create_menu_item_ex after %s"%unique_name) return ac def plugin_button(self): diff --git a/defaults.ini b/defaults.ini index ff78d8f1..00a76025 100644 --- a/defaults.ini +++ b/defaults.ini @@ -561,6 +561,19 @@ cover_exclusion_regexp:/images/.*?ribbon.gif ## this should go in your personal.ini, not defaults.ini. #is_adult:true +[www.dracoandginny.com] +## Some sites require login (or login for some rated stories) The +## program can prompt you, or you can save it in config. In +## commandline version, this should go in your personal.ini, not +## defaults.ini. +#username:YourName +#password:yourpassword + +## Some sites also require the user to confirm they are adult for +## adult content. In commandline version, this should go in your +## personal.ini, not defaults.ini. +#is_adult:true + [www.thealphagate.com] [www.checkmated.com] @@ -685,6 +698,12 @@ cover_exclusion_regexp:/stories/999/images/.*?_trophy.png [www.prisonbreakfic.net] +[www.scarvesandcoffee.net] +## Some sites do not require a login, but do require the user to +## confirm they are adult for adult content. In commandline version, +## this should go in your personal.ini, not defaults.ini. +#is_adult:true + [www.siye.co.uk] [www.squidge.org/peja] @@ -700,6 +719,14 @@ titlepage_entries: series,category,genre,language,status,datePublished,dateUpdat [www.storiesofarda.com] +[www.thepetulantpoetess.com] +## Some sites require login (or login for some rated stories) The +## program can prompt you, or you can save it in config. In +## commandline version, this should go in your personal.ini, not +## defaults.ini. +#username:YourName +#password:yourpassword + [www.thewriterscoffeeshop.com] ## Some sites require login (or login for some rated stories) The ## program can prompt you, or you can save it in config. In @@ -774,6 +801,8 @@ collect_series: false ## personal.ini, not defaults.ini. #is_adult:true +[www.wolverineandrogue.com] + [www.wraithbait.com] ## Some sites do not require a login, but do require the user to ## confirm they are adult for adult content. In commandline version, diff --git a/fanficdownloader/adapters/__init__.py b/fanficdownloader/adapters/__init__.py index aad36197..849b87ff 100644 --- a/fanficdownloader/adapters/__init__.py +++ b/fanficdownloader/adapters/__init__.py @@ -92,6 +92,10 @@ import adapter_wizardtalesnet import adapter_nhamagicalworldsus import adapter_hlfictionnet import adapter_grangerenchantedcom +import adapter_dracoandginnycom +import adapter_scarvesandcoffeenet +import adapter_thepetulantpoetesscom +import adapter_wolverineandroguecom ## This bit of complexity allows adapters to be added by just adding ## importing. It eliminates the long if/else clauses we used to need diff --git a/fanficdownloader/adapters/adapter_dracoandginnycom.py b/fanficdownloader/adapters/adapter_dracoandginnycom.py index 389c42cc..ee3736a8 100644 --- a/fanficdownloader/adapters/adapter_dracoandginnycom.py +++ b/fanficdownloader/adapters/adapter_dracoandginnycom.py @@ -59,6 +59,8 @@ class DracoAndGinnyComAdapter(BaseSiteAdapter): # the site itself isn't likely to label them as such, so we # do. self.story.addToList("category","Harry Potter") + self.story.addToList("characters","Ginny Weasley") + self.story.addToList("characters","Draco Malfoy") # The date format will vary from site to site. # http://docs.python.org/library/datetime.html#strftime-strptime-behavior diff --git a/fanficdownloader/adapters/adapter_scarvesandcoffeenet.py b/fanficdownloader/adapters/adapter_scarvesandcoffeenet.py index b5549a56..8c0ccf28 100644 --- a/fanficdownloader/adapters/adapter_scarvesandcoffeenet.py +++ b/fanficdownloader/adapters/adapter_scarvesandcoffeenet.py @@ -59,6 +59,8 @@ class ScarvesAndCoffeeNetAdapter(BaseSiteAdapter): # the site itself isn't likely to label them as such, so we # do. self.story.addToList("category","Glee") + self.story.addToList("characters","Kurt Hummel") + self.story.addToList("characters","Blaine Anderson") # The date format will vary from site to site. # http://docs.python.org/library/datetime.html#strftime-strptime-behavior diff --git a/fanficdownloader/adapters/adapter_wolverineandroguecom.py b/fanficdownloader/adapters/adapter_wolverineandroguecom.py index 095dff57..25d664ea 100644 --- a/fanficdownloader/adapters/adapter_wolverineandroguecom.py +++ b/fanficdownloader/adapters/adapter_wolverineandroguecom.py @@ -58,8 +58,9 @@ class WolverineAndRogueComAdapter(BaseSiteAdapter): # If all stories from the site fall into the same category, # the site itself isn't likely to label them as such, so we # do. - self.story.addToList("category","Wolverine") - self.story.addToList("category","Rogue") + self.story.addToList("category","X-Men Movie") + self.story.addToList("characters","Wolverine") + self.story.addToList("characters","Rogue") # The date format will vary from site to site. # http://docs.python.org/library/datetime.html#strftime-strptime-behavior diff --git a/index.html b/index.html index 4243e0ab..c8b36ea9 100644 --- a/index.html +++ b/index.html @@ -54,6 +54,15 @@ much easier.

+

New Sites

+

+ Now supporing www.dracoandginny.com, + www.scarvesandcoffee.net, www.thepetulantpoetess.com and + www.wolverineandrogue.com. Thanks, Ida! +

+

+ FFDL now supports over 70 different fanfiction sites. +

Questions? Check out our FAQs. @@ -62,7 +71,7 @@ If you have any problems with this application, please report them in the FanFictionDownLoader Google Group. The - Previous Version is also available for you to use if necessary. + Previous Version is also available for you to use if necessary.

{{ error_message }} @@ -499,6 +508,26 @@ Use the URL of the story's chapter list, such as
http://nha.magical-worlds.us/viewstory.php?sid=1234 +
www.dracoandginny.com
+
+ Use the URL of the story's chapter list, such as +
http://www.dracoandginny.com/viewstory.php?sid=1234 +
+
www.scarvesandcoffee.net
+
+ Use the URL of the story's chapter list, such as +
http://www.scarvesandcoffee.net/viewstory.php?sid=1234 +
+
www.thepetulantpoetess.com
+
+ Use the URL of the story's chapter list, such as +
http://www.thepetulantpoetess.com/viewstory.php?sid=1234 +
+
www.wolverineandrogue.com
+
+ Use the URL of the story's chapter list, such as +
http://www.wolverineandrogue.com/wrfa/viewstory.php?sid=1234 +

A few additional things to know, which will make your life substantially easier: diff --git a/plugin-defaults.ini b/plugin-defaults.ini index 269f7394..948e6408 100644 --- a/plugin-defaults.ini +++ b/plugin-defaults.ini @@ -546,6 +546,19 @@ cover_exclusion_regexp:/images/.*?ribbon.gif ## this should go in your personal.ini, not defaults.ini. #is_adult:true +[www.dracoandginny.com] +## Some sites require login (or login for some rated stories) The +## program can prompt you, or you can save it in config. In +## commandline version, this should go in your personal.ini, not +## defaults.ini. +#username:YourName +#password:yourpassword + +## Some sites also require the user to confirm they are adult for +## adult content. In commandline version, this should go in your +## personal.ini, not defaults.ini. +#is_adult:true + [www.thealphagate.com] [www.checkmated.com] @@ -667,6 +680,12 @@ cover_exclusion_regexp:/stories/999/images/.*?_trophy.png [www.prisonbreakfic.net] +[www.scarvesandcoffee.net] +## Some sites do not require a login, but do require the user to +## confirm they are adult for adult content. In commandline version, +## this should go in your personal.ini, not defaults.ini. +#is_adult:true + [www.siye.co.uk] [www.squidge.org/peja] @@ -682,6 +701,14 @@ titlepage_entries: series,category,genre,language,status,datePublished,dateUpdat [www.storiesofarda.com] +[www.thepetulantpoetess.com] +## Some sites require login (or login for some rated stories) The +## program can prompt you, or you can save it in config. In +## commandline version, this should go in your personal.ini, not +## defaults.ini. +#username:YourName +#password:yourpassword + [www.thewriterscoffeeshop.com] ## Some sites require login (or login for some rated stories) The ## program can prompt you, or you can save it in config. In @@ -756,6 +783,8 @@ collect_series: false ## personal.ini, not defaults.ini. #is_adult:true +[www.wolverineandrogue.com] + [www.wraithbait.com] ## Some sites do not require a login, but do require the user to ## confirm they are adult for adult content. In commandline version,