[weasyl] api-key authentication (#1057)
* [weasyl] support api keys * [weasyl] document api-key authentication * [weasyl] usernames can contain ~
This commit is contained in:
@@ -30,6 +30,10 @@ class WeasylExtractor(Extractor):
|
||||
return True
|
||||
return False
|
||||
|
||||
def __init__(self, match):
|
||||
Extractor.__init__(self, match)
|
||||
self.session.headers['X-Weasyl-API-Key'] = self.config("api-key")
|
||||
|
||||
def request_submission(self, submitid):
|
||||
return self.request(
|
||||
"{}/api/submissions/{}/view".format(self.root, submitid)).json()
|
||||
@@ -64,7 +68,7 @@ class WeasylExtractor(Extractor):
|
||||
|
||||
class WeasylSubmissionExtractor(WeasylExtractor):
|
||||
subcategory = "submission"
|
||||
pattern = BASE_PATTERN + r"(?:~[\w-]+/submissions|submission)/(\d+)"
|
||||
pattern = BASE_PATTERN + r"(?:~[\w~-]+/submissions|submission)/(\d+)"
|
||||
test = (
|
||||
("https://www.weasyl.com/~fiz/submissions/2031/a-wesley", {
|
||||
"pattern": "https://cdn.weasyl.com/~fiz/submissions/2031/41ebc1c29"
|
||||
@@ -105,12 +109,13 @@ class WeasylSubmissionExtractor(WeasylExtractor):
|
||||
|
||||
class WeasylSubmissionsExtractor(WeasylExtractor):
|
||||
subcategory = "submissions"
|
||||
pattern = BASE_PATTERN + r"(?:~|submissions/)([\w-]+)/?$"
|
||||
pattern = BASE_PATTERN + r"(?:~|submissions/)([\w~-]+)/?$"
|
||||
test = (
|
||||
("https://www.weasyl.com/~tanidareal", {
|
||||
"count": ">= 200"
|
||||
}),
|
||||
("https://www.weasyl.com/submissions/tanidareal"),
|
||||
("https://www.weasyl.com/~aro~so")
|
||||
)
|
||||
|
||||
def __init__(self, match):
|
||||
@@ -126,7 +131,7 @@ class WeasylSubmissionsExtractor(WeasylExtractor):
|
||||
class WeasylFolderExtractor(WeasylExtractor):
|
||||
subcategory = "folder"
|
||||
directory_fmt = ("{category}", "{owner_login}", "{folder_name}")
|
||||
pattern = BASE_PATTERN + r"submissions/([\w-]+)\?folderid=(\d+)"
|
||||
pattern = BASE_PATTERN + r"submissions/([\w~-]+)\?folderid=(\d+)"
|
||||
test = ("https://www.weasyl.com/submissions/tanidareal?folderid=7403", {
|
||||
"count": ">= 12"
|
||||
})
|
||||
@@ -175,7 +180,7 @@ class WeasylJournalsExtractor(WeasylExtractor):
|
||||
subcategory = "journals"
|
||||
filename_fmt = "{journalid} {title}.{extension}"
|
||||
archive_fmt = "{journalid}"
|
||||
pattern = BASE_PATTERN + r"journals/([\w-]+)"
|
||||
pattern = BASE_PATTERN + r"journals/([\w~-]+)"
|
||||
test = ("https://www.weasyl.com/journals/charmander", {
|
||||
"count": ">= 2",
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user