[pixeldrain] warn about hotlink-protected files (#8803)
https://github.com/mikf/gallery-dl/issues/8803#issuecomment-3733498009
This commit is contained in:
@@ -24,6 +24,16 @@ class PixeldrainExtractor(Extractor):
|
||||
if api_key := self.config("api-key"):
|
||||
self.session.auth = util.HTTPBasicAuth("", api_key)
|
||||
|
||||
def _available(self, file):
|
||||
if not file.get("availability"):
|
||||
return True
|
||||
|
||||
self.status |= 1
|
||||
self.log.debug(file["availability"])
|
||||
self.log.warning(
|
||||
"%s: '%s'", file["name"], file["availability_message"])
|
||||
return False
|
||||
|
||||
|
||||
class PixeldrainFileExtractor(PixeldrainExtractor):
|
||||
"""Extractor for pixeldrain files"""
|
||||
@@ -45,7 +55,12 @@ class PixeldrainFileExtractor(PixeldrainExtractor):
|
||||
|
||||
text.nameext_from_name(file["name"], file)
|
||||
yield Message.Directory, "", file
|
||||
yield Message.Url, file["url"], file
|
||||
if file.get("availability"):
|
||||
self.status |= 1
|
||||
self.log.debug(file["availability"])
|
||||
self.log.error("'%s'", file["availability_message"])
|
||||
else:
|
||||
yield Message.Url, file["url"], file
|
||||
|
||||
|
||||
class PixeldrainAlbumExtractor(PixeldrainExtractor):
|
||||
@@ -103,6 +118,8 @@ class PixeldrainAlbumExtractor(PixeldrainExtractor):
|
||||
|
||||
yield Message.Directory, "", {"album": album}
|
||||
for num, file in enumerate(files, idx+1):
|
||||
if not self._available(file):
|
||||
continue
|
||||
file["album"] = album
|
||||
file["num"] = num
|
||||
file["url"] = url = f"{self.root}/api/file/{file['id']}?download"
|
||||
@@ -156,6 +173,8 @@ class PixeldrainFolderExtractor(PixeldrainExtractor):
|
||||
for child in children:
|
||||
if child["type"] == "file":
|
||||
num += 1
|
||||
if not self._available(child):
|
||||
continue
|
||||
url = f"{self.root}/api/filesystem{child['path']}?attach"
|
||||
share_url = f"{self.root}/d{child['path']}"
|
||||
data = self.metadata(child)
|
||||
|
||||
Reference in New Issue
Block a user