diff --git a/defaults.ini b/defaults.ini index 689565e..450526c 100644 --- a/defaults.ini +++ b/defaults.ini @@ -747,6 +747,17 @@ extracategories:Buffy: The Vampire Slayer extracharacters:Buffy, Spike extraships:Spike/Buffy +[devianthearts.com] +## 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 + +## Virtually all eFiction-based sites allow downloading the whole story in +## bulk using the 'Print' feature. If 'bulk_load' is set to 'true', both +## metadata and chapters can be loaded in one step +bulk_load:true + [dramione.org] ## Some sites require login (or login for some rated stories) The ## program can prompt you, or you can save it in config. In diff --git a/fanficdownloader/adapters/__init__.py b/fanficdownloader/adapters/__init__.py index e92da8f..cfc475f 100644 --- a/fanficdownloader/adapters/__init__.py +++ b/fanficdownloader/adapters/__init__.py @@ -140,6 +140,7 @@ import adapter_csiforensicscom import adapter_lotrfanfictioncom import adapter_fhsarchivecom import adapter_fanfictionjunkiesde +import adapter_devianthearts ## 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_devianthearts.py b/fanficdownloader/adapters/adapter_devianthearts.py new file mode 100644 index 0000000..be541ae --- /dev/null +++ b/fanficdownloader/adapters/adapter_devianthearts.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- + +# Copyright 2015 Fanficdownloader team +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Software: eFiction +import re +from base_efiction_adapter import BaseEfictionAdapter + +class DeviantHeartsAdapter(BaseEfictionAdapter): + + @staticmethod + def getSiteDomain(): + return 'devianthearts.com' + + @classmethod + def getSiteAbbrev(self): + return 'devhrt' + + @classmethod + def getDateFormat(self): + return "%m/%d/%y" + + # def handleMetadataPair(self, key, value): + # if key == 'Warnings': + # for val in re.split("\s*,\s*", value): + # if value == 'None': + # return + # else: + # # toss numbers only. + # self.story.addToList('warnings', filter(lambda x : not x.isdigit() , val)) + + # # elif 'Categories' in key: + # # for val in re.split("\s*>\s*", value): + # # self.story.addToList('category', val) + # else: + # super(FHSArchiveComAdapter, self).handleMetadataPair(key, value) + +def getClass(): + return DeviantHeartsAdapter + diff --git a/plugin-defaults.ini b/plugin-defaults.ini index d2aaa39..4cb63ea 100644 --- a/plugin-defaults.ini +++ b/plugin-defaults.ini @@ -723,6 +723,17 @@ extracategories:Buffy: The Vampire Slayer extracharacters:Buffy, Spike extraships:Spike/Buffy +[devianthearts.com] +## 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 + +## Virtually all eFiction-based sites allow downloading the whole story in +## bulk using the 'Print' feature. If 'bulk_load' is set to 'true', both +## metadata and chapters can be loaded in one step +bulk_load:true + [dramione.org] ## Some sites require login (or login for some rated stories) The ## program can prompt you, or you can save it in config. In