2
0
Эх сурвалжийг харах

pep8 the whole darn helpers module

Antoine Beaupré 9 жил өмнө
parent
commit
aad6afb3e0
2 өөрчлөгдсөн 68 нэмэгдсэн , 57 устгасан
  1. 10 6
      borg/helpers.py
  2. 58 51
      borg/testsuite/helpers.py

+ 10 - 6
borg/helpers.py

@@ -1,5 +1,4 @@
-from .support import argparse  # see support/__init__.py docstring
-                               # DEPRECATED - remove after requiring py 3.4
+from .support import argparse  # see support/__init__.py docstring, DEPRECATED - remove after requiring py 3.4
 
 import binascii
 from collections import namedtuple
@@ -22,6 +21,7 @@ from datetime import datetime, timezone, timedelta
 from fnmatch import translate
 from operator import attrgetter
 
+
 def have_cython():
     """allow for a way to disable Cython includes
 
@@ -165,6 +165,7 @@ class Statistics:
     summary = """\
                        Original size      Compressed size    Deduplicated size
 {label:15} {stats.osize_fmt:>20s} {stats.csize_fmt:>20s} {stats.usize_fmt:>20s}"""
+
     def __str__(self):
         return self.summary.format(stats=self, label='This archive:')
 
@@ -261,7 +262,7 @@ def exclude_path(path, patterns):
 
 def normalized(func):
     """ Decorator for the Pattern match methods, returning a wrapper that
-    normalizes OSX paths to match the normalized pattern on OSX, and 
+    normalizes OSX paths to match the normalized pattern on OSX, and
     returning the original method on other platforms"""
     @wraps(func)
     def normalize_wrapper(self, path):
@@ -462,21 +463,24 @@ def format_file_size(v, precision=2):
     """
     return sizeof_fmt_decimal(v, suffix='B', sep=' ', precision=precision)
 
+
 def sizeof_fmt(num, suffix='B', units=None, power=None, sep='', precision=2):
     for unit in units[:-1]:
         if abs(round(num, precision)) < power:
-            if type(num) is int:
+            if isinstance(num, int):
                 return "{}{}{}{}".format(num, sep, unit, suffix)
             else:
                 return "{:3.{}f}{}{}{}".format(num, precision, sep, unit, suffix)
         num /= float(power)
     return "{:.{}f}{}{}{}".format(num, precision, sep, units[-1], suffix)
 
+
 def sizeof_fmt_iec(num, suffix='B', sep='', precision=2):
-   return sizeof_fmt(num, suffix=suffix, sep=sep, precision=precision, units=['','Ki','Mi','Gi','Ti','Pi','Ei','Zi', 'Yi'], power=1024)
+    return sizeof_fmt(num, suffix=suffix, sep=sep, precision=precision, units=['', 'Ki', 'Mi', 'Gi', 'Ti', 'Pi', 'Ei', 'Zi', 'Yi'], power=1024)
+
 
 def sizeof_fmt_decimal(num, suffix='B', sep='', precision=2):
