diff options
| author | Jeffrey Zhang <zhang.lei.fly@gmail.com> | 2016-01-19 10:53:32 +0800 |
|---|---|---|
| committer | Jeffrey Zhang <jeffrey.zhang@99cloud.net> | 2016-03-03 04:40:16 +0000 |
| commit | 4e154f0018e30e8c8982a05e25369cbc27134425 (patch) | |
| tree | ba421336cb33b6f789332320e10151d9776bf244 | |
| parent | 75ce1e447d37c9b232d8ebb1703dc03c2d0fd7c4 (diff) | |
| download | kolla-4e154f0018e30e8c8982a05e25369cbc27134425.tar.gz kolla-4e154f0018e30e8c8982a05e25369cbc27134425.zip | |
Introduce the hacking module to kolla
Implements: blueprint add-hacking
Change-Id: Ia24a263555b9c1eb11e61b9d3fe89612a89daed6
| -rw-r--r-- | kolla/hacking/__init__.py | 0 | ||||
| -rw-r--r-- | kolla/hacking/checks.py | 26 | ||||
| -rw-r--r-- | tox.ini | 3 |
3 files changed, 29 insertions, 0 deletions
diff --git a/kolla/hacking/__init__.py b/kolla/hacking/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/kolla/hacking/__init__.py diff --git a/kolla/hacking/checks.py b/kolla/hacking/checks.py new file mode 100644 index 000000000..5a86fe571 --- /dev/null +++ b/kolla/hacking/checks.py @@ -0,0 +1,26 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import re + + +mutable_default_args = re.compile(r"^\s*def .+\((.+=\{\}|.+=\[\])") + + +def no_mutable_default_args(logical_line): + msg = "N301: Method's default argument shouldn't be mutable!" + if mutable_default_args.match(logical_line): + yield (0, msg) + + +def factory(register): + register(no_mutable_default_args) @@ -130,3 +130,6 @@ commands= [flake8] show-source = True exclude=.eggs,.git,.tox,doc + +[hacking] +local-check-factory = kolla.hacking.checks.factory |
