2755 lines
45 KiB
Python
2755 lines
45 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Copyright (C) 2004-2005 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 ..util import quote
|
|
from ..scraper import _ParserScraper
|
|
from ..output import out
|
|
|
|
# SmackJeeves is a crawlers nightmare - users are allowed to edit HTML
|
|
# directly. Additionally, users use unescaped < characters sometimes, which
|
|
# breaks the parse tree on libxml2 before 2.9.3...
|
|
|
|
|
|
class _SmackJeeves(_ParserScraper):
|
|
ONLY_COMICS = '[contains(@href, "/comics/")]'
|
|
|
|
prevSearch = (
|
|
'//a[@class="nav-prev"]' + ONLY_COMICS,
|
|
'//a[img[re:test(@alt, "prev", "i")]]' + ONLY_COMICS,
|
|
'//a[img[re:test(@src, "/(prev|back)")]]' + ONLY_COMICS,
|
|
'//a[re:test(@title, "previous", "i")]' + ONLY_COMICS,
|
|
'//a[re:test(text(), "prev|back", "i")]' + ONLY_COMICS,
|
|
'//select[@class="jumpbox"]/preceding::a[1]' + ONLY_COMICS,
|
|
)
|
|
|
|
nextSearch = (
|
|
'//a[@class="nav-next"]' + ONLY_COMICS,
|
|
'//a[img[re:test(@alt, "next", "i")]]' + ONLY_COMICS,
|
|
'//a[img[re:test(@src, "/next", "i")]]' + ONLY_COMICS,
|
|
'//a[re:test(@title, "next", "i")]' + ONLY_COMICS,
|
|
'//a[re:test(text(), "next", "i")]' + ONLY_COMICS,
|
|
'//select[@class="jumpbox"]/following::a[1]' + ONLY_COMICS,
|
|
)
|
|
|
|
imageSearch = (
|
|
'//img[@id="comic_image"]',
|
|
'//div[@id="comic-image"]//img',
|
|
'//img[@id="comic"]',
|
|
'//div[@id="comicset"]/object/param[@name="movie"]/@value',
|
|
)
|
|
|
|
broken_html_bugfix = True
|
|
|
|
@property
|
|
def name(self):
|
|
return 'SmackJeeves/' + super(_SmackJeeves, self).name[2:]
|
|
|
|
@property
|
|
def url(self):
|
|
if hasattr(self, 'host'):
|
|
return 'http://%s/comics/' % self.host
|
|
else:
|
|
return 'http://%s.smackjeeves.com/comics/' % self.sub
|
|
|
|
def starter(self):
|
|
"""Get start URL."""
|
|
start = self.url
|
|
if self.adult:
|
|
start = 'http://www.smackjeeves.com/mature.php?ref=' + quote(start)
|
|
data = self.getPage(start)
|
|
startimg = None
|
|
if not self.shouldSkipUrl(start, data):
|
|
startimg = self.fetchUrl(start, data, self.imageSearch)
|
|
prevurl = self.fetchUrl(start, data, self.prevSearch)
|
|
data = self.getPage(prevurl)
|
|
previmg = None
|
|
if not self.shouldSkipUrl(prevurl, data):
|
|
previmg = self.fetchUrl(prevurl, data, self.imageSearch)
|
|
if startimg and previmg and startimg == previmg:
|
|
out.debug("Matching! %s %s" % (prevurl, self.name))
|
|
return prevurl
|
|
else:
|
|
return self.fetchUrl(prevurl, data, self.nextSearch)
|
|
|
|
def namer(self, image_url, page_url):
|
|
parts = page_url.split('/')
|
|
name = parts[-2]
|
|
num = parts[-3]
|
|
return "%s_%s" % (name, num)
|
|
|
|
def shouldSkipUrl(self, url, data):
|
|
return data.xpath('//img[contains(@src, "/images/image_na.gif")]')
|
|
|
|
# do not edit anything below since these entries are generated from
|
|
# scripts/update_plugins.sh
|
|
# DO NOT REMOVE
|
|
|
|
|
|
class SJ20TimesKirby(_SmackJeeves):
|
|
sub = '20xkirby'
|
|
|
|
|
|
class SJ2Kingdoms(_SmackJeeves):
|
|
sub = '2kingdoms'
|
|
|
|
|
|
class SJ355Days(_SmackJeeves):
|
|
sub = '355days'
|
|
|
|
|
|
class SJAB(_SmackJeeves):
|
|
sub = 'alistairandboggart'
|
|
adult = True
|
|
|
|
|
|
class SJADoodleADay(_SmackJeeves):
|
|
sub = 'adoodleaday'
|
|
|
|
|
|
class SJAGirlAndHerShadow(_SmackJeeves):
|
|
sub = 'agirlandhershadow'
|
|
|
|
|
|
class SJAGirlontheServer(_SmackJeeves):
|
|
sub = 'girlontheserver'
|
|
|
|
|
|
class SJAKirbyKomic(_SmackJeeves):
|
|
sub = 'akirbykomic'
|
|
|
|
|
|
class SJALaMode(_SmackJeeves):
|
|
sub = 'alamode'
|
|
|
|
|
|
class SJANGELOU(_SmackJeeves):
|
|
sub = 'angelou-esp'
|
|
|
|
|
|
class SJAPTComic(_SmackJeeves):
|
|
sub = 'aptcomic'
|
|
|
|
|
|
class SJAQuestionOfCharacter(_SmackJeeves):
|
|
sub = 'aqoc'
|
|
|
|
|
|
class SJASongforElise(_SmackJeeves):
|
|
sub = 'asongforelise'
|
|
adult = True
|
|
|
|
|
|
class SJAYuriCollab(_SmackJeeves):
|
|
sub = 'ayuricollabbitches'
|
|
adult = True
|
|
|
|
|
|
class SJAarrevaara(_SmackJeeves):
|
|
sub = 'aarrevaara'
|
|
|
|
|
|
class SJAcidMonday(_SmackJeeves):
|
|
sub = 'acidmonday'
|
|
adult = True
|
|
|
|
|
|
class SJAdalsysla(_SmackJeeves):
|
|
sub = 'adalsysla'
|
|
|
|
|
|
class SJAddictiveScience(_SmackJeeves):
|
|
sub = 'addictivescience'
|
|
|
|
|
|
class SJAdventuresofLumandFriends(_SmackJeeves):
|
|
sub = 'aolaf'
|
|
|
|
|
|
class SJAdventuresoftheWeird(_SmackJeeves):
|
|
sub = 'adventuresoftheweird'
|
|
|
|
|
|
class SJAetherTheories(_SmackJeeves):
|
|
sub = 'aethertheories'
|
|
|
|
|
|
class SJAgeoftheGray(_SmackJeeves):
|
|
sub = 'ageofthegray'
|
|
adult = True
|
|
|
|
|
|
class SJAllInLOVE(_SmackJeeves):
|
|
sub = 'allinlove'
|
|
|
|
|
|
class SJAllStarHeroes(_SmackJeeves):
|
|
sub = 'allstarheroes'
|
|
|
|
|
|
class SJAloversRule(_SmackJeeves):
|
|
sub = 'aloversrule'
|
|
adult = True
|
|
|
|
|
|
class SJAlwaysDamnedWebcomic(_SmackJeeves):
|
|
sub = 'alwaysdamned'
|
|
adult = True
|
|
|
|
|
|
class SJAlwaysRainingHere(_SmackJeeves):
|
|
sub = 'alwaysraininghere'
|
|
|
|
|
|
class SJAmaravati(_SmackJeeves):
|
|
sub = 'amaravati'
|
|
|
|
|
|
class SJAmorVincitOmnia(_SmackJeeves):
|
|
sub = 'avo'
|
|
adult = True
|
|
|
|
|
|
class SJAmsdenEstate(_SmackJeeves):
|
|
sub = 'monsterous'
|
|
|
|
|
|
class SJAnathemacomics(_SmackJeeves):
|
|
sub = 'anathema-comics'
|
|
|
|
|
|
class SJAngelGuardian(_SmackJeeves):
|
|
sub = 'angel-guardian'
|
|
|
|
|
|
class SJAnimalAdventures(_SmackJeeves):
|
|
sub = 'animaladventures'
|
|
|
|
|
|
class SJAnimayhem(_SmackJeeves):
|
|
sub = 'animayhem'
|
|
|
|
|
|
class SJAnythingaboutnothing(_SmackJeeves):
|
|
host = 'www.anythingcomic.com'
|
|
|
|
|
|
class SJArchportCityChronicles(_SmackJeeves):
|
|
sub = 'tjs'
|
|
|
|
|
|
class SJArea9(_SmackJeeves):
|
|
sub = 'area-9'
|
|
|
|
|
|
class SJAroundtheBlock(_SmackJeeves):
|
|
sub = 'aroundtheblock'
|
|
|
|
|
|
class SJArtofAFantasy(_SmackJeeves):
|
|
sub = 'artofafantasy'
|
|
adult = True
|
|
|
|
|
|
class SJAtArmsLength(_SmackJeeves):
|
|
sub = 'atarmslength'
|
|
|
|
|
|
class SJAtlaswebcomic(_SmackJeeves):
|
|
sub = 'atlaswebcomic'
|
|
|
|
|
|
class SJAutophobia(_SmackJeeves):
|
|
sub = 'autophobia'
|
|
adult = True
|
|
|
|
|
|
class SJAware(_SmackJeeves):
|
|
sub = 'aware'
|
|
|
|
|
|
class SJAwesomeSauce(_SmackJeeves):
|
|
sub = 'tdawesomesauce'
|
|
|
|
|
|
class SJAyaTakeo(_SmackJeeves):
|
|
sub = 'ayatakeo'
|
|
|
|
|
|
class SJBLDShortComics(_SmackJeeves):
|
|
sub = 'bldshortcomics'
|
|
|
|
|
|
class SJBabysittingFourDemons(_SmackJeeves):
|
|
sub = 'babysitting4demons'
|
|
|
|
|
|
class SJBabywhatsyoursign(_SmackJeeves):
|
|
sub = 'babywhatsyoursign'
|
|
|
|
|
|
class SJBadassRiz(_SmackJeeves):
|
|
sub = 'badassriz'
|
|
|
|
|
|
class SJBallandChain(_SmackJeeves):
|
|
sub = 'ballandchain'
|
|
|
|
|
|
class SJBard(_SmackJeeves):
|
|
sub = 'barred'
|
|
|
|
|
|
class SJBassComicAdventures(_SmackJeeves):
|
|
sub = 'basscomicadventures'
|
|
|
|
|
|
class SJBattleSequence(_SmackJeeves):
|
|
sub = 'battlesequence'
|
|
|
|
|
|
class SJBearhoney(_SmackJeeves):
|
|
sub = 'bear-honey'
|
|
|
|
|
|
class SJBearlyAbel(_SmackJeeves):
|
|
sub = 'bearlyabel'
|
|
|
|
|
|
class SJBeautifulLies(_SmackJeeves):
|
|
sub = 'beautiful-lies'
|
|
|
|
|
|
class SJBehindTheObsidianMirror(_SmackJeeves):
|
|
sub = 'obsidian-mirror'
|
|
adult = True
|
|
|
|
|
|
class SJBehindtheglasscurtain(_SmackJeeves):
|
|
sub = 'g1ass'
|
|
|
|
|
|
class SJBeretCatComics(_SmackJeeves):
|
|
sub = 'beretcatcomics'
|
|
|
|
|
|
class SJBestbrosforever(_SmackJeeves):
|
|
sub = 'bestbrosforever'
|
|
|
|
|
|
class SJBetovering(_SmackJeeves):
|
|
sub = 'betovering'
|
|
adult = True
|
|
|
|
|
|
class SJBettencourtHotel(_SmackJeeves):
|
|
sub = 'bettencourt'
|
|
|
|
|
|
class SJBetweenLightandDark(_SmackJeeves):
|
|
sub = 'bld'
|
|
|
|
|
|
class SJBetweenWorlds(_SmackJeeves):
|
|
sub = 'betweenworlds'
|
|
adult = True
|
|
|
|
|
|
class SJBetwin(_SmackJeeves):
|
|
sub = 'be-twin'
|
|
|
|
|
|
class SJBeyondTheOrdinary(_SmackJeeves):
|
|
sub = 'bto'
|
|
|
|
|
|
class SJBioRevelation(_SmackJeeves):
|
|
sub = 'biorevelation'
|
|
|
|
|
|
class SJBl3(_SmackJeeves):
|
|
sub = 'bl3'
|
|
|
|
|
|
class SJBlackDragon(_SmackJeeves):
|
|
sub = 'blackdragon'
|
|
|
|
|
|
class SJBlackFridayRule(_SmackJeeves):
|
|
sub = 'blackfridayrule'
|
|
|
|
|
|
class SJBlackSheepcomic(_SmackJeeves):
|
|
sub = 'black-sheep'
|
|
|
|
|
|
class SJBlackandBlue(_SmackJeeves):
|
|
sub = 'black-and-blue'
|
|
|
|
|
|
class SJBlackdemon(_SmackJeeves):
|
|
sub = 'blackdemoncomics'
|
|
|
|
|
|
class SJBleachRedux(_SmackJeeves):
|
|
sub = 'bleachredux'
|
|
|
|
|
|
class SJBlindandBlue(_SmackJeeves):
|
|
sub = 'blindandblue'
|
|
|
|
|
|
class SJBloodhuntersBirthofavampire(_SmackJeeves):
|
|
sub = 'bloodhunters'
|
|
|
|
|
|
class SJBloomaPokemonConquestComic(_SmackJeeves):
|
|
sub = 'bloomconquest'
|
|
|
|
|
|
class SJBlueHair(_SmackJeeves):
|
|
sub = 'bluehair'
|
|
|
|
|
|
class SJBlueWell(_SmackJeeves):
|
|
host = 'www.bluewellcomic.com'
|
|
|
|
|
|
class SJBoilingPointofBrain(_SmackJeeves):
|
|
sub = 'bpob'
|
|
|
|
|
|
class SJBoogeyDancingMonkeyPot(_SmackJeeves):
|
|
sub = 'monkeypot'
|
|
|
|
|
|
class SJBreachofAgency(_SmackJeeves):
|
|
sub = 'breachofagency'
|
|
|
|
|
|
class SJBreakfastonaCliff(_SmackJeeves):
|
|
sub = 'boac'
|
|
|
|
|
|
class SJBurn(_SmackJeeves):
|
|
sub = 'burn'
|
|
|
|
|
|
class SJByTheBook(_SmackJeeves):
|
|
sub = 'bythebook'
|
|
|
|
|
|
class SJCafeAmargo(_SmackJeeves):
|
|
sub = 'cafeamargo'
|
|
|
|
|
|
class SJCafeSuada(_SmackJeeves):
|
|
sub = 'cafesuada'
|
|
|
|
|
|
class SJCambion(_SmackJeeves):
|
|
sub = 'cambion'
|
|
adult = True
|
|
|
|
|
|
class SJCaptiveSoul(_SmackJeeves):
|
|
sub = 'captive-soul'
|
|
|
|
|
|
class SJCaravanaTaleofGodsandMen(_SmackJeeves):
|
|
sub = 'caravantale'
|
|
|
|
|
|
class SJCataclysm(_SmackJeeves):
|
|
sub = 'cataclysm'
|
|
|
|
|
|
class SJCatnip(_SmackJeeves):
|
|
sub = 'catnipmanga'
|
|
adult = True
|
|
|
|
|
|
class SJCerintha(_SmackJeeves):
|
|
sub = 'cerintha'
|
|
|
|
|
|
class SJChampionofChampions(_SmackJeeves):
|
|
sub = 'championofchampions'
|
|
|
|
|
|
class SJChampionsandHeroesAgeofDragons(_SmackJeeves):
|
|
sub = 'championsandheroes'
|
|
|
|
|
|
class SJChannelDDDNews(_SmackJeeves):
|
|
sub = 'dddnews'
|
|
|
|
|
|
class SJChaosAdventuresII(_SmackJeeves):
|
|
sub = 'chaosadventuresii'
|
|
|
|
|
|
class SJChaoticNation(_SmackJeeves):
|
|
sub = 'chaoticnation'
|
|
adult = True
|
|
|
|
|
|
class SJCharaktermaske(_SmackJeeves):
|
|
sub = 'charaktermaske'
|
|
|
|
|
|
class SJChatuplines(_SmackJeeves):
|
|
sub = 'chatuplines'
|
|
|
|
|
|
class SJCheneysGotaGun(_SmackJeeves):
|
|
sub = 'cheney'
|
|
|
|
|
|
class SJChickenScratches(_SmackJeeves):
|
|
sub = 'chickenscratches'
|
|
|
|
|
|
class SJChildrenoftheNight(_SmackJeeves):
|
|
sub = 'cotn'
|
|
|
|
|
|
class SJChimiMouryou(_SmackJeeves):
|
|
sub = 'cmmr'
|
|
|
|
|
|
class SJChocolatewithPepper(_SmackJeeves):
|
|
sub = 'chocolate-with-pepper'
|
|
|
|
|
|
class SJCityFolk(_SmackJeeves):
|
|
sub = 'cityfolk'
|
|
|
|
|
|
class SJClairetheFlare(_SmackJeeves):
|
|
sub = 'clairetheflare'
|
|
|
|
|
|
class SJCleanCure(_SmackJeeves):
|
|
sub = 'cleanpluscure'
|
|
|
|
|
|
class SJClockworkAtrium(_SmackJeeves):
|
|
host = 'www.clockwork-atrium.com'
|
|
|
|
|
|
class SJCloeRemembrance(_SmackJeeves):
|
|
sub = 'cloe'
|
|
|
|
|
|
class SJCockroachTheater(_SmackJeeves):
|
|
sub = 'cockroachtheater'
|
|
|
|
|
|
class SJCogs(_SmackJeeves):
|
|
sub = 'cogs'
|
|
|
|
|
|
class SJColorBlind(_SmackJeeves):
|
|
sub = 'cbcomic'
|
|
|
|
|
|
class SJConventionalWisdom(_SmackJeeves):
|
|
sub = 'conventionalwisdom'
|
|
|
|
|
|
class SJCosmicDash(_SmackJeeves):
|
|
sub = 'cosmicdash'
|
|
|
|
|
|
class SJCramberries(_SmackJeeves):
|
|
sub = 'cramberries'
|
|
|
|
|
|
class SJCrimsonWings(_SmackJeeves):
|
|
sub = 'crimson-wings'
|
|
|
|
|
|
class SJCrocodileTears(_SmackJeeves):
|
|
sub = 'crocodile-tears'
|
|
adult = True
|
|
|
|
|
|
class SJCupofOlea(_SmackJeeves):
|
|
sub = 'cupofolea'
|
|
|
|
|
|
class SJCurseLineage(_SmackJeeves):
|
|
sub = 'curselineage'
|
|
|
|
|
|
class SJDBON(_SmackJeeves):
|
|
sub = 'dbondoujin'
|
|
|
|
|
|
class SJDEGAF(_SmackJeeves):
|
|
sub = 'degaf'
|
|
|
|
|
|
class SJDEMENTED(_SmackJeeves):
|
|
sub = 'demented'
|
|
adult = True
|
|
|
|
|
|
class SJDaddysGirl(_SmackJeeves):
|
|
sub = 'daddysgirl'
|
|
|
|
|
|
class SJDanielleDark(_SmackJeeves):
|
|
sub = 'danielledark'
|
|
|
|
|
|
class SJDasien(_SmackJeeves):
|
|
sub = 'dasien'
|
|
adult = True
|
|
|
|
|
|
class SJDavidDoesntGetIt(_SmackJeeves):
|
|
sub = 'daviddoesntgetit'
|
|
|
|
|
|
class SJDeadtoDay(_SmackJeeves):
|
|
sub = 'deadtoday'
|
|
|
|
|
|
class SJDeathNoteIridescent(_SmackJeeves):
|
|
sub = 'dn-iridescent'
|
|
|
|
|
|
class SJDefyingGravityTheFourGreatGuardians(_SmackJeeves):
|
|
sub = 'defyinggravitycomic'
|
|
|
|
|
|
class SJDemonBattles(_SmackJeeves):
|
|
sub = 'demonbattles'
|
|
|
|
|
|
class SJDemonCat(_SmackJeeves):
|
|
sub = 'demoncat'
|
|
|
|
|
|
class SJDemonEater(_SmackJeeves):
|
|
sub = 'demoneater'
|
|
adult = True
|
|
|
|
|
|
class SJDenizensAttention(_SmackJeeves):
|
|
sub = 'denizensattention'
|
|
|
|
|
|
class SJDevilsCake(_SmackJeeves):
|
|
sub = 'devilscake'
|
|
|
|
|
|
class SJDevotoMusicinHell(_SmackJeeves):
|
|
sub = 'devoto'
|
|
adult = True
|
|
|
|
|
|
class SJDiaz(_SmackJeeves):
|
|
sub = 'diaz'
|
|
|
|
|
|
class SJDiexemor(_SmackJeeves):
|
|
sub = 'diexemor'
|
|
|
|
|
|
class SJDigimonSaviors(_SmackJeeves):
|
|
sub = 'digimonsaviors'
|
|
|
|
|
|
class SJDigimonTamersMiraiProject(_SmackJeeves):
|
|
sub = 'digimontamersmiraiproject'
|
|
|
|
|
|
class SJDigisRandomSpriteshack(_SmackJeeves):
|
|
sub = 'digisspriteshack'
|
|
|
|
|
|
class SJDigitalInsanity(_SmackJeeves):
|
|
sub = 'digitalinsanity'
|
|
|
|
|
|
class SJDoItYourself(_SmackJeeves):
|
|
sub = 'diy'
|
|
|
|
|
|
class SJDontdie(_SmackJeeves):
|
|
sub = 'dontdie'
|
|
|
|
|
|
class SJDoodleBeans(_SmackJeeves):
|
|
sub = 'beans'
|
|
adult = True
|
|
|
|
|
|
class SJDoodlingAround(_SmackJeeves):
|
|
sub = 'doodlingcomic'
|
|
|
|
|
|
class SJDoomsdayMyDear(_SmackJeeves):
|
|
host = 'www.doomsdaymydear.com'
|
|
|
|
|
|
class SJDragonKid(_SmackJeeves):
|
|
sub = 'dragonkid'
|
|
|
|
|
|
class SJDragonet(_SmackJeeves):
|
|
sub = 'dragonet'
|
|
|
|
|
|
class SJDumpofManyPeople(_SmackJeeves):
|
|
sub = 'dumpofmanypeople'
|
|
|
|
|
|
class SJDungeonHordes(_SmackJeeves):
|
|
sub = 'dungeonhordes'
|
|
|
|
|
|
class SJEATATAU(_SmackJeeves):
|
|
sub = 'eatatau'
|
|
|
|
|
|
class SJEDepthAngel(_SmackJeeves):
|
|
sub = 'edepth'
|
|
|
|
|
|
class SJERAConvergence(_SmackJeeves):
|
|
sub = 'convergence'
|
|
|
|
|
|
class SJERAIbuki(_SmackJeeves):
|
|
sub = 'eraibuki'
|
|
|
|
|
|
class SJERRORERROR(_SmackJeeves):
|
|
sub = 'errorerror'
|
|
|
|
|
|
class SJEidolonWhispersofEternity(_SmackJeeves):
|
|
sub = 'whispersofeternity'
|
|
|
|
|
|
class SJElementalSpirits(_SmackJeeves):
|
|
sub = 'elementalspirits'
|
|
|
|
|
|
class SJEnkeltenKentta(_SmackJeeves):
|
|
sub = 'enkeltenkentta'
|
|
adult = True
|
|
|
|
|
|
class SJEnthrall(_SmackJeeves):
|
|
sub = 'enthrall'
|
|
adult = True
|
|
|
|
|
|
class SJEntreeuxdeux(_SmackJeeves):
|
|
sub = 'entreuxdeux'
|
|
|
|
|
|
class SJEntuthrie(_SmackJeeves):
|
|
sub = 'entuthrie'
|
|
adult = True
|
|
|
|
|
|
class SJEorah(_SmackJeeves):
|
|
sub = 'eorah'
|
|
adult = True
|
|
|
|
|
|
class SJEozinKadonnutKuningas(_SmackJeeves):
|
|
sub = 'eozinkadonnutkuningas'
|
|
|
|
|
|
class SJEpicChaos(_SmackJeeves):
|
|
sub = 'epicchaos'
|
|
|
|
|
|
class SJEqusopia(_SmackJeeves):
|
|
sub = 'equsopia'
|
|
|
|
|
|
class SJEternalKnights(_SmackJeeves):
|
|
sub = 'eternalknights'
|
|
adult = True
|
|
|
|
|
|
class SJEuphemisticEephus(_SmackJeeves):
|
|
sub = 'eephus'
|
|
|
|
|
|
class SJEvD(_SmackJeeves):
|
|
sub = 'ev-d'
|
|
|
|
|
|
class SJEvilPlan(_SmackJeeves):
|
|
host = 'evilplan.thewebcomic.com'
|
|
|
|
|
|
class SJExperimentalMegaman(_SmackJeeves):
|
|
sub = 'ex90081'
|
|
|
|
|
|
class SJEyesofaDigimon(_SmackJeeves):
|
|
sub = 'eoad'
|
|
|
|
|
|
class SJFailureConfetti(_SmackJeeves):
|
|
sub = 'failureconfetti'
|
|
|
|
|
|
class SJFairyTaleRejects(_SmackJeeves):
|
|
host = 'fairytalerejects.thewebcomic.com'
|
|
adult = True
|
|
|
|
|
|
class SJFaithlessDigitals(_SmackJeeves):
|
|
sub = 'faithlessdigitals'
|
|
|
|
|
|
class SJFalconersDailyStrips(_SmackJeeves):
|
|
sub = 'falcdaily'
|
|
|
|
|
|
class SJFallenAngelslove(_SmackJeeves):
|
|
sub = 'fallen-angels-love'
|
|
|
|
|
|
class SJFarOutMantic(_SmackJeeves):
|
|
sub = 'meteorflo'
|
|
|
|
|
|
class SJFarOutThere(_SmackJeeves):
|
|
sub = 'faroutthere'
|
|
|
|
|
|
class SJFatetheAnthologyofKaienandhisfuckingmagicfriends(_SmackJeeves):
|
|
sub = 'fatehoho'
|
|
|
|
|
|
class SJFemmeSchism(_SmackJeeves):
|
|
sub = 'femmeschism'
|
|
|
|
|
|
class SJFeralGentry(_SmackJeeves):
|
|
sub = 'feralgentry'
|
|
|
|
|
|
class SJFinalArcanum(_SmackJeeves):
|
|
sub = 'finalarcanum'
|
|
|
|
|
|
class SJFireredLisasReise(_SmackJeeves):
|
|
sub = 'lisasreise'
|
|
|
|
|
|
class SJFlyorFail(_SmackJeeves):
|
|
sub = 'flyorfail'
|
|
|
|
|
|
class SJForcedSeduction(_SmackJeeves):
|
|
sub = 'forced-seduction'
|
|
|
|
|
|
class SJForestHill(_SmackJeeves):
|
|
host = 'www.foresthillcomic.org'
|
|
|
|
|
|
class SJForgettheDistance(_SmackJeeves):
|
|
sub = 'forgetthedistance'
|
|
adult = True
|
|
|
|
|
|
class SJFortheloveofabrokenstring(_SmackJeeves):
|
|
sub = 'fortheloveofabrokenstring'
|
|
|
|
|
|
class SJFramebyFrame(_SmackJeeves):
|
|
sub = 'frame-by-frame'
|
|
adult = True
|
|
|
|
|
|
class SJFrenzyRedux(_SmackJeeves):
|
|
sub = 'theadventuresoffrenzy'
|
|
|
|
|
|
class SJFrobertTheDemon(_SmackJeeves):
|
|
sub = 'frobby'
|
|
|
|
|
|
class SJFromnowonImagirl(_SmackJeeves):
|
|
sub = 'fromnowonimagirl'
|
|
|
|
|
|
class SJFruitloopAndMrDownbeat(_SmackJeeves):
|
|
sub = 'fruitbeat'
|
|
|
|
|
|
class SJGamerCafe(_SmackJeeves):
|
|
sub = 'gamercafe'
|
|
|
|
|
|
class SJGamesPeoplePlayUpdatedWeekly(_SmackJeeves):
|
|
sub = 'gamespeopleplay'
|
|
|
|
|
|
class SJGardenofHearts(_SmackJeeves):
|
|
sub = 'gardenofhearts'
|
|
|
|
|
|
class SJGayBacon(_SmackJeeves):
|
|
sub = 'gaybacon'
|
|
|
|
|
|
class SJGayTimesWithRyanandJay(_SmackJeeves):
|
|
sub = 'gtwraj'
|
|
|
|
|
|
class SJGetUpandGo(_SmackJeeves):
|
|
sub = 'getupandgo'
|
|
adult = True
|
|
|
|
|
|
class SJGigisNuzlockeRuns(_SmackJeeves):
|
|
sub = 'giginuzlocke'
|
|
|
|
|
|
class SJGloomverse(_SmackJeeves):
|
|
sub = 'gloomverse'
|
|
|
|
|
|
class SJGnoph(_SmackJeeves):
|
|
sub = 'gnoph'
|
|
|
|
|
|
class SJGoldenSunGenerationsAftermathVolume1(_SmackJeeves):
|
|
sub = 'gsgbtsyearone'
|
|
|
|
|
|
class SJGoldenSunGenerationsColossoVolume6(_SmackJeeves):
|
|
sub = 'gsgbtsyearthree'
|
|
|
|
|
|
class SJGoodGame(_SmackJeeves):
|
|
sub = 'goodgame'
|
|
|
|
|
|
class SJGoodnightMrsGoose(_SmackJeeves):
|
|
sub = 'goose'
|
|
|
|
|
|
class SJGrayscale(_SmackJeeves):
|
|
sub = 'grayscale'
|
|
adult = True
|
|
|
|
|
|
class SJGuardianGhost(_SmackJeeves):
|
|
sub = 'guardianghost'
|
|
|
|
|
|
class SJGuardiansoftheGalaxialSpaceways(_SmackJeeves):
|
|
sub = 'ggs'
|
|
|
|
|
|
class SJHIPS(_SmackJeeves):
|
|
sub = 'hips'
|
|
adult = True
|
|
|
|
|
|
class SJHabibahssong(_SmackJeeves):
|
|
sub = 'habibahsong'
|
|
|
|
|
|
class SJHarvestMoonParadiseFound(_SmackJeeves):
|
|
sub = 'paradisefound'
|
|
|
|
|
|
class SJHatShop(_SmackJeeves):
|
|
sub = 'hatshop'
|
|
|
|
|
|
class SJHatethePlayer(_SmackJeeves):
|
|
host = 'hatetheplayer.thewebcomic.com'
|
|
|
|
|
|
class SJHelix(_SmackJeeves):
|
|
sub = 'helix'
|
|
adult = True
|
|
|
|
|
|
class SJHeltonShelton(_SmackJeeves):
|
|
sub = 'heltonshelton'
|
|
|
|
|
|
class SJHephaestus(_SmackJeeves):
|
|
host = 'hephaestus.thewebcomic.com'
|
|
|
|
|
|
class SJHereBeVoodoo(_SmackJeeves):
|
|
sub = 'herebevoodoo'
|
|
adult = True
|
|
|
|
|
|
class SJHiddenStrengthAWhiteNuzlocke(_SmackJeeves):
|
|
sub = 'hsnuzlocke'
|
|
|
|
|
|
class SJHinata(_SmackJeeves):
|
|
sub = 'hinata'
|
|
|
|
|
|
class SJHitandMiss(_SmackJeeves):
|
|
sub = 'hitandmiss'
|
|
|
|
|
|
class SJHolocrash(_SmackJeeves):
|
|
sub = 'holocrash'
|
|
adult = True
|
|
|
|
|
|
class SJHolyBlasphemy(_SmackJeeves):
|
|
sub = 'holyblasphemy'
|
|
|
|
|
|
class SJHolyCrap(_SmackJeeves):
|
|
sub = 'holycrap'
|
|
|
|
|
|
class SJHopeForABreeze(_SmackJeeves):
|
|
sub = 'h4ab'
|
|
|
|
|
|
class SJHouseofCraziness(_SmackJeeves):
|
|
sub = 'craziness'
|
|
|
|
|
|
class SJHurrocksFardel(_SmackJeeves):
|
|
sub = 'hurrocksfardel'
|
|
|
|
|
|
class SJHybristorific(_SmackJeeves):
|
|
sub = 'hybristorific'
|
|
adult = True
|
|
|
|
|
|
class SJIWishIggysWish(_SmackJeeves):
|
|
sub = 'i-wish-comic'
|
|
|
|
|
|
class SJIciVontLesMorts(_SmackJeeves):
|
|
sub = 'icivontlesmorts'
|
|
adult = True
|
|
|
|
|
|
class SJInHouseHumor(_SmackJeeves):
|
|
sub = 'inhousehumor'
|
|
|
|
|
|
class SJInchoatica(_SmackJeeves):
|
|
sub = 'inchoatica'
|
|
|
|
|
|
class SJIngloriousbasterds(_SmackJeeves):
|
|
sub = 'ingloriousbasterds'
|
|
|
|
|
|
class SJInhuman(_SmackJeeves):
|
|
sub = 'inhumancomic'
|
|
|
|
|
|
class SJInsideOuTAYuriTale(_SmackJeeves):
|
|
sub = 'insideout-a-yuri-tale'
|
|
|
|
|
|
class SJInspiredByADream(_SmackJeeves):
|
|
sub = 'inspiredbyadream'
|
|
|
|
|
|
class SJIntoxicated(_SmackJeeves):
|
|
sub = 'intoxicated'
|
|
adult = True
|
|
|
|
|
|
class SJItsan8BitWorldBlankWorld(_SmackJeeves):
|
|
sub = '8bitblankworld'
|
|
|
|
|
|
class SJJackiesStory(_SmackJeeves):
|
|
sub = 'jackiestory'
|
|
|
|
|
|
class SJJantar(_SmackJeeves):
|
|
sub = 'jantar'
|
|
|
|
|
|
class SJJantarpol(_SmackJeeves):
|
|
sub = 'jantar-pl'
|
|
|
|
|
|
class SJJason(_SmackJeeves):
|
|
sub = 'jasoncomic'
|
|
|
|
|
|
class SJJoeysAdventure(_SmackJeeves):
|
|
sub = 'joeysadventure'
|
|
|
|
|
|
class SJJourneyMan(_SmackJeeves):
|
|
sub = 'journeyman'
|
|
|
|
|
|
class SJJoyToTheWorld(_SmackJeeves):
|
|
sub = 'joytotheworld'
|
|
|
|
|
|
class SJJune(_SmackJeeves):
|
|
sub = 'june'
|
|
|
|
|
|
class SJJustAnotherLife(_SmackJeeves):
|
|
sub = 'justanotherlife'
|
|
|
|
|
|
class SJJustCrazy(_SmackJeeves):
|
|
sub = 'justcrazy'
|
|
|
|
|
|
class SJJustmyluck(_SmackJeeves):
|
|
sub = 'justmyluck'
|
|
|
|
|
|
class SJKCNO(_SmackJeeves):
|
|
sub = 'kcno'
|
|
|
|
|
|
class SJKaitoShuno(_SmackJeeves):
|
|
sub = 'kaitoshuno'
|
|
adult = True
|
|
|
|
|
|
class SJKasaKeira(_SmackJeeves):
|
|
sub = 'kasakeira'
|
|
|
|
|
|
class SJKatran(_SmackJeeves):
|
|
sub = 'katran'
|
|
|
|
|
|
class SJKazanatoFuneralPlanningService(_SmackJeeves):
|
|
sub = 'kazanato'
|
|
|
|
|
|
class SJKezroChroniclesPhantomOps(_SmackJeeves):
|
|
sub = 'phantomops'
|
|
|
|
|
|
class SJKirbandfriendsshowcase(_SmackJeeves):
|
|
sub = 'kas'
|
|
|
|
|
|
class SJKirbiesoftheAlternateDimension(_SmackJeeves):
|
|
sub = 'kirbyaltdimension'
|
|
|
|
|
|
class SJKirbyAdventure(_SmackJeeves):
|
|
sub = 'kirbysadventure'
|
|
|
|
|
|
class SJKirbyDreamTeam(_SmackJeeves):
|
|
sub = 'kirbysdreamteam'
|
|
|
|
|
|
class SJKirbyFunfestTheOriginals(_SmackJeeves):
|
|
sub = 'kirbyfunfestold'
|
|
|
|
|
|
class SJKirbyTheDeeArmy(_SmackJeeves):
|
|
sub = 'kirbyandthedeearmy'
|
|
|
|
|
|
class SJKirbysDreamAdventure(_SmackJeeves):
|
|
sub = 'kirbyda'
|
|
|
|
|
|
class SJKirbysDreamlandAdventures(_SmackJeeves):
|
|
sub = 'kirbysdreamlandadventures'
|
|
|
|
|
|
class SJKissmeSnow(_SmackJeeves):
|
|
sub = 'kissmesnow'
|
|
|
|
|
|
class SJKissoftheDevil(_SmackJeeves):
|
|
sub = 'kissofthedevil'
|
|
|
|
|
|
class SJKnightface(_SmackJeeves):
|
|
sub = 'knightface'
|
|
adult = True
|
|
|
|
|
|
class SJKnightsRequiem(_SmackJeeves):
|
|
sub = 'knightsrequiem'
|
|
|
|
|
|
class SJKojiX5(_SmackJeeves):
|
|
sub = 'kojix5'
|
|
|
|
|
|
class SJKreetor(_SmackJeeves):
|
|
sub = 'kreetor'
|
|
|
|
|
|
class SJKruptos(_SmackJeeves):
|
|
sub = 'kruptos'
|
|
|
|
|
|
class SJKuroNeko(_SmackJeeves):
|
|
sub = 'kuro-neko'
|
|
|
|
|
|
class SJKuronaFlutterandLylaSpamTime(_SmackJeeves):
|
|
sub = 'icantflyaplane'
|
|
|
|
|
|
class SJLOGOS(_SmackJeeves):
|
|
sub = 'logoscomic'
|
|
adult = True
|
|
|
|
|
|
class SJLOKI(_SmackJeeves):
|
|
sub = 'loki'
|
|
|
|
|
|
class SJLastBlockStanding(_SmackJeeves):
|
|
sub = 'lastblockstanding'
|
|
|
|
|
|
class SJLastLivingSouls(_SmackJeeves):
|
|
sub = 'lastlivingsouls'
|
|
|
|
|
|
class SJLatchkeyKingdom(_SmackJeeves):
|
|
sub = 'latchkeykingdom'
|
|
|
|
|
|
class SJLavenderLegend(_SmackJeeves):
|
|
sub = 'lavenderlegend'
|
|
|
|
|
|
class SJLeCirquedObscure(_SmackJeeves):
|
|
sub = 'cirquedobscure'
|
|
|
|
|
|
class SJLedbyaMadMan(_SmackJeeves):
|
|
sub = 'ledbyamadman'
|
|
|
|
|
|
class SJLegendofZeldaAHerosStory(_SmackJeeves):
|
|
sub = 'aherosstory'
|
|
|
|
|
|
class SJLegendofZeldaStaffofPower(_SmackJeeves):
|
|
sub = 'loz-sop'
|
|
|
|
|
|
class SJLegendofZeldaTheEdgeandTheLight(_SmackJeeves):
|
|
sub = 'legendofzelda'
|
|
|
|
|
|
class SJLegendofZeldaTheWindWaker(_SmackJeeves):
|
|
sub = 'zeldawindwaker'
|
|
|
|
|
|
class SJLegendsofMobiusBookOne(_SmackJeeves):
|
|
sub = 'legendsofmobius-bookone'
|
|
|
|
|
|
class SJLemongrass(_SmackJeeves):
|
|
sub = 'lemongrass'
|
|
|
|
|
|
class SJLesCendresdelHiver(_SmackJeeves):
|
|
sub = 'cendres'
|
|
|
|
|
|
class SJLetLoveRule(_SmackJeeves):
|
|
sub = 'letloverule'
|
|
|
|
|
|
class SJLethalDose(_SmackJeeves):
|
|
sub = 'lethaldosecomic'
|
|
adult = True
|
|
|
|
|
|
class SJLetsBreakitforReals(_SmackJeeves):
|
|
sub = 'breaktehmentality'
|
|
|
|
|
|
class SJLicensedHeroes(_SmackJeeves):
|
|
sub = 'licensedheroes'
|
|
|
|
|
|
class SJLifeAsACutOut(_SmackJeeves):
|
|
host = 'lifeasacutout.thewebcomic.com'
|
|
|
|
|
|
class SJLifeAsItWas(_SmackJeeves):
|
|
sub = 'lifeasitwas'
|
|
|
|
|
|
class SJLifeLessOrdinary(_SmackJeeves):
|
|
sub = 'lifelessordinary'
|
|
adult = True
|
|
|
|
|
|
class SJLifeonpaper(_SmackJeeves):
|
|
sub = 'lifeonpaper'
|
|
|
|
|
|
class SJLightLovers(_SmackJeeves):
|
|
sub = 'lightlovers'
|
|
|
|
|
|
class SJLightwithinShadow(_SmackJeeves):
|
|
sub = 'lightwithinshadow'
|
|
|
|
|
|
class SJLilLevi(_SmackJeeves):
|
|
sub = 'lillevi'
|
|
|
|
|
|
class SJLiliBleu(_SmackJeeves):
|
|
sub = 'lilibleu'
|
|
|
|
|
|
class SJLondonUnderworld(_SmackJeeves):
|
|
sub = 'lunderworld'
|
|
|
|
|
|
class SJLostNova(_SmackJeeves):
|
|
sub = 'lostnova'
|
|
|
|
|
|
class SJLoveHarbor(_SmackJeeves):
|
|
sub = 'shipcentral'
|
|
|
|
|
|
class SJLoveMeLoveMyTeddyBear(_SmackJeeves):
|
|
sub = 'teddybear'
|
|
|
|
|
|
class SJLoveandIcecream(_SmackJeeves):
|
|
sub = 'lovexandxicecream'
|
|
|
|
|
|
class SJLoveroftheSunandMoon(_SmackJeeves):
|
|
sub = 'loverofthesunandmoon'
|
|
|
|
|
|
class SJLsEmpire(_SmackJeeves):
|
|
sub = 'l-empire'
|
|
|
|
|
|
class SJLuffinpuffandEric(_SmackJeeves):
|
|
sub = 'luffinpuff'
|
|
|
|
|
|
class SJLumasParadise(_SmackJeeves):
|
|
sub = 'luma'
|
|
|
|
|
|
class SJMUTE(_SmackJeeves):
|
|
sub = 'muterobot'
|
|
|
|
|
|
class SJMYth(_SmackJeeves):
|
|
sub = 'myth'
|
|
|
|
|
|
class SJMagicalGirlAlice(_SmackJeeves):
|
|
sub = 'magicalgirlalice'
|
|
|
|
|
|
class SJMagicalMisfits(_SmackJeeves):
|
|
sub = 'magicalmisfits'
|
|
|
|
|
|
class SJMagience(_SmackJeeves):
|
|
host = 'www.magience.co'
|
|
|
|
|
|
class SJMagipunk(_SmackJeeves):
|
|
sub = 'magipunk'
|
|
|
|
|
|
class SJManifestedpart1(_SmackJeeves):
|
|
sub = 'manifested'
|
|
|
|
|
|
class SJMarXistemTWC(_SmackJeeves):
|
|
sub = 'marxistem'
|
|
|
|
|
|
class SJMarioandLuigiMisadventures(_SmackJeeves):
|
|
sub = 'mandladventures'
|
|
|
|
|
|
class SJMariosDayJob(_SmackJeeves):
|
|
sub = 'mariosjob'
|
|
|
|
|
|
class SJMariovsSonicvsMegaMan(_SmackJeeves):
|
|
sub = 'mvsvmm'
|
|
|
|
|
|
class SJMarsMind(_SmackJeeves):
|
|
sub = 'marsmind'
|
|
|
|
|
|
class SJMascara(_SmackJeeves):
|
|
sub = 'mascara'
|
|
|
|
|
|
class SJMasqueradeWTTM(_SmackJeeves):
|
|
sub = 'masqueradewttm'
|
|
|
|
|
|
class SJMatildasSweetCakeCafe(_SmackJeeves):
|
|
sub = 'mscc'
|
|
adult = True
|
|
|
|
|
|
class SJMaytheRainCome(_SmackJeeves):
|
|
sub = 'maytheraincome'
|
|
|
|
|
|
class SJMazscara(_SmackJeeves):
|
|
sub = 'mazscara'
|
|
|
|
|
|
class SJMegaManBattleNetwork7(_SmackJeeves):
|
|
sub = 'mmbn7-twt'
|
|
|
|
|
|
class SJMegaManTales(_SmackJeeves):
|
|
sub = 'megamantales'
|
|
|
|
|
|
class SJMegaPain(_SmackJeeves):
|
|
sub = 'megapain'
|
|
|
|
|
|
class SJMelodyAndMacabre(_SmackJeeves):
|
|
sub = 'melodyandmacabre'
|
|
|
|
|
|
class SJMerirosvotSeikkailumerella(_SmackJeeves):
|
|
sub = 'merirosvotseikkailumerella'
|
|
|
|
|
|
class SJMetroJack(_SmackJeeves):
|
|
sub = 'metro-jack'
|
|
adult = True
|
|
|
|
|
|
class SJMidnightPrince(_SmackJeeves):
|
|
sub = 'midnightprince'
|
|
|
|
|
|
class SJMineS(_SmackJeeves):
|
|
sub = 'mines'
|
|
|
|
|
|
class SJMinibot(_SmackJeeves):
|
|
sub = 'minibot'
|
|
|
|
|
|
class SJMinorActsofHeroism(_SmackJeeves):
|
|
host = 'www.minoractsofheroism.com'
|
|
|
|
|
|
class SJMissing(_SmackJeeves):
|
|
sub = 'missing'
|
|
|
|
|
|
class SJMissingversionfrancaise(_SmackJeeves):
|
|
sub = 'missingfr'
|
|
|
|
|
|
class SJMixupofallMixups(_SmackJeeves):
|
|
sub = 'mixupofmixups'
|
|
|
|
|
|
class SJMobianChaos(_SmackJeeves):
|
|
sub = 'mobianchaos'
|
|
|
|
|
|
class SJMokepon(_SmackJeeves):
|
|
sub = 'mokepon'
|
|
|
|
|
|
class SJMonstar(_SmackJeeves):
|
|
host = 'monstar.thewebcomic.com'
|
|
|
|
|
|
class SJMoonValley(_SmackJeeves):
|
|
sub = 'moonvalley'
|
|
|
|
|
|
class SJMorphE(_SmackJeeves):
|
|
host = 'morphe.thewebcomic.com'
|
|
|
|
|
|
class SJMortifer(_SmackJeeves):
|
|
sub = 'mortifer'
|
|
|
|
|
|
class SJMrFactory(_SmackJeeves):
|
|
sub = 'mrfactory'
|
|
|
|
|
|
class SJMyBoyfriendisaMobBoss(_SmackJeeves):
|
|
sub = 'mbmb'
|
|
adult = True
|
|
|
|
|
|
class SJMyFakeHeart(_SmackJeeves):
|
|
sub = 'myfakeheart'
|
|
|
|
|
|
class SJMySistertheDragon(_SmackJeeves):
|
|
sub = 'sisterdragon'
|
|
|
|
|
|
class SJMySparklingPrincesama(_SmackJeeves):
|
|
sub = 'kiraouji'
|
|
|
|
|
|
class SJMyStereoBot(_SmackJeeves):
|
|
sub = 'mystereobot'
|
|
|
|
|
|
class SJMyTrollLife(_SmackJeeves):
|
|
sub = 'mytrolllife'
|
|
|
|
|
|
class SJMyTwoCentsPlusTax(_SmackJeeves):
|
|
sub = 'mtcpt'
|
|
|
|
|
|
class SJMysticanDreams(_SmackJeeves):
|
|
sub = 'mysticandreams'
|
|
|
|
|
|
class SJMythsofUnovaAWhiteNuzlockeRunHardMode(_SmackJeeves):
|
|
sub = 'mythsofunova'
|
|
|
|
|
|
class SJNIK(_SmackJeeves):
|
|
sub = 'nik'
|
|
|
|
|
|
class SJNah(_SmackJeeves):
|
|
sub = 'thecomicformerlyknownasgenlab'
|
|
|
|
|
|
class SJNegligence(_SmackJeeves):
|
|
sub = 'negligence'
|
|
|
|
|
|
class SJNeoCrystalAdventures(_SmackJeeves):
|
|
sub = 'neocrystaladventures'
|
|
|
|
|
|
class SJNeonGlow(_SmackJeeves):
|
|
sub = 'neonglow'
|
|
|
|
|
|
class SJNevertheHero(_SmackJeeves):
|
|
sub = 'neverthehero'
|
|
|
|
|
|
class SJNexus(_SmackJeeves):
|
|
sub = 'nexus'
|
|
|
|
|
|
class SJNiceKitty(_SmackJeeves):
|
|
sub = 'nicekitty'
|
|
|
|
|
|
class SJNighHeavenandHell(_SmackJeeves):
|
|
sub = 'oldnighheavenandhell'
|
|
adult = True
|
|
|
|
|
|
class SJNightSpace(_SmackJeeves):
|
|
sub = 'nightspace'
|
|
|
|
|
|
class SJNissiesDragonPrincess(_SmackJeeves):
|
|
sub = 'drgnprincess'
|
|
|
|
|
|
class SJNixsFireRedNuzlocke(_SmackJeeves):
|
|
sub = 'nixnuzlocke'
|
|
|
|
|
|
class SJNoEnd(_SmackJeeves):
|
|
sub = 'no-end'
|
|
|
|
|
|
class SJNobleHeartsHiruandMerroug(_SmackJeeves):
|
|
sub = 'hiruandmerroug'
|
|
adult = True
|
|
|
|
|
|
class SJNormalcyisforWimps(_SmackJeeves):
|
|
sub = 'normalcyisforwimps'
|
|
|
|
|
|
class SJNotyoursamI(_SmackJeeves):
|
|
sub = 'notyoursami'
|
|
adult = True
|
|
|
|
|
|
class SJObsidianHeart(_SmackJeeves):
|
|
sub = 'obsidianheart'
|
|
|
|
|
|
class SJOctober20th(_SmackJeeves):
|
|
host = 'www.october20comic.com'
|
|
|
|
|
|
class SJOddPlaceOddTime(_SmackJeeves):
|
|
sub = 'oddplaceoddtime'
|
|
|
|
|
|
class SJOhman(_SmackJeeves):
|
|
sub = 'ohman'
|
|
|
|
|
|
class SJOldElastikid(_SmackJeeves):
|
|
sub = 'oldelastikid'
|
|
|
|
|
|
class SJOneRainyDay(_SmackJeeves):
|
|
sub = 'one-rainy-day'
|
|
adult = True
|
|
|
|
|
|
class SJOnlyonelovesong(_SmackJeeves):
|
|
sub = 'onlyonelovesong'
|
|
|
|
|
|
class SJOperationTheater(_SmackJeeves):
|
|
sub = 'operation-theater'
|
|
|
|
|
|
class SJOriginBook1Codearth(_SmackJeeves):
|
|
sub = 'theoriginbooks'
|
|
|
|
|
|
class SJOurTimeinEden(_SmackJeeves):
|
|
sub = 'ourtimeineden'
|
|
|
|
|
|
class SJOutbreak(_SmackJeeves):
|
|
sub = 'xoutbreak'
|
|
|
|
|
|
class SJOutofKey(_SmackJeeves):
|
|
sub = 'outofkey'
|
|
|
|
|
|
class SJOverSync(_SmackJeeves):
|
|
sub = 'oversync'
|
|
|
|
|
|
class SJPMDExplorersofHeart(_SmackJeeves):
|
|
sub = 'pmd-explorers-of-heart'
|
|
|
|
|
|
class SJPMDTeamFirefox(_SmackJeeves):
|
|
sub = 'pmdteamfirefox'
|
|
|
|
|
|
class SJPMDVictoryFire(_SmackJeeves):
|
|
sub = 'victoryfire'
|
|
|
|
|
|
class SJPTO(_SmackJeeves):
|
|
sub = 'pto'
|
|
adult = True
|
|
|
|
|
|
class SJPahantekija(_SmackJeeves):
|
|
sub = 'pahantekija'
|
|
|
|
|
|
class SJPanacea(_SmackJeeves):
|
|
sub = 'panacea'
|
|
adult = True
|
|
|
|
|
|
class SJPantsParty(_SmackJeeves):
|
|
sub = 'partypants'
|
|
|
|
|
|
class SJPanzerDragonandEnigmaCompleteEdition(_SmackJeeves):
|
|
sub = 'panzerdragonandenigma'
|
|
|
|
|
|
class SJParadox(_SmackJeeves):
|
|
sub = 'paradoxcomic'
|
|
adult = True
|
|
|
|
|
|
class SJParipety(_SmackJeeves):
|
|
sub = 'paripety'
|
|
|
|
|
|
class SJPause(_SmackJeeves):
|
|
sub = 'pause'
|
|
|
|
|
|
class SJPencilviewUpdatesMondayscough(_SmackJeeves):
|
|
sub = 'pencilview'
|
|
|
|
|
|
class SJPerinto(_SmackJeeves):
|
|
sub = 'perinto'
|
|
|
|
|
|
class SJPerplexingMagnoliaDisruption(_SmackJeeves):
|
|
sub = 'smgpmd'
|
|
|
|
|
|
class SJPeterPan(_SmackJeeves):
|
|
sub = 'peterpan'
|
|
|
|
|
|
class SJPhantomland(_SmackJeeves):
|
|
sub = 'phantomland'
|
|
|
|
|
|
class SJPhotoShootnarusasuDoujinshi(_SmackJeeves):
|
|
sub = 'photoshootnarusasu'
|
|
adult = True
|
|
|
|
|
|
class SJPlasticKings(_SmackJeeves):
|
|
sub = 'plastickings'
|
|
|
|
|
|
class SJPlatonicBoyfriends(_SmackJeeves):
|
|
sub = 'platonicboyfriends'
|
|
|
|
|
|
class SJPlayTime(_SmackJeeves):
|
|
sub = 'dollysplaytime'
|
|
|
|
|
|
class SJPokeVenturous(_SmackJeeves):
|
|
sub = 'pokeventuras'
|
|
|
|
|
|
class SJPokemonBeta(_SmackJeeves):
|
|
sub = 'pokemonbeta'
|
|
|
|
|
|
class SJPokemonCrystalDoubleNuzlockeChallenge(_SmackJeeves):
|
|
sub = 'miinuzlocke'
|
|
|
|
|
|
class SJPokemonGleamingCrystal(_SmackJeeves):
|
|
sub = 'gleamingcrystal'
|
|
|
|
|
|
class SJPokemonLANDSKY(_SmackJeeves):
|
|
sub = 'landsky'
|
|
|
|
|
|
class SJPokemonMysteryDungeonTeamCrystal(_SmackJeeves):
|
|
sub = 'crystalmysterydungeon'
|
|
|
|
|
|
class SJPokemonParallel(_SmackJeeves):
|
|
sub = 'pokemon-parallel'
|
|
|
|
|
|
class SJPokemonSAKOHJU(_SmackJeeves):
|
|
sub = 'sakohju'
|
|
|
|
|
|
class SJPokemonnoRakuen(_SmackJeeves):
|
|
sub = 'pokemon-no-rakuen'
|
|
|
|
|
|
class SJPonzi(_SmackJeeves):
|
|
sub = 'ponzi'
|
|
|
|
|
|
class SJPrettyMouth(_SmackJeeves):
|
|
sub = 'prettymouth'
|
|
|
|
|
|
class SJPrincessChroma(_SmackJeeves):
|
|
sub = 'princesschroma'
|
|
|
|
|
|
class SJProfessorDolphinpresentsPokemon(_SmackJeeves):
|
|
sub = 'pdpp'
|
|
|
|
|
|
class SJProjectCAPLimit(_SmackJeeves):
|
|
sub = 'imagecap'
|
|
|
|
|
|
class SJPuck(_SmackJeeves):
|
|
sub = 'puck'
|
|
|
|
|
|
class SJPulseandBolt(_SmackJeeves):
|
|
sub = 'pulse-bolt'
|
|
|
|
|
|
class SJPurpureaNoxa(_SmackJeeves):
|
|
sub = 'purpureanoxa'
|
|
adult = True
|
|
|
|
|
|
class SJQueerQueen(_SmackJeeves):
|
|
sub = 'queerqueen'
|
|
|
|
|
|
class SJRANDOM(_SmackJeeves):
|
|
sub = 'randomthecomic'
|
|
|
|
|
|
class SJROSIER(_SmackJeeves):
|
|
sub = 'rosier'
|
|
|
|
|
|
class SJRainLGBT(_SmackJeeves):
|
|
sub = 'rainlgbt'
|
|
|
|
|
|
class SJRainxSasori(_SmackJeeves):
|
|
sub = 'rainxsasori'
|
|
adult = True
|
|
|
|
|
|
class SJRareCandyTreatment(_SmackJeeves):
|
|
host = 'www.rarecandytreatment.com'
|
|
|
|
|
|
class SJRavenWolf(_SmackJeeves):
|
|
sub = 'ravenwolf'
|
|
|
|
|
|
class SJRedVelvetRequiem(_SmackJeeves):
|
|
sub = 'rvr'
|
|
|
|
|
|
class SJRegina(_SmackJeeves):
|
|
sub = 'regina'
|
|
|
|
|
|
class SJReidyandFriendsShowcase(_SmackJeeves):
|
|
sub = 'reidynfriends'
|
|
|
|
|
|
class SJRemoteAngel(_SmackJeeves):
|
|
sub = 'remoteangel'
|
|
|
|
|
|
class SJReplica(_SmackJeeves):
|
|
sub = 'replica'
|
|
adult = True
|
|
|
|
|
|
class SJRespectable(_SmackJeeves):
|
|
sub = 'respectable'
|
|
adult = True
|
|
|
|
|
|
class SJReturntoEden(_SmackJeeves):
|
|
sub = 'rte'
|
|
|
|
|
|
class SJRiversideExtras(_SmackJeeves):
|
|
host = 'www.riversidecomics.co'
|
|
adult = True
|
|
|
|
|
|
class SJRottenApple(_SmackJeeves):
|
|
sub = 'rottenapple'
|
|
|
|
|
|
class SJRoyalIcing(_SmackJeeves):
|
|
sub = 'royalicing'
|
|
|
|
|
|
class SJRubyNation(_SmackJeeves):
|
|
host = 'www.therubynation.com'
|
|
|
|
|
|
class SJRuderiQuest(_SmackJeeves):
|
|
sub = 'ruderi'
|
|
|
|
|
|
class SJRuneSpark(_SmackJeeves):
|
|
sub = 'runespark'
|
|
|
|
|
|
class SJRyuManwebcomicversion(_SmackJeeves):
|
|
sub = 'ryuman-web'
|
|
|
|
|
|
class SJSChIzO(_SmackJeeves):
|
|
sub = 'schizophrenic'
|
|
|
|
|
|
class SJSFCBlackjackBay(_SmackJeeves):
|
|
sub = 'blackjackbay'
|
|
|
|
|
|
class SJSFCForestofDreams(_SmackJeeves):
|
|
sub = 'sfcforestofdreams'
|
|
|
|
|
|
class SJSLightlyabOVeavErage(_SmackJeeves):
|
|
sub = 'slightlyaboveaverage'
|
|
adult = True
|
|
|
|
|
|
class SJSOSRadio(_SmackJeeves):
|
|
sub = 'sosradio'
|
|
|
|
|
|
class SJSPRITEDHeroesofDobalia(_SmackJeeves):
|
|
sub = 'spritedhod'
|
|
|
|
|
|
class SJSUNRISESTORY(_SmackJeeves):
|
|
sub = 'sunrisestory'
|
|
|
|
|
|
class SJSabishiiGhost(_SmackJeeves):
|
|
sub = 'sabishiighost'
|
|
|
|
|
|
class SJSaintforRent(_SmackJeeves):
|
|
sub = 'saint-for-rent'
|
|
|
|
|
|
class SJSakuraDAY(_SmackJeeves):
|
|
sub = 'sakuraday'
|
|
|
|
|
|
class SJSakuraMishzo(_SmackJeeves):
|
|
sub = 'sakurazo'
|
|
adult = True
|
|
|
|
|
|
class SJSalemUncommons(_SmackJeeves):
|
|
sub = 'salemuncommons'
|
|
|
|
|
|
class SJSallySprocketAndPistonPete(_SmackJeeves):
|
|
sub = 'ssnpp'
|
|
|
|
|
|
class SJSaltyKiss(_SmackJeeves):
|
|
sub = 'saltykiss'
|
|
|
|
|
|
class SJSaywhatyoumean(_SmackJeeves):
|
|
sub = 'saywhatyoumean'
|
|
|
|
|
|
class SJSchoolofRejectsSoRe(_SmackJeeves):
|
|
sub = 'sore'
|
|
|
|
|
|
class SJScionsoftheSeraph(_SmackJeeves):
|
|
sub = 'scions'
|
|
adult = True
|
|
|
|
|
|
class SJScrappedProject(_SmackJeeves):
|
|
sub = 'scrappedproject'
|
|
|
|
|
|
class SJSecretPowerbk1(_SmackJeeves):
|
|
sub = 'secretpower1'
|
|
|
|
|
|
class SJSecretPowerbk2(_SmackJeeves):
|
|
sub = 'secretpower2'
|
|
|
|
|
|
class SJSeki(_SmackJeeves):
|
|
sub = 'se-ki'
|
|
adult = True
|
|
|
|
|
|
class SJSenoireDelirium(_SmackJeeves):
|
|
sub = 'senoiredelirium'
|
|
|
|
|
|
class SJSeriousTimes(_SmackJeeves):
|
|
sub = 'serioustimes'
|
|
|
|
|
|
class SJShameless(_SmackJeeves):
|
|
sub = 'shamelesscomic'
|
|
|
|
|
|
class SJShamelessAdvertisements(_SmackJeeves):
|
|
sub = 'advertiseat'
|
|
|
|
|
|
class SJShotoutofCanon(_SmackJeeves):
|
|
sub = 'akumathfs'
|
|
|
|
|
|
class SJShroudofLight(_SmackJeeves):
|
|
sub = 'shroudoflight'
|
|
|
|
|
|
class SJSignifikat(_SmackJeeves):
|
|
sub = 'signifikat'
|
|
adult = True
|
|
|
|
|
|
class SJSimonSues(_SmackJeeves):
|
|
sub = 'simonsues'
|
|
|
|
|
|
class SJSimpleBear(_SmackJeeves):
|
|
sub = 'simplebear'
|
|
|
|
|
|
class SJSimplySarah(_SmackJeeves):
|
|
sub = 'simplysarah'
|
|
|
|
|
|
class SJSire(_SmackJeeves):
|
|
host = 'sire.thewebcomic.com'
|
|
|
|
|
|
class SJSkeptical(_SmackJeeves):
|
|
sub = 'skeptical'
|
|
|
|
|
|
class SJSlackmatic(_SmackJeeves):
|
|
sub = 'slackmatic'
|
|
|
|
|
|
class SJSlipstreamSingularity(_SmackJeeves):
|
|
sub = 'slipstreamsingularity'
|
|
|
|
|
|
class SJSmallPressAdventures(_SmackJeeves):
|
|
sub = 'smallpressadventures'
|
|
|
|
|
|
class SJSocksMittensandScarfs(_SmackJeeves):
|
|
sub = 'socksmitsscarfs'
|
|
|
|
|
|
class SJSomebodyShootMe(_SmackJeeves):
|
|
sub = 'somebodyshootme'
|
|
|
|
|
|
class SJSomethingLikeaPhenomenon(_SmackJeeves):
|
|
sub = 'somethinglikeaphenomenon'
|
|
adult = True
|
|
|
|
|
|
class SJSonicAuthorAdventII(_SmackJeeves):
|
|
sub = 'saa2'
|
|
|
|
|
|
class SJSonicBoom(_SmackJeeves):
|
|
sub = 'sonic-boom'
|
|
|
|
|
|
class SJSonicClub(_SmackJeeves):
|
|
sub = 'sonicclub'
|
|
|
|
|
|
class SJSonicDashly(_SmackJeeves):
|
|
sub = 'sonicdashly'
|
|
|
|
|
|
class SJSonicFuture(_SmackJeeves):
|
|
sub = 'sonicfuture'
|
|
|
|
|
|
class SJSonicSchoolRedo(_SmackJeeves):
|
|
sub = 'sonicschoolredo'
|
|
|
|
|
|
class SJSonicUniverseAsk(_SmackJeeves):
|
|
sub = 'sonicuniverseask'
|
|
|
|
|
|
class SJSoulGuardian(_SmackJeeves):
|
|
sub = 'soulguardian'
|
|
|
|
|
|
class SJSouthernCross(_SmackJeeves):
|
|
host = 'southerncross.thewebcomic.com'
|
|
|
|
|
|
class SJSovereignTheMostAmazingComicEver(_SmackJeeves):
|
|
sub = 'mostamazingcomicever'
|
|
|
|
|
|
class SJSpaghettiAndMeatballs(_SmackJeeves):
|
|
sub = 'spaghettiandmeatballs'
|
|
adult = True
|
|
|
|
|
|
class SJSparElricsextras(_SmackJeeves):
|
|
sub = 'sparextras'
|
|
|
|
|
|
class SJSparkStory(_SmackJeeves):
|
|
sub = 'sparkstory'
|
|
|
|
|
|
class SJSpellcross(_SmackJeeves):
|
|
sub = 'spellcross'
|
|
|
|
|
|
class SJSpiderWings(_SmackJeeves):
|
|
sub = 'spiderwings'
|
|
|
|
|
|
class SJSpidersilk(_SmackJeeves):
|
|
sub = 'spidersilk'
|
|
|
|
|
|
class SJSplitScreen(_SmackJeeves):
|
|
sub = 'splitscreencomic'
|
|
adult = True
|
|
|
|
|
|
class SJSpriterschaos(_SmackJeeves):
|
|
sub = 'spriterschaos'
|
|
|
|
|
|
class SJSprytts(_SmackJeeves):
|
|
sub = 'sprytts'
|
|
|
|
|
|
class SJStarTrip(_SmackJeeves):
|
|
sub = 'startrip'
|
|
|
|
|
|
class SJStay(_SmackJeeves):
|
|
sub = 'stay-comic'
|
|
adult = True
|
|
|
|
|
|
class SJStellaInChrome(_SmackJeeves):
|
|
sub = 'stellainchrome'
|
|
|
|
|
|
class SJStereophonic(_SmackJeeves):
|
|
host = 'stereophonic.thewebcomic.com'
|
|
|
|
|
|
class SJStoryofadamnedlove(_SmackJeeves):
|
|
sub = 'storyofadamnedlove'
|
|
|
|
|
|
class SJStrangersandFriends(_SmackJeeves):
|
|
sub = 'hemu'
|
|
|
|
|
|
class SJStriped(_SmackJeeves):
|
|
sub = 'striped'
|
|
adult = True
|
|
|
|
|
|
class SJStuntRayWalterswish(_SmackJeeves):
|
|
sub = 'stuntray'
|
|
|
|
|
|
class SJSubjecttoChangeCollegeWoes(_SmackJeeves):
|
|
sub = 'subject-to-change'
|
|
|
|
|
|
class SJSunfall(_SmackJeeves):
|
|
host = 'sunfall.thewebcomic.com'
|
|
|
|
|
|
class SJSunmeetsMoon(_SmackJeeves):
|
|
sub = 'sunmeetsmoon'
|
|
|
|
|
|
class SJSuperDimensionAfterTheHero(_SmackJeeves):
|
|
sub = 'afterthehero'
|
|
|
|
|
|
class SJSuperMarioBros3(_SmackJeeves):
|
|
sub = 'smb3'
|
|
|
|
|
|
class SJSuperMarjoBros(_SmackJeeves):
|
|
sub = 'marjobros'
|
|
|
|
|
|
class SJSupermassiveBlackHoleA(_SmackJeeves):
|
|
sub = 'smbhax'
|
|
|
|
|
|
class SJSurvivorFanCharacters(_SmackJeeves):
|
|
sub = 'sfc'
|
|
|
|
|
|
class SJSweetestPoison(_SmackJeeves):
|
|
sub = 'sweetestpoison'
|
|
|
|
|
|
class SJSwitchMechanism(_SmackJeeves):
|
|
sub = 'switchmechanism'
|
|
|
|
|
|
class SJSymbios(_SmackJeeves):
|
|
sub = 'symbios'
|
|
adult = True
|
|
|
|
|
|
class SJTEN(_SmackJeeves):
|
|
sub = 'ten'
|
|
|
|
|
|
class SJTLAAOK(_SmackJeeves):
|
|
sub = 'tlaaok'
|
|
adult = True
|
|
|
|
|
|
class SJTPTruePower(_SmackJeeves):
|
|
sub = 'truepower'
|
|
|
|
|
|
class SJTRIPP(_SmackJeeves):
|
|
sub = 'tripp'
|
|
|
|
|
|
class SJTaikiTheWebcomic(_SmackJeeves):
|
|
sub = 'taiki'
|
|
|
|
|
|
class SJTailsAdventureThroughTimeandOtherWorlds(_SmackJeeves):
|
|
sub = 'tailsadventure'
|
|
|
|
|
|
class SJTakingPicturesofStrangers(_SmackJeeves):
|
|
sub = 'darrenandkale'
|
|
adult = True
|
|
|
|
|
|
class SJTalesfromAaronsWings(_SmackJeeves):
|
|
sub = 'tfaw'
|
|
|
|
|
|
class SJThatWasntThereYesterday(_SmackJeeves):
|
|
sub = 'twty'
|
|
|
|
|
|
class SJThe13thWorld(_SmackJeeves):
|
|
sub = 'the13thworld'
|
|
|
|
|
|
class SJTheAdventuresofBanjoZ(_SmackJeeves):
|
|
sub = 'abz-fancomic'
|
|
adult = True
|
|
|
|
|
|
class SJTheAntihero(_SmackJeeves):
|
|
sub = 'antihero'
|
|
|
|
|
|
class SJTheArchipelago(_SmackJeeves):
|
|
sub = 'thearchipelago'
|
|
|
|
|
|
class SJTheAvianStories(_SmackJeeves):
|
|
sub = 'theavianstories'
|
|
|
|
|
|
class SJTheBattleInTheSky(_SmackJeeves):
|
|
sub = 'thebattleinthesky'
|
|
|
|
|
|
class SJTheBookofNosferatu(_SmackJeeves):
|
|
host = 'www.thebookofnosferatu.com'
|
|
|
|
|
|
class SJTheBrideoftheShark(_SmackJeeves):
|
|
sub = 'sameyome'
|
|
adult = True
|
|
|
|
|
|
class SJTheBucket(_SmackJeeves):
|
|
sub = 'thebucket'
|
|
|
|
|
|
class SJTheCafedAlizee(_SmackJeeves):
|
|
sub = 'alizee'
|
|
|
|
|
|
class SJTheCavernofSecrets(_SmackJeeves):
|
|
sub = 'cavern'
|
|
|
|
|
|
class SJTheColony(_SmackJeeves):
|
|
sub = 'thecolony'
|
|
adult = True
|
|
|
|
|
|
class SJTheContract(_SmackJeeves):
|
|
sub = 'the-contract'
|
|
|
|
|
|
class SJTheCrawl(_SmackJeeves):
|
|
sub = 'thecrawl'
|
|
|
|
|
|
class SJTheCurtandTonyShow(_SmackJeeves):
|
|
sub = 'thecurtandtonyshow'
|
|
|
|
|
|
class SJTheDarkAgeofMobius(_SmackJeeves):
|
|
sub = 'thedarkageofmobius'
|
|
|
|
|
|
class SJTheDarkLegacy(_SmackJeeves):
|
|
sub = 'tdlcomic'
|
|
|
|
|
|
class SJTheDemonicAdventuresofAngelWitchPita(_SmackJeeves):
|
|
sub = 'angelwitchpita'
|
|
adult = True
|
|
|
|
|
|
class SJTheDestroyer(_SmackJeeves):
|
|
sub = 'heartless-destroyer'
|
|
adult = True
|
|
|
|
|
|
class SJTheDragonandtheLemur(_SmackJeeves):
|
|
sub = 'dal'
|
|
adult = True
|
|
|
|
|
|
class SJTheDreaming(_SmackJeeves):
|
|
sub = 'thedreaming'
|
|
|
|
|
|
class SJTheDrifter(_SmackJeeves):
|
|
sub = 'thedrifter'
|
|
adult = True
|
|
|
|
|
|
class SJTheElectricRose(_SmackJeeves):
|
|
sub = 'electricrosecomic'
|
|
|
|
|
|
class SJTheForestofWhispers(_SmackJeeves):
|
|
sub = 'theforestofwhispers'
|
|
|
|
|
|
class SJTheGhostWithTheMost(_SmackJeeves):
|
|
sub = 'theghostwiththemost'
|
|
|
|
|
|
class SJTheGoldRiderofPern(_SmackJeeves):
|
|
sub = 'goldrider'
|
|
|
|
|
|
class SJTheGrayZone(_SmackJeeves):
|
|
sub = 'thegrayzone'
|
|
|
|
|
|
class SJTheHeadhunters(_SmackJeeves):
|
|
sub = 'headhunters'
|
|
|
|
|
|
class SJTheHeartofEarth(_SmackJeeves):
|
|
sub = 'heart-of-earth'
|
|
|
|
|
|
class SJTheHobbitbic(_SmackJeeves):
|
|
sub = 'hobbit'
|
|
|
|
|
|
class SJTheJosephComics(_SmackJeeves):
|
|
sub = 'josephcomics'
|
|
|
|
|
|
class SJTheKeyHotelEnding(_SmackJeeves):
|
|
sub = 'tekeyhotel'
|
|
|
|
|
|
class SJTheKeyToReality(_SmackJeeves):
|
|
sub = 'keytoreality'
|
|
|
|
|
|
class SJTheKwiddexProtocol(_SmackJeeves):
|
|
sub = 'kwiddexprotocol'
|
|
|
|
|
|
class SJTheLastBloodCafe(_SmackJeeves):
|
|
sub = 'lastbloodcafe'
|
|
|
|
|
|
class SJTheLegendaryQueen(_SmackJeeves):
|
|
sub = 'legendaryqueen'
|
|
adult = True
|
|
|
|
|
|
class SJTheLifeofMagFlamequill(_SmackJeeves):
|
|
sub = 'lifeofmag'
|
|
|
|
|
|
class SJTheLoneSwordsman(_SmackJeeves):
|
|
sub = 'theloneswordsman'
|
|
|
|
|
|
class SJTheLostland(_SmackJeeves):
|
|
sub = 'thelostlandcomic'
|
|
|
|
|
|
class SJTheMegaManandSonicSpriteShowcase(_SmackJeeves):
|
|
sub = 'megamanshowcase'
|
|
|
|
|
|
class SJTheMoistTouch(_SmackJeeves):
|
|
sub = 'themoisttouch'
|
|
|
|
|
|
class SJTheNOMEDSEGA(_SmackJeeves):
|
|
sub = 'nomed'
|
|
|
|
|
|
class SJTheNightSurfers(_SmackJeeves):
|
|
sub = 'thenightsurfers'
|
|
|
|
|
|
class SJTheNocheComicSeries(_SmackJeeves):
|
|
sub = 'nochecomicseries'
|
|
adult = True
|
|
|
|
|
|
class SJThePirateBalthasar(_SmackJeeves):
|
|
sub = 'thepiratebalthasar'
|
|
|
|
|
|
class SJThePremise(_SmackJeeves):
|
|
sub = 'thepremise'
|
|
|
|
|
|
class SJThePrincessandtheGiant(_SmackJeeves):
|
|
sub = 'princess'
|
|
|
|
|
|
class SJThePropertyofHate(_SmackJeeves):
|
|
sub = 'tpoh'
|
|
|
|
|
|
class SJTheReborn(_SmackJeeves):
|
|
sub = 'reborn'
|
|
|
|
|
|
class SJTheSearchforHenryJekyll(_SmackJeeves):
|
|
sub = 'thesearchforhenryjekyll'
|
|
|
|
|
|
class SJTheSilverLeague(_SmackJeeves):
|
|
sub = 'thesilverleague'
|
|
|
|
|
|
class SJTheSummerofBlakeSinclair(_SmackJeeves):
|
|
sub = 'blake-sinclair'
|
|
|
|
|
|
class SJTheTimeDog(_SmackJeeves):
|
|
sub = 'timedog'
|
|
|
|
|
|
class SJTheTytonNuzlockeChallengeEmeraldEdition(_SmackJeeves):
|
|
sub = 'tytonnuzlockeemerald'
|
|
|
|
|
|
class SJTheWastelands(_SmackJeeves):
|
|
sub = 'wastelands'
|
|
|
|
|
|
class SJTheWhiteTower(_SmackJeeves):
|
|
sub = 'thewhitetower'
|
|
|
|
|
|
class SJTheWinterCampaign(_SmackJeeves):
|
|
sub = 'winterc'
|
|
|
|
|
|
class SJTheYoshiHerd(_SmackJeeves):
|
|
sub = 'theyoshiherd'
|
|
|
|
|
|
class SJTheatrics(_SmackJeeves):
|
|
sub = 'theatrics'
|
|
|
|
|
|
class SJTheiaMania(_SmackJeeves):
|
|
sub = 'theia-mania'
|
|
|
|
|
|
class SJThelaughingDeath(_SmackJeeves):
|
|
sub = 'thelaughingdeath'
|
|
|
|
|
|
class SJThemadman(_SmackJeeves):
|
|
sub = 'themadman'
|
|
|
|
|
|
class SJTheswordsmanandtheamnesiac(_SmackJeeves):
|
|
sub = 'tsata'
|
|
adult = True
|
|
|
|
|
|
class SJThiefCatcherRingTail(_SmackJeeves):
|
|
sub = 'tcringtail'
|
|
|
|
|
|
class SJThinkBeforeYouThink(_SmackJeeves):
|
|
sub = 'thinkbeforeyouthink'
|
|
|
|
|
|
class SJThornTopia(_SmackJeeves):
|
|
sub = 'tnt100'
|
|
|
|
|
|
class SJThornsComic(_SmackJeeves):
|
|
sub = 'thornscomic'
|
|
|
|
|
|
class SJThroughtheWonkyEye(_SmackJeeves):
|
|
sub = 'through-the-wonky-eye'
|
|
|
|
|
|
class SJTosiHuonoYaoiSarjis(_SmackJeeves):
|
|
sub = 'tosihuonoyaoisarjis'
|
|
adult = True
|
|
|
|
|
|
class SJTotallyCrossover(_SmackJeeves):
|
|
sub = 'totallycrossover'
|
|
|
|
|
|
class SJTrainerWantstoFight(_SmackJeeves):
|
|
sub = 'twtf'
|
|
|
|
|
|
class SJTransUMan(_SmackJeeves):
|
|
sub = 'transuman'
|
|
adult = True
|
|
|
|
|
|
class SJTransfusions(_SmackJeeves):
|
|
sub = 'transfusions'
|
|
|
|
|
|
class SJTroublenextdoor(_SmackJeeves):
|
|
sub = 'troublenextdoor'
|
|
|
|
|
|
class SJUglyBoysLove(_SmackJeeves):
|
|
sub = 'shounenai'
|
|
|
|
|
|
class SJUglygame(_SmackJeeves):
|
|
sub = 'uglygame'
|
|
|
|
|
|
class SJUndertheDeadSkies(_SmackJeeves):
|
|
host = 'underthedeadskies.thewebcomic.com'
|
|
adult = True
|
|
|
|
|
|
class SJUnicampaLapis(_SmackJeeves):
|
|
sub = 'ual'
|
|
|
|
|
|
class SJUpDown(_SmackJeeves):
|
|
sub = 'updown'
|
|
adult = True
|
|
|
|
|
|
class SJUshalaatWorldsEnd(_SmackJeeves):
|
|
sub = 'ushala'
|
|
adult = True
|
|
|
|
|
|
class SJVACANT(_SmackJeeves):
|
|
sub = 'vacant'
|
|
|
|
|
|
class SJVacan7(_SmackJeeves):
|
|
sub = 'vacan7'
|
|
adult = True
|
|
|
|
|
|
class SJVerloreGeleentheid(_SmackJeeves):
|
|
host = 'verlore.thewebcomic.com'
|
|
|
|
|
|
class SJVoidMisadventures(_SmackJeeves):
|
|
sub = 'voidmisadventures'
|
|
|
|
|
|
class SJVoyageoftheBrokenPromise(_SmackJeeves):
|
|
sub = 'voyageofthebrokenpromise'
|
|
adult = True
|
|
|
|
|
|
class SJWHATaboutSHADOWS(_SmackJeeves):
|
|
sub = 'was'
|
|
|
|
|
|
class SJWakeEcho(_SmackJeeves):
|
|
sub = 'echo'
|
|
|
|
|
|
class SJWander(_SmackJeeves):
|
|
sub = 'wander'
|
|
|
|
|
|
class SJWantedDeadorDead(_SmackJeeves):
|
|
sub = 'wanteddeadordead'
|
|
|
|
|
|
class SJWayfar(_SmackJeeves):
|
|
sub = 'wayfar'
|
|
|
|
|
|
class SJWaysoftheheart(_SmackJeeves):
|
|
sub = 'wayoftheheart'
|
|
|
|
|
|
class SJWeAreGolden(_SmackJeeves):
|
|
sub = 'wearegolden'
|
|
adult = True
|
|
|
|
|
|
class SJWelcometoFreakshow(_SmackJeeves):
|
|
sub = 'welcometofreakshow'
|
|
|
|
|
|
class SJWelcometothePCA(_SmackJeeves):
|
|
sub = 'welcometothepca'
|
|
|
|
|
|
class SJWhatAboutLove(_SmackJeeves):
|
|
sub = 'whataboutlove'
|
|
adult = True
|
|
|
|
|
|
class SJWhatisdeepinonesheart(_SmackJeeves):
|
|
sub = 'ones-mindt'
|
|
|
|
|
|
class SJWhenSheWasBad(_SmackJeeves):
|
|
sub = 'whenshewasbad'
|
|
|
|
|
|
class SJWhenweweresilent(_SmackJeeves):
|
|
sub = 'silence'
|
|
|
|
|
|
class SJWhereaboutsOfTime(_SmackJeeves):
|
|
sub = 'wot'
|
|
|
|
|
|
class SJWhiteHeart(_SmackJeeves):
|
|
sub = 'whiteheart'
|
|
adult = True
|
|
|
|
|
|
class SJWhiteNoise(_SmackJeeves):
|
|
sub = 'white-noise'
|
|
|
|
|
|
class SJWildWingBoys(_SmackJeeves):
|
|
sub = 'wwb'
|
|
|
|
|
|
class SJWildWingBoysKoathArc(_SmackJeeves):
|
|
sub = 'wwbka'
|
|
|
|
|
|
class SJWildflowers(_SmackJeeves):
|
|
sub = 'wildflowers'
|
|
|
|
|
|
class SJWingsOverEthereal(_SmackJeeves):
|
|
sub = 'wings-over-ethereal'
|
|
|
|
|
|
class SJWingsTurnedtoDust(_SmackJeeves):
|
|
sub = 'wingsturnedtodust'
|
|
|
|
|
|
class SJWootlabs(_SmackJeeves):
|
|
host = 'wootlabs.thewebcomic.com'
|
|
|
|
|
|
class SJXXMoralityXx(_SmackJeeves):
|
|
sub = 'xxmoralityxx'
|
|
|
|
|
|
class SJYadotCakeShop(_SmackJeeves):
|
|
sub = 'yadotcakeshop'
|
|
adult = True
|
|
|
|
|
|
class SJYamanaokiHighSchool(_SmackJeeves):
|
|
sub = 'yamanaokihs'
|
|
|
|
|
|
class SJYouAreTheReasonForTheEndOfTheWorld(_SmackJeeves):
|
|
sub = 'thereasonfortheendoftheworld'
|
|
|
|
|
|
class SJYoungCannibals(_SmackJeeves):
|
|
host = 'www.youngcannibals.net'
|
|
|
|
|
|
class SJZaenWell(_SmackJeeves):
|
|
sub = 'zaenwell'
|
|
|
|
|
|
class SJZeldaTheNewAdventureofLinkIIMajorasMask(_SmackJeeves):
|
|
sub = 'newlink'
|
|
|
|
|
|
class SJ_A_(_SmackJeeves):
|
|
sub = 'a-the-stalker'
|