From 3829c05a5bbcca484d067ffcc7437d5632d82c86 Mon Sep 17 00:00:00 2001 From: Jim Miller Date: Sun, 22 Jul 2012 17:35:00 -0500 Subject: [PATCH] Really intergrate new adapters (forgot to save adapters/__init__.py) --- calibre-plugin/__init__.py | 2 +- fanficdownloader/adapters/__init__.py | 3 +++ fanficdownloader/adapters/adapter_yourfanfictioncom.py | 7 +++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/calibre-plugin/__init__.py b/calibre-plugin/__init__.py index b709a5a..a94afba 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, 5, 45) + version = (1, 5, 46) minimum_calibre_version = (0, 8, 30) #: This field defines the GUI plugin class that contains all the code diff --git a/fanficdownloader/adapters/__init__.py b/fanficdownloader/adapters/__init__.py index 14010ea..92fb1df 100644 --- a/fanficdownloader/adapters/__init__.py +++ b/fanficdownloader/adapters/__init__.py @@ -89,6 +89,9 @@ import adapter_hpfanficarchivecom import adapter_svufictioncom import adapter_twilightarchivescom import adapter_wizardtalesnet +import adapter_nhamagicalworldsus +import adapter_hlfictionnet +import adapter_grangerenchantedcom ## 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_yourfanfictioncom.py b/fanficdownloader/adapters/adapter_yourfanfictioncom.py index b52b7e0..06c9b8f 100644 --- a/fanficdownloader/adapters/adapter_yourfanfictioncom.py +++ b/fanficdownloader/adapters/adapter_yourfanfictioncom.py @@ -36,6 +36,13 @@ class YourFanfictionComAdapter(BaseSiteAdapter): def __init__(self, config, url): BaseSiteAdapter.__init__(self, config, url) + # yourfanfiction.com blocks the default user-agent. However, + # when asked, they said it was just general anti-spam, not + # targeted as us and offered to 'whitelist our IP'. Clearly, + # that wouldn't work, but it does let me do this in good + # conscience: + self.opener.addheaders = [('User-agent', 'FFDL/1.5')] + self.decode = ["Windows-1252", "utf8"] # 1252 is a superset of iso-8859-1. # Most sites that claim to be