diff options
Diffstat (limited to 'gallery_dl/extractor/weasyl.py')
| -rw-r--r-- | gallery_dl/extractor/weasyl.py | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/gallery_dl/extractor/weasyl.py b/gallery_dl/extractor/weasyl.py index a69f3a8..e718e51 100644 --- a/gallery_dl/extractor/weasyl.py +++ b/gallery_dl/extractor/weasyl.py @@ -24,8 +24,7 @@ class WeasylExtractor(Extractor): # Some submissions don't have content and can be skipped if "submission" in data["media"]: data["url"] = data["media"]["submission"][0]["url"] - data["date"] = text.parse_datetime( - data["posted_at"][:19], "%Y-%m-%dT%H:%M:%S") + data["date"] = self.parse_datetime_iso(data["posted_at"][:19]) text.nameext_from_url(data["url"], data) return True return False @@ -42,7 +41,7 @@ class WeasylExtractor(Extractor): f"{self.root}/api/journals/{journalid}/view") data["extension"] = "html" data["html"] = "text:" + data["content"] - data["date"] = text.parse_datetime(data["posted_at"]) + data["date"] = self.parse_datetime_iso(data["posted_at"]) return data def submissions(self, owner_login, folderid=None): @@ -71,7 +70,7 @@ class WeasylExtractor(Extractor): class WeasylSubmissionExtractor(WeasylExtractor): subcategory = "submission" - pattern = BASE_PATTERN + r"(?:~[\w~-]+/submissions|submission|view)/(\d+)" + pattern = rf"{BASE_PATTERN}(?:~[\w~-]+/submissions|submission|view)/(\d+)" example = "https://www.weasyl.com/~USER/submissions/12345/TITLE" def __init__(self, match): @@ -81,13 +80,13 @@ class WeasylSubmissionExtractor(WeasylExtractor): def items(self): data = self.request_submission(self.submitid) if self.populate_submission(data): - yield Message.Directory, data + yield Message.Directory, "", data yield Message.Url, data["url"], data class WeasylSubmissionsExtractor(WeasylExtractor): subcategory = "submissions" - pattern = BASE_PATTERN + r"(?:~|submissions/)([\w~-]+)/?$" + pattern = rf"{BASE_PATTERN}(?:~|submissions/)([\w~-]+)/?$" example = "https://www.weasyl.com/submissions/USER" def __init__(self, match): @@ -95,14 +94,14 @@ class WeasylSubmissionsExtractor(WeasylExtractor): self.owner_login = match[1] def items(self): - yield Message.Directory, {"owner_login": self.owner_login} + yield Message.Directory, "", {"owner_login": self.owner_login} yield from self.submissions(self.owner_login) class WeasylFolderExtractor(WeasylExtractor): subcategory = "folder" directory_fmt = ("{category}", "{owner_login}", "{folder_name}") - pattern = BASE_PATTERN + r"submissions/([\w~-]+)\?folderid=(\d+)" + pattern = rf"{BASE_PATTERN}submissions/([\w~-]+)\?folderid=(\d+)" example = "https://www.weasyl.com/submissions/USER?folderid=12345" def __init__(self, match): @@ -114,7 +113,7 @@ class WeasylFolderExtractor(WeasylExtractor): # Folder names are only on single submission api calls msg, url, data = next(iter) details = self.request_submission(data["submitid"]) - yield Message.Directory, details + yield Message.Directory, "", details yield msg, url, data yield from iter @@ -123,7 +122,7 @@ class WeasylJournalExtractor(WeasylExtractor): subcategory = "journal" filename_fmt = "{journalid} {title}.{extension}" archive_fmt = "{journalid}" - pattern = BASE_PATTERN + r"journal/(\d+)" + pattern = rf"{BASE_PATTERN}journal/(\d+)" example = "https://www.weasyl.com/journal/12345" def __init__(self, match): @@ -132,7 +131,7 @@ class WeasylJournalExtractor(WeasylExtractor): def items(self): data = self.retrieve_journal(self.journalid) - yield Message.Directory, data + yield Message.Directory, "", data yield Message.Url, data["html"], data @@ -140,7 +139,7 @@ class WeasylJournalsExtractor(WeasylExtractor): subcategory = "journals" filename_fmt = "{journalid} {title}.{extension}" archive_fmt = "{journalid}" - pattern = BASE_PATTERN + r"journals/([\w~-]+)" + pattern = rf"{BASE_PATTERN}journals/([\w~-]+)" example = "https://www.weasyl.com/journals/USER" def __init__(self, match): @@ -148,7 +147,7 @@ class WeasylJournalsExtractor(WeasylExtractor): self.owner_login = match[1] def items(self): - yield Message.Directory, {"owner_login": self.owner_login} + yield Message.Directory, "", {"owner_login": self.owner_login} url = f"{self.root}/journals/{self.owner_login}" page = self.request(url).text @@ -160,7 +159,7 @@ class WeasylJournalsExtractor(WeasylExtractor): class WeasylFavoriteExtractor(WeasylExtractor): subcategory = "favorite" directory_fmt = ("{category}", "{user}", "Favorites") - pattern = BASE_PATTERN + r"favorites(?:\?userid=(\d+)|/([^/?#]+))" + pattern = rf"{BASE_PATTERN}favorites(?:\?userid=(\d+)|/([^/?#]+))" example = "https://www.weasyl.com/favorites?userid=12345" def items(self): @@ -192,7 +191,7 @@ class WeasylFavoriteExtractor(WeasylExtractor): submission = self.request_submission(submitid) if self.populate_submission(submission): submission["user"] = owner_login - yield Message.Directory, submission + yield Message.Directory, "", submission yield Message.Url, submission["url"], submission try: |
