diff options
author | Christian Breunig <christian@breunig.cc> | 2023-11-26 20:54:02 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-26 20:54:02 +0100 |
commit | c64a8a4da7dba72a42493a58e3ce235c65b258e8 (patch) | |
tree | 6ef62312ea1b40302bd40514b23645560d90ba06 /python/vyos | |
parent | 6afd6eeb87a3a4ecbbd5aa9c67622d0b3c27721c (diff) | |
parent | 63bbd1afdd21563cf673ee34b47156889bd5e349 (diff) | |
download | vyos-1x-c64a8a4da7dba72a42493a58e3ce235c65b258e8.tar.gz vyos-1x-c64a8a4da7dba72a42493a58e3ce235c65b258e8.zip |
Merge pull request #2541 from erkin/commit-fix
remote: T5773: Fix for broken config download
Diffstat (limited to 'python/vyos')
-rw-r--r-- | python/vyos/remote.py | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/python/vyos/remote.py b/python/vyos/remote.py index 8b90e4530..8928cce67 100644 --- a/python/vyos/remote.py +++ b/python/vyos/remote.py @@ -46,17 +46,6 @@ from vyos.version import get_version CHUNK_SIZE = 8192 -@contextmanager -def umask(mask: int): - """ - Context manager that temporarily sets the process umask. - """ - oldmask = os.umask(mask) - try: - yield - finally: - os.umask(oldmask) - class InteractivePolicy(MissingHostKeyPolicy): """ Paramiko policy for interactively querying the user on whether to proceed @@ -88,6 +77,17 @@ class SourceAdapter(HTTPAdapter): num_pools=connections, maxsize=maxsize, block=block, source_address=self._source_pair) +@contextmanager +def umask(mask: int): + """ + Context manager that temporarily sets the process umask. + """ + import os + oldmask = os.umask(mask) + try: + yield + finally: + os.umask(oldmask) def check_storage(path, size): """ @@ -436,26 +436,22 @@ def urlc(urlstring, *args, **kwargs): except KeyError: raise ValueError(f'Unsupported URL scheme: "{scheme}"') -def download(local_path, urlstring, progressbar=False, raise_error=False, check_space=False, +def download(local_path, urlstring, progressbar=False, check_space=False, source_host='', source_port=0, timeout=10.0): try: progressbar = progressbar and is_interactive() urlc(urlstring, progressbar, check_space, source_host, source_port, timeout).download(local_path) except Exception as err: - if raise_error: - raise print_error(f'Unable to download "{urlstring}": {err}') except KeyboardInterrupt: print_error('\nDownload aborted by user.') -def upload(local_path, urlstring, progressbar=False, raise_error=False, +def upload(local_path, urlstring, progressbar=False, source_host='', source_port=0, timeout=10.0): try: progressbar = progressbar and is_interactive() urlc(urlstring, progressbar, source_host, source_port, timeout).upload(local_path) except Exception as err: - if raise_error: - raise print_error(f'Unable to upload "{urlstring}": {err}') except KeyboardInterrupt: print_error('\nUpload aborted by user.') |