Merge ~barryprice/spade/+git/spade:flake8 into spade:master

Proposed by Barry Price
Status: Superseded
Proposed branch: ~barryprice/spade/+git/spade:flake8
Merge into: spade:master
Diff against target: 262 lines (+64/-33)
9 files modified
Makefile (+13/-14)
dev/null (+0/-3)
setup.py (+1/-1)
spade/AzureBucket.py (+2/-2)
spade/S3Bucket.py (+3/-3)
spade/Spade.py (+5/-5)
spade/SwiftBucket.py (+3/-3)
spade/spade.py (+3/-2)
tox.ini (+34/-0)
Reviewer Review Type Date Requested Status
Spade Developers Pending
Review via email: mp+394568@code.launchpad.net

Commit message

Address all Flake8 errors bar complexity (noqa: C901)

To post a comment you must log in.

Unmerged commits

aa2d273... by Barry Price

Address all Flake8 errors bar complexity (noqa: C901)

7e34f18... by Barry Price

Modernise, switch to python3 exclusively

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/Makefile b/Makefile
index c3b3ca6..d51fa68 100644
--- a/Makefile
+++ b/Makefile
@@ -1,23 +1,22 @@
1version := $(shell python -c "from spade import __version__; print(__version__)")1version := $(shell python3 -c "from spade import __version__; print(__version__)")
2tempfiles_whl := build dist spade.egg-info2tempfiles_snap := snap/snapcraft.yaml spade*.snap
3tempfiles_snap := snapcraft.yaml parts prime stage spade*.snap
4tempfiles_misc := spade/__pycache__
5tempfiles_export := spade-export spade-export27.tar.gz
63
7whl: whl_clean4blacken:
8 python3 setup.py bdist_wheel5 @echo "Normalising python layout with black (but not really)."
96
10whl_clean:7lint: blacken
11 rm -Rf $(tempfiles_whl)8 @echo "Running flake8"
9 @tox -e lint
10
11clean:
12 @echo "Cleaninf files"
13 @git clean -fXd
1214
13snap: snap_clean15snap: snap_clean
14 sed -e "s/{{VERSION}}/$(version)/" snapcraft.yaml.in > snapcraft.yaml16 sed -e "s/{{VERSION}}/$(version)/" snapcraft.yaml.in > snap/snapcraft.yaml
15 snapcraft17 snapcraft
1618
17snap_clean:19snap_clean:
18 rm -Rf $(tempfiles_snap)20 rm -Rf $(tempfiles_snap)
1921
20clean: whl_clean snap_clean22.PHONY: blacken lint clean snap snap_clean
21
22lint:
23 @find spade -name \*py | xargs flake8 --config=/dev/null --ignore=C901 --max-line-length=120 --max-complexity=10 --hang-closing
diff --git a/setup.py b/setup.py
index e52b204..7286fa2 100644
--- a/setup.py
+++ b/setup.py
@@ -6,7 +6,7 @@ import re
6here = path.abspath(path.dirname(__file__))6here = path.abspath(path.dirname(__file__))
77
8def find_version(*file_paths):8def find_version(*file_paths):
9 with open(path.join(here, *file_paths), 'r', 'latin1') as f:9 with open(path.join(here, *file_paths), 'r', 'utf-8') as f:
10 version_file = f.read()10 version_file = f.read()
11 version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]",11 version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]",
12 version_file, re.M)12 version_file, re.M)
diff --git a/snap/.snapcraft/state b/snap/.snapcraft/state
13deleted file mode 10064413deleted file mode 100644
index 3497788..0000000
--- a/snap/.snapcraft/state
+++ /dev/null
@@ -1,3 +0,0 @@
1!GlobalState
2assets:
3 build-packages: []
diff --git a/spade/AzureBucket.py b/spade/AzureBucket.py
index 92bf430..0f7a62d 100644
--- a/spade/AzureBucket.py
+++ b/spade/AzureBucket.py
@@ -239,7 +239,7 @@ class AzureBucket():
239 newStandardMetadata[k] = v239 newStandardMetadata[k] = v
240 if not overwrite:240 if not overwrite:
241 for k, v in m.userMetadata.items():241 for k, v in m.userMetadata.items():
242 newUserMetadata[USER_META_PREFIX + k] = v242 newUserMetadata[USER_META_PREFIX + k] = v
243243
244 # Add new ones244 # Add new ones
245 for k, v in metadata.items():245 for k, v in metadata.items():
@@ -318,7 +318,7 @@ class AzureBucket():
318 body=xml,318 body=xml,
319 method="PUT")319 method="PUT")
320 if not response.get("status") == "201":320 if not response.get("status") == "201":
321 raise BucketError("Azure Failed to upload blocklist")321 raise BucketError("Azure Failed to upload blocklist")
322 return322 return
323323
324 def putObject(self, bucketName, objectName, src, size, blockSize=DEFAULT_BLOCKSIZE):324 def putObject(self, bucketName, objectName, src, size, blockSize=DEFAULT_BLOCKSIZE):
diff --git a/spade/S3Bucket.py b/spade/S3Bucket.py
index 90e6a84..6d3036e 100644
--- a/spade/S3Bucket.py
+++ b/spade/S3Bucket.py
@@ -61,7 +61,7 @@ class S3Bucket():
61 {'name': 'us-west-1', 'endpoint': 's3-us-west-1.amazonaws.com'},61 {'name': 'us-west-1', 'endpoint': 's3-us-west-1.amazonaws.com'},
62 {'name': 'us-west-2', 'endpoint': 's3-us-west-2.amazonaws.com'},62 {'name': 'us-west-2', 'endpoint': 's3-us-west-2.amazonaws.com'},
63 {'name': 'us-east-1', 'endpoint': 's3.amazonaws.com'},63 {'name': 'us-east-1', 'endpoint': 's3.amazonaws.com'},
64 ]64 ]
6565
66 self.base_fields = set(['content-length', 'content-language', 'content-disposition',66 self.base_fields = set(['content-length', 'content-language', 'content-disposition',
67 'content-encoding', 'expires', 'content-md5', 'last-modified',67 'content-encoding', 'expires', 'content-md5', 'last-modified',
@@ -325,7 +325,7 @@ class S3Bucket():
325 else:325 else:
326 return aclData["s3_id"]326 return aclData["s3_id"]
327327
328 def getAcls(self, bucketName, objectName=None):328 def getAcls(self, bucketName, objectName=None): # noqa: C901
329 self.confirmRegion(bucketName)329 self.confirmRegion(bucketName)
330 try:330 try:
331 bucket = self.s3.get_bucket(bucketName)331 bucket = self.s3.get_bucket(bucketName)
@@ -366,7 +366,7 @@ class S3Bucket():
366366
367 return acls367 return acls
368368
369 def setAcls(self, bucketName, acls, objectName=None):369 def setAcls(self, bucketName, acls, objectName=None): # noqa: C901
370 self.confirmRegion(bucketName)370 self.confirmRegion(bucketName)
371 try:371 try:
372 bucket = self.s3.get_bucket(bucketName)372 bucket = self.s3.get_bucket(bucketName)
diff --git a/spade/Spade.py b/spade/Spade.py
index b33edb0..b8f4b12 100644
--- a/spade/Spade.py
+++ b/spade/Spade.py
@@ -69,7 +69,7 @@ class Bucket():
69 raise BucketError("Data is not in bzip2 format")69 raise BucketError("Data is not in bzip2 format")
70 else:70 else:
71 raise BucketError("Unknown IO error")71 raise BucketError("Unknown IO error")
72 except lzma.LZMAError as e:72 except lzma.LZMAError:
73 if "Input format not supported by decoder":73 if "Input format not supported by decoder":
74 raise BucketError("Data is not in xz/lzma format")74 raise BucketError("Data is not in xz/lzma format")
75 else:75 else:
@@ -150,7 +150,7 @@ class Bucket():
150 ret.output.append(retElement)150 ret.output.append(retElement)
151 return ret151 return ret
152152
153 def ls(self, rawArgs):153 def ls(self, rawArgs): # noqa: C901
154 ret = Result()154 ret = Result()
155 parser = argparse.ArgumentParser(description="Bucket ls")155 parser = argparse.ArgumentParser(description="Bucket ls")
156 parser.add_argument("-l", dest="long", action="store_true")156 parser.add_argument("-l", dest="long", action="store_true")
@@ -237,7 +237,7 @@ class Bucket():
237 ret.output = [data.decode("utf-8")]237 ret.output = [data.decode("utf-8")]
238 f.close()238 f.close()
239239
240 def grep(self, rawArgs):240 def grep(self, rawArgs): # noqa: C901
241 ret = Result()241 ret = Result()
242 parser = argparse.ArgumentParser(description="Bucket grep")242 parser = argparse.ArgumentParser(description="Bucket grep")
243 parser.add_argument("-e", dest="regex", action="store_true", help="Allow regexes in the search")243 parser.add_argument("-e", dest="regex", action="store_true", help="Allow regexes in the search")
@@ -374,7 +374,7 @@ class Bucket():
374 ret.output.append(e)374 ret.output.append(e)
375 return ret375 return ret
376376
377 def cp(self, rawArgs):377 def cp(self, rawArgs): # noqa: C901
378 ret = Result()378 ret = Result()
379 parser = argparse.ArgumentParser(description="Bucket cp")379 parser = argparse.ArgumentParser(description="Bucket cp")
380 parser.add_argument(dest="src")380 parser.add_argument(dest="src")
@@ -581,7 +581,7 @@ class Bucket():
581581
582 # FIXME: Need to pass add/remove to bucket acl functions instead of582 # FIXME: Need to pass add/remove to bucket acl functions instead of
583 # just the processed acls list583 # just the processed acls list
584 def acls(self, rawArgs):584 def acls(self, rawArgs): # noqa: C901
585 ret = Result()585 ret = Result()
586 parser = argparse.ArgumentParser(description="Bucket ACLs")586 parser = argparse.ArgumentParser(description="Bucket ACLs")
587 parser.add_argument("-a", "--add", dest="add", action="append", default=[])587 parser.add_argument("-a", "--add", dest="add", action="append", default=[])
diff --git a/spade/SwiftBucket.py b/spade/SwiftBucket.py
index f49f2b9..2125b85 100644
--- a/spade/SwiftBucket.py
+++ b/spade/SwiftBucket.py
@@ -108,7 +108,7 @@ class SwiftBucket():
108 co.rawMetadata[k] = v108 co.rawMetadata[k] = v
109 return co109 return co
110110
111 def setBucketMetadata(self, bucketName, metadata, overwrite=False):111 def setBucketMetadata(self, bucketName, metadata, overwrite=False): # noqa: C901
112 systemMetadata = ["content-type", "x-container-bytes-used",112 systemMetadata = ["content-type", "x-container-bytes-used",
113 "x-container-object-count:", "x-timestamp"]113 "x-container-object-count:", "x-timestamp"]
114 newMetadata = {}114 newMetadata = {}
@@ -237,7 +237,7 @@ class SwiftBucket():
237 headers = {237 headers = {
238 'x-object-manifest': manifest,238 'x-object-manifest': manifest,
239 'x-object-meta-mtime': mtime,239 'x-object-meta-mtime': mtime,
240 }240 }
241 try:241 try:
242 self.swift.put_object(bucketName,242 self.swift.put_object(bucketName,
243 objectName,243 objectName,
@@ -265,7 +265,7 @@ class SwiftBucket():
265 def open(self, bucketName, objectName, blockSize=DEFAULT_BLOCKSIZE):265 def open(self, bucketName, objectName, blockSize=DEFAULT_BLOCKSIZE):
266 return ObjectIO(self, bucketName, objectName, blockSize)266 return ObjectIO(self, bucketName, objectName, blockSize)
267267
268 def deleteObject(self, bucketName, objectName):268 def deleteObject(self, bucketName, objectName): # noqa: C901
269 try:269 try:
270 metadata = self.getObjectMetadata(bucketName, objectName)270 metadata = self.getObjectMetadata(bucketName, objectName)
271 except BucketError:271 except BucketError:
diff --git a/spade/spade.py b/spade/spade.py
index c0404a2..1b5811c 100755
--- a/spade/spade.py
+++ b/spade/spade.py
@@ -1,4 +1,4 @@
1#!/usr/bin/env python1#!/usr/bin/env python3
22
3from __future__ import print_function3from __future__ import print_function
44
@@ -8,7 +8,7 @@ import argparse
8from spade.Spade import Bucket8from spade.Spade import Bucket
99
1010
11def main():11def main(): # noqa: C901
12 parser = argparse.ArgumentParser(description="Bucket manipulation")12 parser = argparse.ArgumentParser(description="Bucket manipulation")
13 parser.add_argument("--configfile", dest="configfile", help="Config file")13 parser.add_argument("--configfile", dest="configfile", help="Config file")
14 parser.add_argument(dest="cmd")14 parser.add_argument(dest="cmd")
@@ -157,5 +157,6 @@ def main():
157 else:157 else:
158 print("Unknown command {}".format(args.cmd), file=sys.stderr)158 print("Unknown command {}".format(args.cmd), file=sys.stderr)
159159
160
160if __name__ == "__main__":161if __name__ == "__main__":
161 main()162 main()
diff --git a/tox.ini b/tox.ini
162new file mode 100644163new file mode 100644
index 0000000..b1b3e16
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,34 @@
1[tox]
2skipsdist=True
3envlist = unit, functional
4
5[testenv]
6basepython = python3
7
8[testenv:unit]
9commands =
10 pytest --ignore mod --ignore {toxinidir}/tests/functional \
11 {posargs:-v --cov=spade --cov-report=term-missing --cov-branch}
12deps = -r{toxinidir}/tests/unit/requirements.txt
13 -r{toxinidir}/requirements.txt
14setenv =
15 PYTHONPATH={toxinidir}/spade
16 TZ=UTC
17
18[testenv:black]
19commands = black --skip-string-normalization --line-length=120 spade/ tests/
20deps = black
21
22[testenv:lint]
23commands = flake8 spade/ tests/
24# Pin flake8 to 3.7.9 to match focal
25deps =
26 flake8==3.7.9
27
28[flake8]
29exclude =
30 .git,
31 __pycache__,
32 .tox,
33max-line-length = 120
34max-complexity = 10

Subscribers

People subscribed via source and target branches

to all changes: