mirror of
https://github.com/mikf/gallery-dl.git
synced 2025-01-31 19:51:34 +01:00
add '"skip": "terminate"' option
Stops not only the current extractor/job, but all parent extractors/jobs as well.
This commit is contained in:
parent
4835888acc
commit
c693db5b1a
@ -1,5 +1,7 @@
|
||||
# Changelog
|
||||
|
||||
## Unreleased
|
||||
|
||||
## 1.17.4 - 2021-05-07
|
||||
### Additions
|
||||
- [gelbooru] add extractor for `/redirect.php` URLs ([#1530](https://github.com/mikf/gallery-dl/issues/1530))
|
||||
|
@ -226,10 +226,14 @@ Description
|
||||
* ``true``: Skip downloads
|
||||
* ``false``: Overwrite already existing files
|
||||
|
||||
* ``"abort"``: Abort the current extractor run
|
||||
* ``"abort:N"``: Skip downloads and abort extractor run
|
||||
* ``"abort"``: Stop the current extractor run
|
||||
* ``"abort:N"``: Skip downloads and stop the current extractor run
|
||||
after ``N`` consecutive skips
|
||||
|
||||
* ``"terminate"``: Stop the current extractor run, including parent extractors
|
||||
* ``"terminate:N"``: Skip downloads and stop the current extractor run,
|
||||
including parent extractors, after ``N`` consecutive skips
|
||||
|
||||
* ``"exit"``: Exit the program altogether
|
||||
* ``"exit:N"``: Skip downloads and exit the program
|
||||
after ``N`` consecutive skips
|
||||
|
@ -249,6 +249,8 @@ def main():
|
||||
retval |= jobtype(url.value).run()
|
||||
else:
|
||||
retval |= jobtype(url).run()
|
||||
except exception.TerminateExtraction:
|
||||
pass
|
||||
except exception.NoExtractorError:
|
||||
log.error("No suitable extractor found for '%s'", url)
|
||||
retval |= 64
|
||||
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2015-2019 Mike Fährmann
|
||||
# Copyright 2015-2021 Mike Fährmann
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 2 as
|
||||
@ -23,6 +23,7 @@ Exception
|
||||
+-- FilterError
|
||||
+-- NoExtractorError
|
||||
+-- StopExtraction
|
||||
+-- TerminateExtraction
|
||||
"""
|
||||
|
||||
|
||||
@ -109,3 +110,8 @@ class StopExtraction(GalleryDLException):
|
||||
GalleryDLException.__init__(self)
|
||||
self.message = message % args if args else message
|
||||
self.code = 1 if message else 0
|
||||
|
||||
|
||||
class TerminateExtraction(GalleryDLException):
|
||||
"""Terminate data extraction"""
|
||||
code = 0
|
||||
|
@ -80,6 +80,8 @@ class Job():
|
||||
if exc.message:
|
||||
log.error(exc.message)
|
||||
self.status |= exc.code
|
||||
except exception.TerminateExtraction:
|
||||
raise
|
||||
except exception.GalleryDLException as exc:
|
||||
log.error("%s: %s", exc.__class__.__name__, exc)
|
||||
self.status |= exc.code
|
||||
@ -400,6 +402,8 @@ class DownloadJob(Job):
|
||||
skip, _, smax = skip.partition(":")
|
||||
if skip == "abort":
|
||||
self._skipexc = exception.StopExtraction
|
||||
elif skip == "terminate":
|
||||
self._skipexc = exception.TerminateExtraction
|
||||
elif skip == "exit":
|
||||
self._skipexc = sys.exit
|
||||
self._skipcnt = 0
|
||||
|
@ -6,4 +6,4 @@
|
||||
# it under the terms of the GNU General Public License version 2 as
|
||||
# published by the Free Software Foundation.
|
||||
|
||||
__version__ = "1.17.4"
|
||||
__version__ = "1.17.5-dev"
|
||||
|
Loading…
x
Reference in New Issue
Block a user