- adapt code to current code style
This commit is contained in:
@@ -249,21 +249,28 @@ class PatreonExtractor(Extractor):
|
|||||||
return [genmap[ft] for ft in filetypes]
|
return [genmap[ft] for ft in filetypes]
|
||||||
|
|
||||||
def _extract_bootstrap(self, page):
|
def _extract_bootstrap(self, page):
|
||||||
if "window.patreon.bootstrap," in page:
|
bootstrap = text.extr(
|
||||||
content_begin = "window.patreon.bootstrap,"
|
page, 'window.patreon = {"bootstrap":', '},"apiServer"')
|
||||||
content_end = "});"
|
if bootstrap:
|
||||||
json_string = text.extr(page, content_begin, content_end) + "}"
|
return util.json_loads(bootstrap + "}")
|
||||||
elif 'window.patreon = {"bootstrap":' in page:
|
|
||||||
content_begin = 'window.patreon = {"bootstrap":'
|
bootstrap = text.extr(
|
||||||
content_end = '},"apiServer"'
|
page, 'window.patreon = wrapInProxy({"bootstrap":', '},"apiServer"')
|
||||||
json_string = text.extr(page, content_begin, content_end) + "}"
|
if bootstrap:
|
||||||
elif 'window.patreon = wrapInProxy({"bootstrap":' in page:
|
return util.json_loads(bootstrap + "}")
|
||||||
content_begin = 'window.patreon = wrapInProxy({"bootstrap":'
|
|
||||||
content_end = '},"apiServer"'
|
bootstrap = text.extr(page, "window.patreon.bootstrap,", "});")
|
||||||
json_string = text.extr(page, content_begin, content_end) + "}"
|
if bootstrap:
|
||||||
else:
|
return util.json_loads(bootstrap + "}")
|
||||||
raise Exception("Unknown HTML and JS structure. Page:" + page)
|
|
||||||
return util.json_loads(json_string)
|
data = text.extr(page, "window.patreon = {", "};\n")
|
||||||
|
if data:
|
||||||
|
try:
|
||||||
|
return util.json_loads("{" + data + "}")["bootstrap"]
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
|
raise exception.StopExtraction("Unable to extract bootstrap data")
|
||||||
|
|
||||||
|
|
||||||
class PatreonCreatorExtractor(PatreonExtractor):
|
class PatreonCreatorExtractor(PatreonExtractor):
|
||||||
|
|||||||
Reference in New Issue
Block a user