summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDolph Mathews <dolph.mathews@gmail.com>2015-10-02 03:24:59 +0000
committerSteve Martinelli <stevemar@ca.ibm.com>2016-02-12 15:03:10 +0000
commit9c4100b85d277b558143b1af9dc9ffdc37802e37 (patch)
treefd144be207ec1186cbb9066ff90495f2e8e47b19
parentdc553133d854f31a54d3afd9fbe1b1370adbfaec (diff)
downloadpycadf-9c4100b85d277b558143b1af9dc9ffdc37802e37.tar.gz
Add docstring validation
This introduces a linter for PEP257 to avoid trivial nitpicking of docstrings in code reviews. Because flake8_docstrings simply provides a plugin to add pep257 to flake8, you can run it via `tox -e pep8`. PEP257 checks which we are currently violating are ignored in tox.ini. We can remove them from the ignored list as they are fixed. Related-Bug: 1501544 Change-Id: I01ebad7b70cf61dd80d3c06c6808d8178fbdd634
-rw-r--r--pycadf/identifier.py8
-rw-r--r--test-requirements.txt1
-rw-r--r--tox.ini16
3 files changed, 19 insertions, 6 deletions
diff --git a/pycadf/identifier.py b/pycadf/identifier.py
index c032bd2..5ee6e1c 100644
--- a/pycadf/identifier.py
+++ b/pycadf/identifier.py
@@ -35,8 +35,7 @@ if CONF.audit.namespace:
def generate_uuid():
- """Generate a CADF identifier
- """
+ """Generate a CADF identifier."""
if AUDIT_NS:
return str(uuid.uuid5(AUDIT_NS, str(uuid.uuid4())))
return str(uuid.uuid4())
@@ -44,14 +43,13 @@ def generate_uuid():
@removals.remove
def norm_ns(str_id):
- """Apply a namespace to the identifier """
+ """Apply a namespace to the identifier."""
prefix = CONF.audit.namespace + ':' if CONF.audit.namespace else ''
return prefix + str_id
def is_valid(value):
- """Validation to ensure Identifier is correct.
- """
+ """Validation to ensure Identifier is correct."""
if value in ['target', 'initiator', 'observer']:
return True
try:
diff --git a/test-requirements.txt b/test-requirements.txt
index 963a03c..ba4cab9 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -3,6 +3,7 @@
# process, which may cause wedges in the gate later.
# Hacking already pins down pep8, pyflakes and flake8
hacking<0.11,>=0.10.0
+flake8_docstrings==0.2.1.post1 # MIT
coverage>=3.6 # Apache-2.0
discover # BSD
diff --git a/tox.ini b/tox.ini
index cdc773e..2024e4a 100644
--- a/tox.ini
+++ b/tox.ini
@@ -25,7 +25,21 @@ commands = oslo_debug_helper {posargs}
show-source = True
# H405: Multi line docstrings should start with a one line summary followed by
# an empty line.
-ignore = H405
+# D100: Missing docstring in public module
+# D101: Missing docstring in public class
+# D102: Missing docstring in public method
+# D103: Missing docstring in public function
+# D104: Missing docstring in public package
+# D105: Missing docstring in magic method
+# D200: One-line docstring should fit on one line with quotes
+# D202: No blank lines allowed after function docstring
+# D203: 1 blank required before class docstring
+# D204: 1 blank line required after class docstring
+# D205: 1 blank line required between summary line and description
+# D208: Docstring is over-indented
+# D400: First line should end with a period
+# D401: First line should be in imperative mood
+ignore = H405,D100,D101,D102,D103,D104,D105,D200,D202,D203,D204,D205,D208,D400,D401
exclude = .tox,dist,doc,*.egg,build,./pycadf/openstack/common
[hacking]