mirror of
https://github.com/mikf/gallery-dl.git
synced 2024-11-26 04:32:51 +01:00
[pp:exec] add 'async' option
This commit is contained in:
parent
7646bdbcfd
commit
2628911ba0
@ -8,8 +8,11 @@
|
||||
|
||||
"""Common classes and constants used by postprocessor modules."""
|
||||
|
||||
from . import log
|
||||
|
||||
|
||||
class PostProcessor():
|
||||
log = log
|
||||
|
||||
def run(self, asd):
|
||||
def run(self, pathfmt):
|
||||
raise NotImplementedError()
|
||||
|
@ -16,14 +16,22 @@ class ExecPP(PostProcessor):
|
||||
|
||||
def __init__(self, options):
|
||||
PostProcessor.__init__(self)
|
||||
self.args = options["args"]
|
||||
self.args = options["command"]
|
||||
if options.get("async", False):
|
||||
self._exec = subprocess.Popen
|
||||
|
||||
def run(self, pathfmt):
|
||||
args = [
|
||||
self._exec([
|
||||
arg.format_map(pathfmt.keywords)
|
||||
for arg in self.args
|
||||
]
|
||||
subprocess.Popen(args)
|
||||
])
|
||||
|
||||
def _exec(self, args):
|
||||
retcode = subprocess.Popen(args).wait()
|
||||
if retcode:
|
||||
self.log.warning(
|
||||
"executing '%s' returned non-zero exit status %d",
|
||||
" ".join(args), retcode)
|
||||
|
||||
|
||||
__postprocessor__ = ExecPP
|
||||
|
Loading…
Reference in New Issue
Block a user