diff --git a/defaults.ini b/defaults.ini index 87b3f20..65a34ce 100644 --- a/defaults.ini +++ b/defaults.ini @@ -916,6 +916,12 @@ extra_titlepage_entries: readings,romance readings_label: Readings romance_label: Romance +[fhsarchive.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 + [ficwad.com] ## 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 ea905fd..0fe3796 100644 --- a/fanficdownloader/adapters/__init__.py +++ b/fanficdownloader/adapters/__init__.py @@ -138,6 +138,7 @@ import adapter_sheppardweircom import adapter_samandjacknet import adapter_csiforensicscom import adapter_lotrfanfictioncom +import adapter_fhsarchivecom ## 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_fhsarchivecom.py b/fanficdownloader/adapters/adapter_fhsarchivecom.py new file mode 100644 index 0000000..408d077 --- /dev/null +++ b/fanficdownloader/adapters/adapter_fhsarchivecom.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- + +# Copyright 2014 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 FHSArchiveComAdapter(BaseEfictionAdapter): + + @staticmethod + def getSiteDomain(): + return 'fhsarchive.com' + + @classmethod + def getPathToArchive(self): + return '/autoarchive' + + @classmethod + def getSiteAbbrev(self): + return 'fhsa' + + @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 FHSArchiveComAdapter + diff --git a/plugin-defaults.ini b/plugin-defaults.ini index 6576961..428d9d3 100644 --- a/plugin-defaults.ini +++ b/plugin-defaults.ini @@ -910,6 +910,12 @@ extra_titlepage_entries: readings,romance readings_label: Readings romance_label: Romance +[fhsarchive.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 + [ficwad.com] ## Some sites require login (or login for some rated stories) The ## program can prompt you, or you can save it in config. In