Encapsulate the subprocess call inside a run function.
This commit is contained in:
parent
5c0b17ef39
commit
3e3e411bf4
|
@ -117,8 +117,7 @@ def check_archives(
|
|||
# The check command spews to stdout/stderr even without the verbose flag. Suppress it.
|
||||
stdout = None if verbosity_flags else open(os.devnull, 'w')
|
||||
|
||||
logger.debug(' '.join(full_command))
|
||||
subprocess.check_call(full_command, stdout=stdout, stderr=subprocess.STDOUT)
|
||||
run(full_command, stdout=stdout, stderr=subprocess.STDOUT)
|
||||
|
||||
if 'extract' in checks:
|
||||
extract.extract_last_archive_dry_run(repository, lock_wait, local_path, remote_path)
|
||||
|
|
|
@ -2,9 +2,9 @@ import glob
|
|||
import itertools
|
||||
import logging
|
||||
import os
|
||||
import subprocess
|
||||
import tempfile
|
||||
|
||||
from borgmatic.run import run
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -154,5 +154,4 @@ def create_archive(
|
|||
+ (('--json',) if json else ())
|
||||
)
|
||||
|
||||
logger.debug(' '.join(full_command))
|
||||
subprocess.check_call(full_command)
|
||||
return run(full_command, capture_output = json)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import logging
|
||||
import sys
|
||||
import subprocess
|
||||
|
||||
from borgmatic.run import run
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -26,7 +26,7 @@ def extract_last_archive_dry_run(repository, lock_wait=None, local_path='borg',
|
|||
+ verbosity_flags
|
||||
)
|
||||
|
||||
list_output = subprocess.check_output(full_list_command).decode(sys.stdout.encoding)
|
||||
list_output = run(full_list_command, capture_output = True)
|
||||
|
||||
last_archive_name = list_output.strip().split('\n')[-1]
|
||||
if not last_archive_name:
|
||||
|
@ -48,5 +48,4 @@ def extract_last_archive_dry_run(repository, lock_wait=None, local_path='borg',
|
|||
+ list_flag
|
||||
)
|
||||
|
||||
logger.debug(' '.join(full_extract_command))
|
||||
subprocess.check_call(full_extract_command)
|
||||
run(full_extract_command)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import logging
|
||||
import subprocess
|
||||
|
||||
from borgmatic.run import run
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -23,7 +23,4 @@ def display_archives_info(
|
|||
+ (('--json',) if json else ())
|
||||
)
|
||||
|
||||
logger.debug(' '.join(full_command))
|
||||
|
||||
output = subprocess.check_output(full_command)
|
||||
return output.decode() if output is not None else None
|
||||
return run(full_command, capture_output = json)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import logging
|
||||
import subprocess
|
||||
|
||||
from borgmatic.run import run
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -20,7 +20,5 @@ def list_archives(repository, storage_config, local_path='borg', remote_path=Non
|
|||
+ (('--debug', '--show-rc') if logger.isEnabledFor(logging.DEBUG) else ())
|
||||
+ (('--json',) if json else ())
|
||||
)
|
||||
logger.debug(' '.join(full_command))
|
||||
|
||||
output = subprocess.check_output(full_command)
|
||||
return output.decode() if output is not None else None
|
||||
run(full_command, capture_output = json)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import logging
|
||||
import subprocess
|
||||
|
||||
from borgmatic.run import run
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -53,5 +53,4 @@ def prune_archives(
|
|||
+ (('--dry-run',) if dry_run else ())
|
||||
)
|
||||
|
||||
logger.debug(' '.join(full_command))
|
||||
subprocess.check_call(full_command)
|
||||
run(full_command)
|
||||
|
|
|
@ -205,7 +205,7 @@ def _run_commands_on_repository(
|
|||
)
|
||||
if args.create:
|
||||
logger.info('{}: Creating archive{}'.format(repository, dry_run_label))
|
||||
borg_create.create_archive(
|
||||
output = borg_create.create_archive(
|
||||
args.dry_run,
|
||||
repository,
|
||||
location,
|
||||
|
@ -213,6 +213,8 @@ def _run_commands_on_repository(
|
|||
local_path=local_path,
|
||||
remote_path=remote_path,
|
||||
)
|
||||
if args.json:
|
||||
json_results.append(json.loads(output))
|
||||
if args.check and checks.repository_enabled_for_checks(repository, consistency):
|
||||
logger.info('{}: Running consistency checks'.format(repository))
|
||||
borg_check.check_archives(
|
||||
|
@ -225,8 +227,6 @@ def _run_commands_on_repository(
|
|||
)
|
||||
if args.json:
|
||||
json_results.append(json.loads(output))
|
||||
else:
|
||||
sys.stdout.write(output)
|
||||
if args.info:
|
||||
logger.info('{}: Displaying summary info for archives'.format(repository))
|
||||
output = borg_info.display_archives_info(
|
||||
|
@ -234,8 +234,6 @@ def _run_commands_on_repository(
|
|||
)
|
||||
if args.json:
|
||||
json_results.append(json.loads(output))
|
||||
else:
|
||||
sys.stdout.write(output)
|
||||
|
||||
|
||||
def main(): # pragma: no cover
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
import logging
|
||||
import subprocess
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def run(args, capture_output = False, **kwargs):
|
||||
logger.debug('Executing: ' + ' '.join(args))
|
||||
|
||||
if capture_output:
|
||||
return subprocess.check_output(args, **kwargs).decode()
|
||||
|
||||
subprocess.check_call(args, **kwargs)
|
Loading…
Reference in New Issue