-   return sizeof_fmt(num, suffix=suffix, sep=sep, precision=precision, units=['','k','M','G','T','P','E','Z', 'Y'], power=1000)
+    return sizeof_fmt(num, suffix=suffix, sep=sep, precision=precision, units=['', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'], power=1000)
 
 
 def format_archive(archive):

+ 58 - 51
borg/testsuite/helpers.py

@@ -30,44 +30,44 @@ class TestLocationWithoutEnv:
     def test_ssh(self, monkeypatch):
         monkeypatch.delenv('BORG_REPO', raising=False)
         assert repr(Location('ssh://user@host:1234/some/path::archive')) == \
-               "Location(proto='ssh', user='user', host='host', port=1234, path='/some/path', archive='archive')"
+            "Location(proto='ssh', user='user', host='host', port=1234, path='/some/path', archive='archive')"
         assert repr(Location('ssh://user@host:1234/some/path')) == \
-               "Location(proto='ssh', user='user', host='host', port=1234, path='/some/path', archive=None)"
+            "Location(proto='ssh', user='user', host='host', port=1234, path='/some/path', archive=None)"
 
     def test_file(self, monkeypatch):
         monkeypatch.delenv('BORG_REPO', raising=False)
         assert repr(Location('file:///some/path::archive')) == \
-               "Location(proto='file', user=None, host=None, port=None, path='/some/path', archive='archive')"
+            "Location(proto='file', user=None, host=None, port=None, path='/some/path', archive='archive')"
         assert repr(Location('file:///some/path')) == \
-               "Location(proto='file', user=None, host=None, port=None, path='/some/path', archive=None)"
+            "Location(proto='file', user=None, host=None, port=None, path='/some/path', archive=None)"
 
     def test_scp(self, monkeypatch):
         monkeypatch.delenv('BORG_REPO', raising=False)
         assert repr(Location('user@host:/some/path::archive')) == \
-               "Location(proto='ssh', user='user', host='host', port=None, path='/some/path', archive='archive')"
+            "Location(proto='ssh', user='user', host='host', port=None, path='/some/path', archive='archive')"
         assert repr(Location('user@host:/some/path')) == \
-               "Location(proto='ssh', user='user', host='host', port=None, path='/some/path', archive=None)"
+            "Location(proto='ssh', user='user', host='host', port=None, path='/some/path', archive=None)"
 
     def test_folder(self, monkeypatch):
         monkeypatch.delenv('BORG_REPO', raising=False)
         assert repr(Location('path::archive')) == \
-               "Location(proto='file', user=None, host=None, port=None, path='path', archive='archive')"
+            "Location(proto='file', user=None, host=None, port=None, path='path', archive='archive')"
         assert repr(Location('path')) == \
-               "Location(proto='file', user=None, host=None, port=None, path='path', archive=None)"
+            "Location(proto='file', user=None, host=None, port=None, path='path', archive=None)"
 
     def test_abspath(self, monkeypatch):
         monkeypatch.delenv('BORG_REPO', raising=False)
         assert repr(Location('/some/absolute/path::archive')) == \
-               "Location(proto='file', user=None, host=None, port=None, path='/some/absolute/path', archive='archive')"
+            "Location(proto='file', user=None, host=None, port=None, path='/some/absolute/path', archive='archive')"
         assert repr(Location('/some/absolute/path')) == \
-               "Location(proto='file', user=None, host=None, port=None, path='/some/absolute/path', archive=None)"
+            "Location(proto='file', user=None, host=None, port=None, path='/some/absolute/path', archive=None)"
 
     def test_relpath(self, monkeypatch):
         monkeypatch.delenv('BORG_REPO', raising=False)
         assert repr(Location('some/relative/path::archive')) == \
-               "Location(proto='file', user=None, host=None, port=None, path='some/relative/path', archive='archive')"
+            "Location(proto='file', user=None, host=None, port=None, path='some/relative/path', archive='archive')"
         assert repr(Location('some/relative/path')) == \
-               "Location(proto='file', user=None, host=None, port=None, path='some/relative/path', archive=None)"
+            "Location(proto='file', user=None, host=None, port=None, path='some/relative/path', archive=None)"
 
     def test_underspecified(self, monkeypatch):
         monkeypatch.delenv('BORG_REPO', raising=False)
@@ -95,51 +95,51 @@ class TestLocationWithoutEnv:
                      'ssh://user@host:1234/some/path::archive']
         for location in locations:
             assert Location(location).canonical_path() == \
-                   Location(Location(location).canonical_path()).canonical_path()
+                Location(Location(location).canonical_path()).canonical_path()
 
 
 class TestLocationWithEnv:
     def test_ssh(self, monkeypatch):
         monkeypatch.setenv('BORG_REPO', 'ssh://user@host:1234/some/path')
         assert repr(Location('::archive')) == \
-               "Location(proto='ssh', user='user', host='host', port=1234, path='/some/path', archive='archive')"
+            "Location(proto='ssh', user='user', host='host', port=1234, path='/some/path', archive='archive')"
         assert repr(Location()) == \
-               "Location(proto='ssh', user='user', host='host', port=1234, path='/some/path', archive=None)"
+            "Location(proto='ssh', user='user', host='host', port=1234, path='/some/path', archive=None)"
 
     def test_file(self, monkeypatch):
         monkeypatch.setenv('BORG_REPO', 'file:///some/path')
         assert repr(Location('::archive')) == \
-               "Location(proto='file', user=None, host=None, port=None, path='/some/path', archive='archive')"
+            "Location(proto='file', user=None, host=None, port=None, path='/some/path', archive='archive')"
         assert repr(Location()) == \
-               "Location(proto='file', user=None, host=None, port=None, path='/some/path', archive=None)"
+            "Location(proto='file', user=None, host=None, port=None, path='/some/path', archive=None)"
 
     def test_scp(self, monkeypatch):
         monkeypatch.setenv('BORG_REPO', 'user@host:/some/path')
         assert repr(Location('::archive')) == \
-               "Location(proto='ssh', user='user', host='host', port=None, path='/some/path', archive='archive')"
+            "Location(proto='ssh', user='user', host='host', port=None, path='/some/path', archive='archive')"
         assert repr(Location()) == \
-               "Location(proto='ssh', user='user', host='host', port=None, path='/some/path', archive=None)"
+            "Location(proto='ssh', user='user', host='host', port=None, path='/some/path', archive=None)"
 
     def test_folder(self, monkeypatch):
         monkeypatch.setenv('BORG_REPO', 'path')
         assert repr(Location('::archive')) == \
-               "Location(proto='file', user=None, host=None, port=None, path='path', archive='archive')"
+            "Location(proto='file', user=None, host=None, port=None, path='path', archive='archive')"
         assert repr(Location()) == \
-               "Location(proto='file', user=None, host=None, port=None, path='path', archive=None)"
+            "Location(proto='file', user=None, host=None, port=None, path='path', archive=None)"
 
     def test_abspath(self, monkeypatch):
         monkeypatch.setenv('BORG_REPO', '/some/absolute/path')
         assert repr(Location('::archive')) == \
-               "Location(proto='file', user=None, host=None, port=None, path='/some/absolute/path', archive='archive')"
+            "Location(proto='file', user=None, host=None, port=None, path='/some/absolute/path', archive='archive')"
         assert repr(Location()) == \
-               "Location(proto='file', user=None, host=None, port=None, path='/some/absolute/path', archive=None)"
+            "Location(proto='file', user=None, host=None, port=None, path='/some/absolute/path', archive=None)"
 
     def test_relpath(self, monkeypatch):
         monkeypatch.setenv('BORG_REPO', 'some/relative/path')
         assert repr(Location('::archive')) == \
-               "Location(proto='file', user=None, host=None, port=None, path='some/relative/path', archive='archive')"
+            "Location(proto='file', user=None, host=None, port=None, path='some/relative/path', archive='archive')"
         assert repr(Location()) == \
-               "Location(proto='file', user=None, host=None, port=None, path='some/relative/path', archive=None)"
+            "Location(proto='file', user=None, host=None, port=None, path='some/relative/path', archive=None)"
 
     def test_no_slashes(self, monkeypatch):
         monkeypatch.setenv('BORG_REPO', '/some/absolute/path')
@@ -212,7 +212,7 @@ class PatternNonAsciiTestCase(BaseTestCase):
         assert i.match("ba\N{COMBINING ACUTE ACCENT}/foo")
         assert not e.match("b\N{LATIN SMALL LETTER A WITH ACUTE}/foo")
         assert e.match("ba\N{COMBINING ACUTE ACCENT}/foo")
-    
+
     def testInvalidUnicode(self):
         pattern = str(b'ba\x80', 'latin1')
         i = IncludePattern(pattern)
@@ -235,7 +235,7 @@ class OSXPatternNormalizationTestCase(BaseTestCase):
         assert i.match("ba\N{COMBINING ACUTE ACCENT}/foo")
         assert e.match("b\N{LATIN SMALL LETTER A WITH ACUTE}/foo")
         assert e.match("ba\N{COMBINING ACUTE ACCENT}/foo")
-    
+
     def testDecomposedUnicode(self):
         pattern = 'ba\N{COMBINING ACUTE ACCENT}'
         i = IncludePattern(pattern)
@@ -245,7 +245,7 @@ class OSXPatternNormalizationTestCase(BaseTestCase):
         assert i.match("ba\N{COMBINING ACUTE ACCENT}/foo")
         assert e.match("b\N{LATIN SMALL LETTER A WITH ACUTE}/foo")
         assert e.match("ba\N{COMBINING ACUTE ACCENT}/foo")
-    
+
     def testInvalidUnicode(self):
         pattern = str(b'ba\x80', 'latin1')
         i = IncludePattern(pattern)
@@ -401,12 +401,14 @@ def test_get_cache_dir():
     if old_env is not None:
         os.environ['BORG_CACHE_DIR'] = old_env
 
+
 @pytest.fixture()
 def stats():
     stats = Statistics()
     stats.update(20, 10, unique=True)
     return stats
 
+
 def test_stats_basic(stats):
     assert stats.osize == 20
     assert stats.csize == stats.usize == 10
@@ -415,6 +417,7 @@ def test_stats_basic(stats):
     assert stats.csize == 20
     assert stats.usize == 10
 
+
 def tests_stats_progress(stats, columns=80):
     os.environ['COLUMNS'] = str(columns)
     out = StringIO()
@@ -435,6 +438,7 @@ def tests_stats_progress(stats, columns=80):
     buf = ' ' * (columns - len(s))
     assert out.getvalue() == s + buf + "\r"
 
+
 def test_stats_format(stats):
     assert str(stats) == """\
                        Original size      Compressed size    Deduplicated size
@@ -444,32 +448,35 @@ This archive:                   20 B                 10 B                 10 B""
     # kind of redundant, but id is variable so we can't match reliably
     assert repr(stats) == '<Statistics object at {:#x} (20, 10, 10)>'.format(id(stats))
 
+
 def test_file_size():
     """test the size formatting routines"""
-    si_size_map = { 0: '0 B',  # no rounding necessary for those
-                    1: '1 B',
-                    142: '142 B',
-                    999: '999 B',
-                    1000: '1.00 kB', # rounding starts here
-                    1001: '1.00 kB', # should be rounded away
-                    1234: '1.23 kB', # should be rounded down
-                    1235: '1.24 kB', # should be rounded up
-                    1010: '1.01 kB', # rounded down as well
-                    999990000: '999.99 MB', # rounded down
-                    999990001: '999.99 MB', # rounded down
-                    999995000: '1.00 GB', # rounded up to next unit
-                    10**6: '1.00 MB', # and all the remaining units, megabytes
-                    10**9: '1.00 GB', # gigabytes
-                    10**12: '1.00 TB', # terabytes
-                    10**15: '1.00 PB', # petabytes
-                    10**18: '1.00 EB', # exabytes
-                    10**21: '1.00 ZB', # zottabytes
-                    10**24: '1.00 YB', # yottabytes
-                }
+    si_size_map = {
+        0: '0 B',  # no rounding necessary for those
+        1: '1 B',
+        142: '142 B',
+        999: '999 B',
+        1000: '1.00 kB',  # rounding starts here
+        1001: '1.00 kB',  # should be rounded away
+        1234: '1.23 kB',  # should be rounded down
+        1235: '1.24 kB',  # should be rounded up
+        1010: '1.01 kB',  # rounded down as well
+        999990000: '999.99 MB',  # rounded down
+        999990001: '999.99 MB',  # rounded down
+        999995000: '1.00 GB',  # rounded up to next unit
+        10**6: '1.00 MB',  # and all the remaining units, megabytes
+        10**9: '1.00 GB',  # gigabytes
+        10**12: '1.00 TB',  # terabytes
+        10**15: '1.00 PB',  # petabytes
+        10**18: '1.00 EB',  # exabytes
+        10**21: '1.00 ZB',  # zottabytes
+        10**24: '1.00 YB',  # yottabytes
+    }
     for size, fmt in si_size_map.items():
         assert format_file_size(size) == fmt
 
+
 def test_file_size_precision():
-    assert format_file_size(1234, precision=1) == '1.2 kB' # rounded down
-    assert format_file_size(1254, precision=1) == '1.3 kB' # rounded up
-    assert format_file_size(999990000, precision=1) == '1.0 GB' # and not 999.9 MB or 1000.0 MB
+    assert format_file_size(1234, precision=1) == '1.2 kB'  # rounded down
+    assert format_file_size(1254, precision=1) == '1.3 kB'  # rounded up
+    assert format_file_size(999990000, precision=1) == '1.0 GB'  # and not 999.9 MB or 1000.0 MB