aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2025-08-17 20:18:26 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2025-08-17 20:18:26 -0400
commit7e07278f6d1e8960eeb8361a58eb87dd10a50d01 (patch)
treeb4ddf06a7de8fc88d77c5b39b634d16fd6a02ccb
parentf2c968314d976d2c355b5cb1628c8393c031921b (diff)
parent3c1539bde1b47fff0ba81c9d92801fa700fedc3b (diff)
Update upstream source from tag 'upstream/1.30.4'
Update to upstream version '1.30.4' with Debian dir da109e2d591a480670fd2f6046efae700d8e9bfc
-rw-r--r--CHANGELOG.md73
-rw-r--r--PKG-INFO6
-rw-r--r--README.rst4
-rw-r--r--data/man/gallery-dl.12
-rw-r--r--data/man/gallery-dl.conf.52
-rw-r--r--gallery_dl.egg-info/PKG-INFO6
-rw-r--r--gallery_dl/extractor/civitai.py20
-rw-r--r--gallery_dl/extractor/kemono.py9
-rw-r--r--gallery_dl/extractor/newgrounds.py4
-rw-r--r--gallery_dl/output.py2
-rw-r--r--gallery_dl/path.py3
-rw-r--r--gallery_dl/version.py2
12 files changed, 49 insertions, 84 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1bdbcc7..976f561 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,71 +1,12 @@
-## 1.30.3 - 2025-08-15
+## 1.30.4 - 2025-08-16
### Extractors
#### Additions
-- [booth] add support ([#7920](https://github.com/mikf/gallery-dl/issues/7920))
-- [civitai] add `collection` & `user-collections` extractors ([#8005](https://github.com/mikf/gallery-dl/issues/8005))
-- [facebook] add `info` extractor ([#6582](https://github.com/mikf/gallery-dl/issues/6582))
-- [facebook] add `albums` extractor ([#7848](https://github.com/mikf/gallery-dl/issues/7848))
-- [imgdrive] add `image` extractor ([#7976](https://github.com/mikf/gallery-dl/issues/7976))
-- [imgtaxi] add `image` extractor ([#8019](https://github.com/mikf/gallery-dl/issues/8019))
-- [imgwallet] add `image` extractor ([#8021](https://github.com/mikf/gallery-dl/issues/8021))
-- [picstate] add `image` extractor ([#7946](https://github.com/mikf/gallery-dl/issues/7946))
-- [silverpic] add `image` extractor ([#8020](https://github.com/mikf/gallery-dl/issues/8020))
-- [tumblr] add `following` & `followers` extractors ([#8018](https://github.com/mikf/gallery-dl/issues/8018))
-- [xasiat] add support ([#4161](https://github.com/mikf/gallery-dl/issues/4161) [#5929](https://github.com/mikf/gallery-dl/issues/5929) [#7934](https://github.com/mikf/gallery-dl/issues/7934))
+- [civitai] add 'videos' extractor ([#6644](https://github.com/mikf/gallery-dl/issues/6644))
#### Fixes
-- [blogger] fix video extraction ([#7892](https://github.com/mikf/gallery-dl/issues/7892))
-- [comick] handle chapters without chapter data ([#7972](https://github.com/mikf/gallery-dl/issues/7972))
-- [comick] handle volume-only chapters ([#8043](https://github.com/mikf/gallery-dl/issues/8043))
-- [comick] fix exception when filtering by translation group ([#8045](https://github.com/mikf/gallery-dl/issues/8045))
-- [deviantart:tiptap] fix `KeyError: 'attrs'` ([#7929](https://github.com/mikf/gallery-dl/issues/7929))
-- [everia] fix image extraction ([#7973](https://github.com/mikf/gallery-dl/issues/7973) [#7977](https://github.com/mikf/gallery-dl/issues/7977))
-- [facebook] fix `avatar` extraction for empty profiles ([#7962](https://github.com/mikf/gallery-dl/issues/7962))
-- [facebook] handle profiles without photos or `set_id` ([#7962](https://github.com/mikf/gallery-dl/issues/7962))
-- [fappic] rewrite thumbnail URLs ([#8013](https://github.com/mikf/gallery-dl/issues/8013))
-- [idolcomplex] update to new domain and interface ([#7559](https://github.com/mikf/gallery-dl/issues/7559) [#8009](https://github.com/mikf/gallery-dl/issues/8009))
-- [kemono][coomer] fix extraction ([#8028](https://github.com/mikf/gallery-dl/issues/8028) [#8031](https://github.com/mikf/gallery-dl/issues/8031))
-- [kemono] update `/creators` endpoint ([#8039](https://github.com/mikf/gallery-dl/issues/8039) [#8040](https://github.com/mikf/gallery-dl/issues/8040))
-- [kemono] don't set error status for posts without comments ([#7961](https://github.com/mikf/gallery-dl/issues/7961))
-- [pixiv] fix `IndexError` for unviewable works ([#7940](https://github.com/mikf/gallery-dl/issues/7940))
-- [pixiv] fix artworks downloads when using expired cookies ([#7987](https://github.com/mikf/gallery-dl/issues/7987))
-- [scrolller] fix NSFW subreddit pagination ([#7945](https://github.com/mikf/gallery-dl/issues/7945))
-- [twitter] fix potential `UnboundLocalError` when `videos` are disabled ([#7932](https://github.com/mikf/gallery-dl/issues/7932))
-- [vsco] disable TLS 1.2 cipher suites by default ([#7984](https://github.com/mikf/gallery-dl/issues/7984) [#7986](https://github.com/mikf/gallery-dl/issues/7986))
-- [wikimedia:wiki] fix `AttributeError: 'subcategories'` ([#7931](https://github.com/mikf/gallery-dl/issues/7931))
+- [civitai] fix posts not returning video files ([#8053](https://github.com/mikf/gallery-dl/issues/8053))
+- [civitai] fix '403 Forbidden' errors for searches
+- [kemono] use 'Accept: text/css' for API requests ([#8047](https://github.com/mikf/gallery-dl/issues/8047) [#8057](https://github.com/mikf/gallery-dl/issues/8057))
#### Improvements
-- [aibooru] support `general.aibooru.online` & `aibooru.download`
-- [comick] add `lang` option ([#7938](https://github.com/mikf/gallery-dl/issues/7938))
-- [hentaifoundry] add `descriptions` option ([#7952](https://github.com/mikf/gallery-dl/issues/7952))
-- [facebook] raise `AuthRequired` for profiles requiring cookies ([#7962](https://github.com/mikf/gallery-dl/issues/7962))
-- [instagram] warn about lower quality image downloads ([#7921](https://github.com/mikf/gallery-dl/issues/7921))
-- [kemono] support `"endpoint": "posts+"` for full metadata ([#8028](https://github.com/mikf/gallery-dl/issues/8028))
-- [misskey] support `misskey.art` ([#7923](https://github.com/mikf/gallery-dl/issues/7923))
-- [motherless] detect `404`/`File not found` pages
-- [pixiv] detect suspended/deleted accounts ([#7990](https://github.com/mikf/gallery-dl/issues/7990))
-- [pixiv] improve API error messages
-- [pixiv] remove redundant cookies initialization code
-- [scrolller] limit `title` length in default filenames
-- [skeb] implement `include` option ([#6558](https://github.com/mikf/gallery-dl/issues/6558) [#7267](https://github.com/mikf/gallery-dl/issues/7267))
-- [vk] update default `archive_fmt` ([#8030](https://github.com/mikf/gallery-dl/issues/8030))
-#### Metadata
-- [cien] provide `author[id]` metadata ([#6582](https://github.com/mikf/gallery-dl/issues/6582))
-- [dankefuerslesen] extract more metadata ([#7915](https://github.com/mikf/gallery-dl/issues/7915))
-- [dankefuerslesen:manga] fix metadata being overwritten
-- [facebook] ensure numeric `user_id` values ([#7953](https://github.com/mikf/gallery-dl/issues/7953))
-- [facebook:set] fix/improve `user_id` extraction ([#7848](https://github.com/mikf/gallery-dl/issues/7848))
-- [fappic] fix `filename` values
-#### Common
-- [common] implement `"user-agent": "@BROWSER"` ([#7947](https://github.com/mikf/gallery-dl/issues/7947))
-- [common] improve error message for non-Netscape cookie files ([#8014](https://github.com/mikf/gallery-dl/issues/8014))
-### Downloaders
-- [ytdl] don't overwrite existing `filename` data ([#7964](https://github.com/mikf/gallery-dl/issues/7964))
+- [newgrounds] add fallback for images with empty 'full_image_text' 'src'
### Miscellaneous
-- [docs/configuration] improve `client-id` & `api-key` instructions
-- [docs/formatting] update and improve
-- [job] apply `extension-map` to `SimulationJob` results ([#7954](https://github.com/mikf/gallery-dl/issues/7954))
-- [job] improve URL `scheme` extraction performance
-- [job] split collected DataJob results
-- [path] implement `path-convert` option ([#493](https://github.com/mikf/gallery-dl/issues/493) [#6582](https://github.com/mikf/gallery-dl/issues/6582))
-- [scripts] improve and extend `init`, `generate_test_result`, and `pyprint`
-- extend `-A`/`--abort` & `"skip": "abort"` functionality ([#7891](https://github.com/mikf/gallery-dl/issues/7891))
-- use more f-strings ([#7671](https://github.com/mikf/gallery-dl/issues/7671))
+- fix accessing methods through 'path-metadata' proxy ([#6582](https://github.com/mikf/gallery-dl/issues/6582))
diff --git a/PKG-INFO b/PKG-INFO
index 6787cc9..284a767 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: gallery_dl
-Version: 1.30.3
+Version: 1.30.4
Summary: Command-line program to download image galleries and collections from several image hosting sites
Home-page: https://github.com/mikf/gallery-dl
Download-URL: https://github.com/mikf/gallery-dl/releases/latest
@@ -139,9 +139,9 @@ Standalone Executable
Prebuilt executable files with a Python interpreter and
required Python packages included are available for
-- `Windows <https://github.com/mikf/gallery-dl/releases/download/v1.30.3/gallery-dl.exe>`__
+- `Windows <https://github.com/mikf/gallery-dl/releases/download/v1.30.4/gallery-dl.exe>`__
(Requires `Microsoft Visual C++ Redistributable Package (x86) <https://aka.ms/vs/17/release/vc_redist.x86.exe>`__)
-- `Linux <https://github.com/mikf/gallery-dl/releases/download/v1.30.3/gallery-dl.bin>`__
+- `Linux <https://github.com/mikf/gallery-dl/releases/download/v1.30.4/gallery-dl.bin>`__
Nightly Builds
diff --git a/README.rst b/README.rst
index 1bb85f5..a67bde5 100644
--- a/README.rst
+++ b/README.rst
@@ -79,9 +79,9 @@ Standalone Executable
Prebuilt executable files with a Python interpreter and
required Python packages included are available for
-- `Windows <https://github.com/mikf/gallery-dl/releases/download/v1.30.3/gallery-dl.exe>`__
+- `Windows <https://github.com/mikf/gallery-dl/releases/download/v1.30.4/gallery-dl.exe>`__
(Requires `Microsoft Visual C++ Redistributable Package (x86) <https://aka.ms/vs/17/release/vc_redist.x86.exe>`__)
-- `Linux <https://github.com/mikf/gallery-dl/releases/download/v1.30.3/gallery-dl.bin>`__
+- `Linux <https://github.com/mikf/gallery-dl/releases/download/v1.30.4/gallery-dl.bin>`__
Nightly Builds
diff --git a/data/man/gallery-dl.1 b/data/man/gallery-dl.1
index 39b88a4..4a0bc92 100644
--- a/data/man/gallery-dl.1
+++ b/data/man/gallery-dl.1
@@ -1,4 +1,4 @@
-.TH "GALLERY-DL" "1" "2025-08-15" "1.30.3" "gallery-dl Manual"
+.TH "GALLERY-DL" "1" "2025-08-16" "1.30.4" "gallery-dl Manual"
.\" disable hyphenation
.nh
diff --git a/data/man/gallery-dl.conf.5 b/data/man/gallery-dl.conf.5
index d33a147..b7ab71f 100644
--- a/data/man/gallery-dl.conf.5
+++ b/data/man/gallery-dl.conf.5
@@ -1,4 +1,4 @@
-.TH "GALLERY-DL.CONF" "5" "2025-08-15" "1.30.3" "gallery-dl Manual"
+.TH "GALLERY-DL.CONF" "5" "2025-08-16" "1.30.4" "gallery-dl Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
diff --git a/gallery_dl.egg-info/PKG-INFO b/gallery_dl.egg-info/PKG-INFO
index 6787cc9..284a767 100644
--- a/gallery_dl.egg-info/PKG-INFO
+++ b/gallery_dl.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: gallery_dl
-Version: 1.30.3
+Version: 1.30.4
Summary: Command-line program to download image galleries and collections from several image hosting sites
Home-page: https://github.com/mikf/gallery-dl
Download-URL: https://github.com/mikf/gallery-dl/releases/latest
@@ -139,9 +139,9 @@ Standalone Executable
Prebuilt executable files with a Python interpreter and
required Python packages included are available for
-- `Windows <https://github.com/mikf/gallery-dl/releases/download/v1.30.3/gallery-dl.exe>`__
+- `Windows <https://github.com/mikf/gallery-dl/releases/download/v1.30.4/gallery-dl.exe>`__
(Requires `Microsoft Visual C++ Redistributable Package (x86) <https://aka.ms/vs/17/release/vc_redist.x86.exe>`__)
-- `Linux <https://github.com/mikf/gallery-dl/releases/download/v1.30.3/gallery-dl.bin>`__
+- `Linux <https://github.com/mikf/gallery-dl/releases/download/v1.30.4/gallery-dl.bin>`__
Nightly Builds
diff --git a/gallery_dl/extractor/civitai.py b/gallery_dl/extractor/civitai.py
index fe3b7ed..00400ba 100644
--- a/gallery_dl/extractor/civitai.py
+++ b/gallery_dl/extractor/civitai.py
@@ -459,6 +459,18 @@ class CivitaiImagesExtractor(CivitaiExtractor):
def images(self):
params = self._parse_query(self.groups[0])
+ params["types"] = ("image",)
+ return self.api.images(params)
+
+
+class CivitaiVideosExtractor(CivitaiExtractor):
+ subcategory = "videos"
+ pattern = BASE_PATTERN + r"/videos(?:/?\?([^#]+))?(?:$|#)"
+ example = "https://civitai.com/videos"
+
+ def images(self):
+ params = self._parse_query(self.groups[0])
+ params["types"] = ("video",)
return self.api.images(params)
@@ -521,6 +533,7 @@ class CivitaiUserImagesExtractor(CivitaiExtractor):
def __init__(self, match):
user, query = match.groups()
self.params = self._parse_query(query)
+ self.params["types"] = ("image",)
if self.params.get("section") == "reactions":
self.subcategory = "reactions-images"
self.images = self._image_reactions
@@ -708,7 +721,6 @@ class CivitaiTrpcAPI():
"useIndex" : True,
"period" : "AllTime",
"sort" : "Newest",
- "types" : ("image",),
"withMeta" : False, # Metadata Only
"fromPlatform" : False, # Made On-Site
"browsingLevel": self.nsfw,
@@ -899,10 +911,10 @@ class CivitaiSearchAPI():
def __init__(self, extractor):
self.extractor = extractor
- self.root = "https://search.civitai.com"
+ self.root = "https://search-new.civitai.com"
self.headers = {
- "Authorization": "Bearer ab8565e5ab8dc2d8f0d4256d204781cb63fe8b031"
- "eb3779cbbed38a7b5308e5c",
+ "Authorization": "Bearer 8c46eb2508e21db1e9828a97968d91ab1ca1caa5f"
+ "70a00e88a2ba1e286603b61",
"Content-Type": "application/json",
"X-Meilisearch-Client": "Meilisearch instant-meilisearch (v0.13.5)"
" ; Meilisearch JavaScript (v0.34.0)",
diff --git a/gallery_dl/extractor/kemono.py b/gallery_dl/extractor/kemono.py
index 46139bc..a5e1f6d 100644
--- a/gallery_dl/extractor/kemono.py
+++ b/gallery_dl/extractor/kemono.py
@@ -562,6 +562,7 @@ class KemonoAPI():
def __init__(self, extractor):
self.extractor = extractor
self.root = extractor.root + "/api/v1"
+ self.headers = {"Accept": "text/css"}
def posts(self, offset=0, query=None, tags=None):
endpoint = "/posts"
@@ -574,8 +575,7 @@ class KemonoAPI():
def creators(self):
endpoint = "/creators"
- headers = {"Accept": "text/css"}
- return self._call(endpoint, headers=headers)
+ return self._call(endpoint)
def creator_posts(self, service, creator_id,
offset=0, query=None, tags=None):
@@ -644,6 +644,11 @@ class KemonoAPI():
return self._call(endpoint, params)
def _call(self, endpoint, params=None, headers=None, fatal=True):
+ if headers is None:
+ headers = self.headers
+ else:
+ headers = {**self.headers, **headers}
+
return self.extractor.request_json(
f"{self.root}{endpoint}", params=params, headers=headers,
encoding="utf-8", fatal=fatal)
diff --git a/gallery_dl/extractor/newgrounds.py b/gallery_dl/extractor/newgrounds.py
index de96aa0..c42453f 100644
--- a/gallery_dl/extractor/newgrounds.py
+++ b/gallery_dl/extractor/newgrounds.py
@@ -224,6 +224,10 @@ class NewgroundsExtractor(Extractor):
"width" : text.parse_int(full('width="', '"')),
"height" : text.parse_int(full('height="', '"')),
}
+
+ if not data["url"]:
+ data["url"] = extr('<a href="', '"')
+
index = data["url"].rpartition("/")[2].partition("_")[0]
data["index"] = text.parse_int(index)
data["_index"] = index
diff --git a/gallery_dl/output.py b/gallery_dl/output.py
index 519a8f4..9e0888b 100644
--- a/gallery_dl/output.py
+++ b/gallery_dl/output.py
@@ -118,7 +118,7 @@ class PathfmtProxy():
def __getattribute__(self, name):
pathfmt = object.__getattribute__(self, "job").pathfmt
- return pathfmt.__dict__.get(name) if pathfmt else None
+ return getattr(pathfmt, name, None) if pathfmt else None
def __str__(self):
if pathfmt := object.__getattribute__(self, "job").pathfmt:
diff --git a/gallery_dl/path.py b/gallery_dl/path.py
index eecbd6c..6381622 100644
--- a/gallery_dl/path.py
+++ b/gallery_dl/path.py
@@ -134,6 +134,9 @@ class PathFormat():
basedir = self.clean_path(basedir)
self.basedirectory = basedir
+ def __str__(self):
+ return self.realpath
+
def open(self, mode="wb"):
"""Open file and return a corresponding file object"""
try:
diff --git a/gallery_dl/version.py b/gallery_dl/version.py
index a6474de..e6913b0 100644
--- a/gallery_dl/version.py
+++ b/gallery_dl/version.py
@@ -6,5 +6,5 @@
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
-__version__ = "1.30.3"
+__version__ = "1.30.4"
__variant__ = None