From ab488cbbd67f62c00c548f16abc44ec312d6ab7f Mon Sep 17 00:00:00 2001 From: Techwolf Date: Mon, 8 Jul 2019 23:10:55 -0700 Subject: [PATCH] Add TheCyantianChronicles comics --- dosagelib/plugins/cyantian.py | 52 +++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 dosagelib/plugins/cyantian.py diff --git a/dosagelib/plugins/cyantian.py b/dosagelib/plugins/cyantian.py new file mode 100644 index 000000000..201a66460 --- /dev/null +++ b/dosagelib/plugins/cyantian.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs +# Copyright (C) 2012-2014 Bastian Kleineidam +# Copyright (C) 2015-2016 Tobias Gruetzmacher + +from __future__ import absolute_import, division, print_function + +from .common import _WordPressScraper + + +class TheCyantianChronicles(_WordPressScraper): + baseUrl = 'http://cyantian.net/' + stripUrl = baseUrl + 'comic/%s/' + + def __init__(self, name, story, first, last=None, nav=None): + super(TheCyantianChronicles, self).__init__('TheCyantianChronicles/' + name) + + self.url = self.baseUrl + 'story/' + story + '/' + self.firstStripUrl = self.stripUrl % first + + self.nav = nav + + if last: + self.url = self.stripUrl % last + self.endOfLife = True + + def getPrevUrl(self, url, data): + # Missing/broken navigation links + url = url.rstrip('/').rsplit('/', 1)[-1] + if self.nav and url in self.nav: + return self.stripUrl % self.nav[url] + return super(TheCyantianChronicles, self).getPrevUrl(url, data) + + @classmethod + def getmodules(cls): + return ( + cls('Akaelae', 'akaelae', '05182003', last='01202010'), + cls('Artwork', 'artwork', '07162003', nav={'d-71': 'a-17'}), + cls('CampusSafari', 'ocs', '10012000', last='03282008'), + cls('CampusSafariReboot', 'campus-safari', 'campus-safari-chapter-0'), + cls('CesileesDiary', 'cdiary', '12062001-2', last='05312006'), + cls('CookieCaper', 'cookie-caper', 'cookie-war', last='2014-04-17'), + cls('Darius', 'dbook-01', '03102010', last='darius-end'), + cls('DracoVulpes', 'draco-vulpes', 'draco-vulpes'), + cls('GenoworksSaga', 'genoworks-saga', '07012004'), + cls('GralenCraggHall', 'gchall', '07152002', last='chapter-6-05', nav={'chapter-5': '02152005'}), + cls('Kiet', 'kiet', 'kiet-c01'), + cls('NoAngel', 'no-angel', '08112001', last='12142006'), + cls('Pawprints', 'pawprints', 'airboard-page-1', last='pawprints-sheana-10'), + cls('RandomRamblings', 'random-ramblings', 'darrik'), + cls('SinkOrSwim', 'sos', 'sink-or-swim', last='ricochete-and-seraphim') + )