From 406e819c55b20726855fd9ec8d86220387a1923d Mon Sep 17 00:00:00 2001 From: Martin Wendt Date: Sun, 19 Jun 2022 13:56:08 +0200 Subject: [PATCH] Use modern super() --- ftpsync/ftp_target.py | 6 +++--- ftpsync/resources.py | 6 ++---- ftpsync/sftp_target.py | 6 +++--- ftpsync/synchronizers.py | 16 ++++++++-------- ftpsync/targets.py | 6 +++--- tests/test_basic.py | 4 ++-- tests/test_cli.py | 4 ++-- tests/test_develop.py | 4 ++-- tests/test_scan.py | 4 ++-- tests/test_sync_bidir.py | 8 ++++---- tests/test_sync_download.py | 4 ++-- tests/test_sync_upload.py | 4 ++-- tests/test_tree.py | 4 ++-- 13 files changed, 37 insertions(+), 39 deletions(-) diff --git a/ftpsync/ftp_target.py b/ftpsync/ftp_target.py index 3a1a25b..21fd20c 100644 --- a/ftpsync/ftp_target.py +++ b/ftpsync/ftp_target.py @@ -74,7 +74,7 @@ def __init__( # path = self.to_unicode(path) path = path or "/" assert is_native(path) - super(FTPTarget, self).__init__(path, extra_opts) + super().__init__(path, extra_opts) if tls: try: self.ftp = ftplib.FTP_TLS() @@ -122,7 +122,7 @@ def get_base_name(self): def open(self): assert not self.ftp_socket_connected - super(FTPTarget, self).open() + super().open() options = self.get_options_dict() no_prompt = self.get_option("no_prompt", True) @@ -279,7 +279,7 @@ def close(self): write_error("ftp.quit() failed: {}".format(e)) self.ftp_socket_connected = False - super(FTPTarget, self).close() + super().close() def _lock(self, break_existing=False): """Write a special file to the target root folder.""" diff --git a/ftpsync/resources.py b/ftpsync/resources.py index c1a9f60..da89f1e 100644 --- a/ftpsync/resources.py +++ b/ftpsync/resources.py @@ -345,7 +345,7 @@ class FileEntry(_Resource): # EPS_TIME = 0.1 def __init__(self, target, rel_path, name, size, mtime, unique): - super(FileEntry, self).__init__(target, rel_path, name, size, mtime, unique) + super().__init__(target, rel_path, name, size, mtime, unique) @staticmethod def _eps_compare(date_1, date_2): @@ -397,9 +397,7 @@ def was_modified_since_last_sync(self): # =============================================================================== class DirectoryEntry(_Resource): def __init__(self, target, rel_path, name, size, mtime, unique): - super(DirectoryEntry, self).__init__( - target, rel_path, name, size, mtime, unique - ) + super().__init__(target, rel_path, name, size, mtime, unique) # Directories don't have a size (that we could reasonably use for classification) self.size = 0 diff --git a/ftpsync/sftp_target.py b/ftpsync/sftp_target.py index 6b3c6d4..5ce08c3 100644 --- a/ftpsync/sftp_target.py +++ b/ftpsync/sftp_target.py @@ -74,7 +74,7 @@ def __init__( # path = self.to_unicode(path) path = path or "/" assert is_native(path) - super(SFTPTarget, self).__init__(path, extra_opts) + super().__init__(path, extra_opts) self.sftp = None self.host = host @@ -110,7 +110,7 @@ def get_base_name(self): def open(self): assert not self.ftp_socket_connected - super(SFTPTarget, self).open() + super().open() options = self.get_options_dict() no_prompt = self.get_option("no_prompt", True) @@ -217,7 +217,7 @@ def close(self): write_error("sftp.close() failed: {}".format(e)) self.ftp_socket_connected = False - super(SFTPTarget, self).close() + super().close() def _lock(self, break_existing=False): """Write a special file to the target root folder.""" diff --git a/ftpsync/synchronizers.py b/ftpsync/synchronizers.py index b963ac9..13b7bc1 100644 --- a/ftpsync/synchronizers.py +++ b/ftpsync/synchronizers.py @@ -722,7 +722,7 @@ class BiDirSynchronizer(BaseSynchronizer): """ def __init__(self, local, remote, options): - super(BiDirSynchronizer, self).__init__(local, remote, options) + super().__init__(local, remote, options) def get_info_strings(self): return ("synchronize", "with") @@ -834,7 +834,7 @@ def _interactive_resolve(self, pair): def run(self): # Don't override setting by derived up/downloader - res = super(BiDirSynchronizer, self).run() + res = super().run() return res def on_mismatch(self, pair): @@ -1007,7 +1007,7 @@ def on_conflict(self, pair): class UploadSynchronizer(BiDirSynchronizer): def __init__(self, local, remote, options): - super(UploadSynchronizer, self).__init__(local, remote, options) + super().__init__(local, remote, options) # local.readonly = True def get_info_strings(self): @@ -1101,7 +1101,7 @@ def _interactive_resolve(self, pair): def run(self): self.local.readonly = True self.remote.readonly = False - res = super(UploadSynchronizer, self).run() + res = super().run() return res def on_mismatch(self, pair): @@ -1138,7 +1138,7 @@ def on_delete_remote(self, pair): if not self.options.get("delete"): self._log_action("skip", "remote del.", " >X", pair.remote) return - return super(UploadSynchronizer, self).on_delete_remote(pair) + return super().on_delete_remote(pair) # def on_need_compare(self, pair): # self._log_action("", "different", "?", pair.local, min_level=2) @@ -1157,7 +1157,7 @@ class DownloadSynchronizer(BiDirSynchronizer): """""" def __init__(self, local, remote, options): - super(DownloadSynchronizer, self).__init__(local, remote, options) + super().__init__(local, remote, options) # remote.readonly = True @@ -1252,7 +1252,7 @@ def _interactive_resolve(self, pair): def run(self): self.local.readonly = False self.remote.readonly = True - res = super(DownloadSynchronizer, self).run() + res = super().run() return res def on_mismatch(self, pair): @@ -1286,7 +1286,7 @@ def on_delete_local(self, pair): if not self.options.get("delete"): self._log_action("skip", "local del.", "X< ", pair.local) return - return super(DownloadSynchronizer, self).on_delete_local(pair) + return super().on_delete_local(pair) def on_delete_remote(self, pair): # Download does not modify remote target diff --git a/ftpsync/targets.py b/ftpsync/targets.py index 0510e40..84ee28a 100644 --- a/ftpsync/targets.py +++ b/ftpsync/targets.py @@ -419,7 +419,7 @@ def __init__(self, root_dir, extra_opts=None): # root_dir = self.to_unicode(root_dir) root_dir = os.path.expanduser(root_dir) root_dir = os.path.abspath(root_dir) - super(FsTarget, self).__init__(root_dir, extra_opts) + super().__init__(root_dir, extra_opts) if not os.path.isdir(root_dir): raise ValueError("{} is not a directory.".format(root_dir)) self.support_set_time = True @@ -430,11 +430,11 @@ def __str__(self): ) def open(self): - super(FsTarget, self).open() + super().open() self.cur_dir = self.root_dir def close(self): - super(FsTarget, self).close() + super().close() def cwd(self, dir_name): path = normpath_url(join_url(self.cur_dir, dir_name)) diff --git a/tests/test_basic.py b/tests/test_basic.py index 1306796..239d9e6 100644 --- a/tests/test_basic.py +++ b/tests/test_basic.py @@ -27,10 +27,10 @@ class FixtureTest(_SyncTestBase): def setUp(self): # Call self._prepare_initial_synced_fixture(): - super(FixtureTest, self).setUp() + super().setUp() def tearDown(self): - super(FixtureTest, self).tearDown() + super().tearDown() def test_prepare_initial_synced_fixture(self): # """Test that fixture set up code worked.""" diff --git a/tests/test_cli.py b/tests/test_cli.py index cfc7a70..fe4d182 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -23,12 +23,12 @@ class CliTest(_SyncTestBase): def setUp(self): # Call self._prepare_initial_synced_fixture(): - super(CliTest, self).setUp() + super().setUp() self.local = get_local_test_url() self.remote = get_remote_test_url() def tearDown(self): - super(CliTest, self).tearDown() + super().tearDown() def test_basic(self): out = run_script("--version") diff --git a/tests/test_develop.py b/tests/test_develop.py index 6ec981c..01ce34a 100644 --- a/tests/test_develop.py +++ b/tests/test_develop.py @@ -29,12 +29,12 @@ class TempDevelopTest(_SyncTestBase): def setUp(self): # Call self._prepare_initial_synced_fixture(): - super(TempDevelopTest, self).setUp() + super().setUp() self.local_url = get_local_test_url() self.remote_url = get_remote_test_url() def tearDown(self): - super(TempDevelopTest, self).tearDown() + super().tearDown() def test_issue_20(self): diff --git a/tests/test_scan.py b/tests/test_scan.py index 81637d3..07ae8c8 100644 --- a/tests/test_scan.py +++ b/tests/test_scan.py @@ -24,12 +24,12 @@ class ScanTest(_SyncTestBase): """Test --match and --exclude.""" def setUp(self): - super(ScanTest, self).setUp() + super().setUp() self.local = get_local_test_url() self.remote = get_remote_test_url() def tearDown(self): - super(ScanTest, self).tearDown() + super().tearDown() re_whitespace = re.compile(r"\s+") diff --git a/tests/test_sync_bidir.py b/tests/test_sync_bidir.py index 4b264c0..392861b 100644 --- a/tests/test_sync_bidir.py +++ b/tests/test_sync_bidir.py @@ -24,10 +24,10 @@ class BidirSyncTest(_SyncTestBase): """Test BiDirSynchronizer on file system targets with different resolve modes.""" def setUp(self): - super(BidirSyncTest, self).setUp() + super().setUp() def tearDown(self): - super(BidirSyncTest, self).tearDown() + super().tearDown() def test_default(self): opts = {"verbose": self.verbose} # default options, i.e. 'skip' conflicts @@ -332,10 +332,10 @@ class BidirSpecialTest(_SyncTestBase): def setUp(self): # Call self._prepare_initial_synced_fixture(): - super(BidirSpecialTest, self).setUp() + super().setUp() def tearDown(self): - super(BidirSpecialTest, self).tearDown() + super().tearDown() def test_folder_conflict(self): """Delete a folder on one side, but change content on other side.""" diff --git a/tests/test_sync_download.py b/tests/test_sync_download.py index 872e891..7e876ea 100644 --- a/tests/test_sync_download.py +++ b/tests/test_sync_download.py @@ -20,10 +20,10 @@ class DownloadResolveTest(_SyncTestBase): def setUp(self): # Call self._prepare_initial_synced_fixture(): - super(DownloadResolveTest, self).setUp() + super().setUp() def tearDown(self): - super(DownloadResolveTest, self).tearDown() + super().tearDown() def test_default(self): opts = {"verbose": self.verbose} # default options, i.e. 'skip' conflicts diff --git a/tests/test_sync_upload.py b/tests/test_sync_upload.py index cd4d43b..07f3906 100644 --- a/tests/test_sync_upload.py +++ b/tests/test_sync_upload.py @@ -20,10 +20,10 @@ class UploadResolveTest(_SyncTestBase): def setUp(self): # Call self._prepare_initial_synced_fixture(): - super(UploadResolveTest, self).setUp() + super().setUp() def tearDown(self): - super(UploadResolveTest, self).tearDown() + super().tearDown() def test_default(self): opts = {"verbose": self.verbose} # default options, i.e. 'skip' conflicts diff --git a/tests/test_tree.py b/tests/test_tree.py index 7f1b1a8..a87a811 100644 --- a/tests/test_tree.py +++ b/tests/test_tree.py @@ -25,12 +25,12 @@ class TreeTest(_SyncTestBase): """Test `tree`command.""" def setUp(self): - super(TreeTest, self).setUp() + super().setUp() self.local = get_local_test_url() self.remote = get_remote_test_url() def tearDown(self): - super(TreeTest, self).tearDown() + super().tearDown() re_whitespace = re.compile(r"\s+")