Commit 7c46d1e1 authored by David Danier's avatar David Danier 🚀
Browse files

Merge branch 'dev/pylint' into 'master'

Introduce pylint

See merge request build/b5!6
parents 0eadab6a 467128b9
Loading
Loading
Loading
Loading
+1 −0
Changes for Pipfile: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ packaging = ">=16.0"

[dev-packages]
"e1839a8" = {path = ".", editable = true}
pylint = ">=2.3.1"

[requires]
python_version = "3.7"
+136 −49
Changes for Pipfile.lock: 136 added lines, 49 removed lines.
Original line number Diff line number Diff line
{
    "_meta": {
        "hash": {
            "sha256": "d0daccc241176ef64b34c280787cddd83e3073c7f019715c77f947adc1463d4a"
            "sha256": "a99ceb9a5254cf6e388f839064a8116aae8b7d7af794c5db538b4f2adbb7e94d"
        },
        "pipfile-spec": 6,
        "requires": {
@@ -18,11 +18,11 @@
    "default": {
        "jinja2": {
            "hashes": [
                "sha256:065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013",
                "sha256:14dd6caf1527abb21f08f86c784eac40853ba93edb79552aa1e4b8aef1b61c7b"
                "sha256:74320bb91f31270f9551d46522e33af46a80c3d619f4a4bf42b3164d30b5911f",
                "sha256:9fe95f19286cfefaa917656583d020be14e7859c6b0252588391e47db34527de"
            ],
            "index": "pypi",
            "version": "==2.10.1"
            "version": "==2.10.3"
        },
        "markupsafe": {
            "hashes": [
@@ -60,42 +60,42 @@
        },
        "packaging": {
            "hashes": [
                "sha256:0c98a5d0be38ed775798ece1b9727178c4469d9c3b4ada66e8e6b7849f8732af",
                "sha256:9e1cbf8c12b1f1ce0bb5344b8d7ecf66a6f8a6e91bcb0c84593ed6d3ab5c4ab3"
                "sha256:aec3fdbb8bc9e4bb65f0634b9f551ced63983a529d6a8931817d52fdd0816ddb",
                "sha256:fe1d8331dfa7cc0a883b49d75fc76380b2ab2734b220fbb87d774e4fd4b851f8"
            ],
            "index": "pypi",
            "version": "==19.0"
            "version": "==20.0"
        },
        "pyparsing": {
            "hashes": [
                "sha256:66c9268862641abcac4a96ba74506e594c884e3f57690a696d21ad8210ed667a",
                "sha256:f6c5ef0d7480ad048c054c37632c67fca55299990fff127850181659eea33fc3"
                "sha256:4c830582a84fb022400b85429791bc551f1f4871c33f23e44f353119e92f969f",
                "sha256:c342dccb5250c08d45fd6f8b4a559613ca603b57498511740e65cd11a2e7dcec"
            ],
            "version": "==2.3.1"
            "version": "==2.4.6"
        },
        "pyyaml": {
            "hashes": [
                "sha256:1adecc22f88d38052fb787d959f003811ca858b799590a5eaa70e63dca50308c",
                "sha256:436bc774ecf7c103814098159fbb84c2715d25980175292c648f2da143909f95",
                "sha256:460a5a4248763f6f37ea225d19d5c205677d8d525f6a83357ca622ed541830c2",
                "sha256:5a22a9c84653debfbf198d02fe592c176ea548cccce47553f35f466e15cf2fd4",
                "sha256:7a5d3f26b89d688db27822343dfa25c599627bc92093e788956372285c6298ad",
                "sha256:9372b04a02080752d9e6f990179a4ab840227c6e2ce15b95e1278456664cf2ba",
                "sha256:a5dcbebee834eaddf3fa7366316b880ff4062e4bcc9787b78c7fbb4a26ff2dd1",
                "sha256:aee5bab92a176e7cd034e57f46e9df9a9862a71f8f37cad167c6fc74c65f5b4e",
                "sha256:c51f642898c0bacd335fc119da60baae0824f2cde95b0330b56c0553439f0673",
                "sha256:c68ea4d3ba1705da1e0d85da6684ac657912679a649e8868bd850d2c299cce13",
                "sha256:e23d0cc5299223dcc37885dae624f382297717e459ea24053709675a976a3e19"
                "sha256:059b2ee3194d718896c0ad077dd8c043e5e909d9180f387ce42012662a4946d6",
                "sha256:1cf708e2ac57f3aabc87405f04b86354f66799c8e62c28c5fc5f88b5521b2dbf",
                "sha256:24521fa2890642614558b492b473bee0ac1f8057a7263156b02e8b14c88ce6f5",
                "sha256:4fee71aa5bc6ed9d5f116327c04273e25ae31a3020386916905767ec4fc5317e",
                "sha256:70024e02197337533eef7b85b068212420f950319cc8c580261963aefc75f811",
                "sha256:74782fbd4d4f87ff04159e986886931456a1894c61229be9eaf4de6f6e44b99e",
                "sha256:940532b111b1952befd7db542c370887a8611660d2b9becff75d39355303d82d",
                "sha256:cb1f2f5e426dc9f07a7681419fe39cee823bb74f723f36f70399123f439e9b20",
                "sha256:dbbb2379c19ed6042e8f11f2a2c66d39cceb8aeace421bfc29d085d93eda3689",
                "sha256:e3a057b7a64f1222b56e47bcff5e4b94c4f61faac04c7c4ecb1985e18caa3994",
                "sha256:e9f45bd5b92c7974e59bcd2dcc8631a6b6cc380a904725fce7bc08872e691615"
            ],
            "index": "pypi",
            "version": "==5.1"
            "version": "==5.3"
        },
        "six": {
            "hashes": [
                "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c",
                "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"
                "sha256:1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd",
                "sha256:30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"
            ],
            "version": "==1.12.0"
            "version": "==1.13.0"
        },
        "termcolor": {
            "hashes": [
@@ -106,17 +106,57 @@
        }
    },
    "develop": {
        "astroid": {
            "hashes": [
                "sha256:71ea07f44df9568a75d0f354c49143a4575d90645e9fead6dfb52c26a85ed13a",
                "sha256:840947ebfa8b58f318d42301cf8c0a20fd794a33b61cc4638e28e9e61ba32f42"
            ],
            "version": "==2.3.3"
        },
        "e1839a8": {
            "editable": true,
            "path": "."
        },
        "isort": {
            "hashes": [
                "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1",
                "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"
            ],
            "version": "==4.3.21"
        },
        "jinja2": {
            "hashes": [
                "sha256:065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013",
                "sha256:14dd6caf1527abb21f08f86c784eac40853ba93edb79552aa1e4b8aef1b61c7b"
                "sha256:74320bb91f31270f9551d46522e33af46a80c3d619f4a4bf42b3164d30b5911f",
                "sha256:9fe95f19286cfefaa917656583d020be14e7859c6b0252588391e47db34527de"
            ],
            "index": "pypi",
            "version": "==2.10.1"
            "version": "==2.10.3"
        },
        "lazy-object-proxy": {
            "hashes": [
                "sha256:0c4b206227a8097f05c4dbdd323c50edf81f15db3b8dc064d08c62d37e1a504d",
                "sha256:194d092e6f246b906e8f70884e620e459fc54db3259e60cf69a4d66c3fda3449",
                "sha256:1be7e4c9f96948003609aa6c974ae59830a6baecc5376c25c92d7d697e684c08",
                "sha256:4677f594e474c91da97f489fea5b7daa17b5517190899cf213697e48d3902f5a",
                "sha256:48dab84ebd4831077b150572aec802f303117c8cc5c871e182447281ebf3ac50",
                "sha256:5541cada25cd173702dbd99f8e22434105456314462326f06dba3e180f203dfd",
                "sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239",
                "sha256:8d859b89baf8ef7f8bc6b00aa20316483d67f0b1cbf422f5b4dc56701c8f2ffb",
                "sha256:9254f4358b9b541e3441b007a0ea0764b9d056afdeafc1a5569eee1cc6c1b9ea",
                "sha256:9651375199045a358eb6741df3e02a651e0330be090b3bc79f6d0de31a80ec3e",
                "sha256:97bb5884f6f1cdce0099f86b907aa41c970c3c672ac8b9c8352789e103cf3156",
                "sha256:9b15f3f4c0f35727d3a0fba4b770b3c4ebbb1fa907dbcc046a1d2799f3edd142",
                "sha256:a2238e9d1bb71a56cd710611a1614d1194dc10a175c1e08d75e1a7bcc250d442",
                "sha256:a6ae12d08c0bf9909ce12385803a543bfe99b95fe01e752536a60af2b7797c62",
                "sha256:ca0a928a3ddbc5725be2dd1cf895ec0a254798915fb3a36af0964a0a4149e3db",
                "sha256:cb2c7c57005a6804ab66f106ceb8482da55f5314b7fcb06551db1edae4ad1531",
                "sha256:d74bb8693bf9cf75ac3b47a54d716bbb1a92648d5f781fc799347cfc95952383",
                "sha256:d945239a5639b3ff35b70a88c5f2f491913eb94871780ebfabb2568bd58afc5a",
                "sha256:eba7011090323c1dadf18b3b689845fd96a61ba0a1dfbd7f24b921398affc357",
                "sha256:efa1909120ce98bbb3777e8b6f92237f5d5c8ea6758efea36a473e1d38f7d3e4",
                "sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0"
            ],
            "version": "==1.4.3"
        },
        "markupsafe": {
            "hashes": [
@@ -152,44 +192,59 @@
            "index": "pypi",
            "version": "==1.1.1"
        },
        "mccabe": {
            "hashes": [
                "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42",
                "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"
            ],
            "version": "==0.6.1"
        },
        "packaging": {
            "hashes": [
                "sha256:0c98a5d0be38ed775798ece1b9727178c4469d9c3b4ada66e8e6b7849f8732af",
                "sha256:9e1cbf8c12b1f1ce0bb5344b8d7ecf66a6f8a6e91bcb0c84593ed6d3ab5c4ab3"
                "sha256:aec3fdbb8bc9e4bb65f0634b9f551ced63983a529d6a8931817d52fdd0816ddb",
                "sha256:fe1d8331dfa7cc0a883b49d75fc76380b2ab2734b220fbb87d774e4fd4b851f8"
            ],
            "index": "pypi",
            "version": "==20.0"
        },
        "pylint": {
            "hashes": [
                "sha256:3db5468ad013380e987410a8d6956226963aed94ecb5f9d3a28acca6d9ac36cd",
                "sha256:886e6afc935ea2590b462664b161ca9a5e40168ea99e5300935f6591ad467df4"
            ],
            "index": "pypi",
            "version": "==19.0"
            "version": "==2.4.4"
        },
        "pyparsing": {
            "hashes": [
                "sha256:66c9268862641abcac4a96ba74506e594c884e3f57690a696d21ad8210ed667a",
                "sha256:f6c5ef0d7480ad048c054c37632c67fca55299990fff127850181659eea33fc3"
                "sha256:4c830582a84fb022400b85429791bc551f1f4871c33f23e44f353119e92f969f",
                "sha256:c342dccb5250c08d45fd6f8b4a559613ca603b57498511740e65cd11a2e7dcec"
            ],
            "version": "==2.3.1"
            "version": "==2.4.6"
        },
        "pyyaml": {
            "hashes": [
                "sha256:1adecc22f88d38052fb787d959f003811ca858b799590a5eaa70e63dca50308c",
                "sha256:436bc774ecf7c103814098159fbb84c2715d25980175292c648f2da143909f95",
                "sha256:460a5a4248763f6f37ea225d19d5c205677d8d525f6a83357ca622ed541830c2",
                "sha256:5a22a9c84653debfbf198d02fe592c176ea548cccce47553f35f466e15cf2fd4",
                "sha256:7a5d3f26b89d688db27822343dfa25c599627bc92093e788956372285c6298ad",
                "sha256:9372b04a02080752d9e6f990179a4ab840227c6e2ce15b95e1278456664cf2ba",
                "sha256:a5dcbebee834eaddf3fa7366316b880ff4062e4bcc9787b78c7fbb4a26ff2dd1",
                "sha256:aee5bab92a176e7cd034e57f46e9df9a9862a71f8f37cad167c6fc74c65f5b4e",
                "sha256:c51f642898c0bacd335fc119da60baae0824f2cde95b0330b56c0553439f0673",
                "sha256:c68ea4d3ba1705da1e0d85da6684ac657912679a649e8868bd850d2c299cce13",
                "sha256:e23d0cc5299223dcc37885dae624f382297717e459ea24053709675a976a3e19"
                "sha256:059b2ee3194d718896c0ad077dd8c043e5e909d9180f387ce42012662a4946d6",
                "sha256:1cf708e2ac57f3aabc87405f04b86354f66799c8e62c28c5fc5f88b5521b2dbf",
                "sha256:24521fa2890642614558b492b473bee0ac1f8057a7263156b02e8b14c88ce6f5",
                "sha256:4fee71aa5bc6ed9d5f116327c04273e25ae31a3020386916905767ec4fc5317e",
                "sha256:70024e02197337533eef7b85b068212420f950319cc8c580261963aefc75f811",
                "sha256:74782fbd4d4f87ff04159e986886931456a1894c61229be9eaf4de6f6e44b99e",
                "sha256:940532b111b1952befd7db542c370887a8611660d2b9becff75d39355303d82d",
                "sha256:cb1f2f5e426dc9f07a7681419fe39cee823bb74f723f36f70399123f439e9b20",
                "sha256:dbbb2379c19ed6042e8f11f2a2c66d39cceb8aeace421bfc29d085d93eda3689",
                "sha256:e3a057b7a64f1222b56e47bcff5e4b94c4f61faac04c7c4ecb1985e18caa3994",
                "sha256:e9f45bd5b92c7974e59bcd2dcc8631a6b6cc380a904725fce7bc08872e691615"
            ],
            "index": "pypi",
            "version": "==5.1"
            "version": "==5.3"
        },
        "six": {
            "hashes": [
                "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c",
                "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"
                "sha256:1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd",
                "sha256:30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"
            ],
            "version": "==1.12.0"
            "version": "==1.13.0"
        },
        "termcolor": {
            "hashes": [
@@ -197,6 +252,38 @@
            ],
            "index": "pypi",
            "version": "==1.1.0"
        },
        "typed-ast": {
            "hashes": [
                "sha256:1170afa46a3799e18b4c977777ce137bb53c7485379d9706af8a59f2ea1aa161",
                "sha256:18511a0b3e7922276346bcb47e2ef9f38fb90fd31cb9223eed42c85d1312344e",
                "sha256:262c247a82d005e43b5b7f69aff746370538e176131c32dda9cb0f324d27141e",
                "sha256:2b907eb046d049bcd9892e3076c7a6456c93a25bebfe554e931620c90e6a25b0",
                "sha256:354c16e5babd09f5cb0ee000d54cfa38401d8b8891eefa878ac772f827181a3c",
                "sha256:48e5b1e71f25cfdef98b013263a88d7145879fbb2d5185f2a0c79fa7ebbeae47",
                "sha256:4e0b70c6fc4d010f8107726af5fd37921b666f5b31d9331f0bd24ad9a088e631",
                "sha256:630968c5cdee51a11c05a30453f8cd65e0cc1d2ad0d9192819df9978984529f4",
                "sha256:66480f95b8167c9c5c5c87f32cf437d585937970f3fc24386f313a4c97b44e34",
                "sha256:71211d26ffd12d63a83e079ff258ac9d56a1376a25bc80b1cdcdf601b855b90b",
                "sha256:7954560051331d003b4e2b3eb822d9dd2e376fa4f6d98fee32f452f52dd6ebb2",
                "sha256:838997f4310012cf2e1ad3803bce2f3402e9ffb71ded61b5ee22617b3a7f6b6e",
                "sha256:95bd11af7eafc16e829af2d3df510cecfd4387f6453355188342c3e79a2ec87a",
                "sha256:bc6c7d3fa1325a0c6613512a093bc2a2a15aeec350451cbdf9e1d4bffe3e3233",
                "sha256:cc34a6f5b426748a507dd5d1de4c1978f2eb5626d51326e43280941206c209e1",
                "sha256:d755f03c1e4a51e9b24d899561fec4ccaf51f210d52abdf8c07ee2849b212a36",
                "sha256:d7c45933b1bdfaf9f36c579671fec15d25b06c8398f113dab64c18ed1adda01d",
                "sha256:d896919306dd0aa22d0132f62a1b78d11aaf4c9fc5b3410d3c666b818191630a",
                "sha256:fdc1c9bbf79510b76408840e009ed65958feba92a88833cdceecff93ae8fff66",
                "sha256:ffde2fbfad571af120fcbfbbc61c72469e72f550d676c3342492a9dfdefb8f12"
            ],
            "markers": "implementation_name == 'cpython' and python_version < '3.8'",
            "version": "==1.4.0"
        },
        "wrapt": {
            "hashes": [
                "sha256:565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1"
            ],
            "version": "==1.11.2"
        }
    }
}
+8 −7
Changes for b5/execute.py: 8 added lines, 7 removed lines.
Original line number Diff line number Diff line
import argparse
import os
import termcolor
import sys

from .lib.state import State
from .lib.module import load_module
import termcolor

from .exceptions import B5ExecutionError
from .lib.module import load_module
from .lib.state import State


def main():
@@ -37,9 +38,9 @@ def main():
            raise B5ExecutionError('b5-execute is not intended to be called directly!')

        state = State.load(open(args.state_file, 'rb'))
        if not 'modules' in state.config:
        if 'modules' not in state.config:
            raise B5ExecutionError('No modules defined')
        if not args.module in state.config['modules']:
        if args.module not in state.config['modules']:
            raise B5ExecutionError('Module not available')

        module = load_module(state, args.module)
@@ -49,6 +50,6 @@ def main():

        os.chdir(state.run_path)
        method(state, args.args)
    except B5ExecutionError as e:
        termcolor.cprint(str(e), 'red')
    except B5ExecutionError as error:
        termcolor.cprint(str(error), 'red')
        sys.exit(1)
+6 −6
Changes for b5/init.py: 6 added lines, 6 removed lines.
Original line number Diff line number Diff line
import argparse
import os
import re
import shutil
import termcolor
import subprocess
import sys
import re

from .exceptions import B5ExecutionError
import termcolor

from .exceptions import B5ExecutionError

NON_URL_SKELETON = re.compile('^[A-Za-z0-9_-]+$')

@@ -56,7 +56,7 @@ def main():
        full_path = os.path.realpath(os.path.join(os.getcwd(), path))
        os.makedirs(full_path, exist_ok=True)

        if len(os.listdir(full_path)) > 0:
        if os.listdir(full_path):
            raise B5ExecutionError('Cannot init an existing directory if not empty')

        _run_cmd(['git', 'clone', skeleton_url, full_path], 'Could not clone skeleton repository, see above')
@@ -80,6 +80,6 @@ def main():
        termcolor.cprint('Successful initialized {path}'.format(path=path), 'green')
        termcolor.cprint('  skeleton used: {skeleton_url}'.format(skeleton_url=skeleton_url), 'green')
        termcolor.cprint('  project path: {full_path}'.format(full_path=full_path), 'green')
    except B5ExecutionError as e:
        termcolor.cprint(str(e), 'red')
    except B5ExecutionError as error:
        termcolor.cprint(str(error), 'red')
        sys.exit(1)
+4 −4
Changes for b5/lib/config.py: 4 added lines, 4 removed lines.
Original line number Diff line number Diff line
import yaml
import os

import yaml

from .version import ensure_config_version
from ..exceptions import B5ExecutionError

@@ -40,7 +41,6 @@ def merge_config(cur_config, new_config):
    return result_config



def validate_config(config):
    if 'version' in config:
        ensure_config_version(config['version'])
@@ -51,8 +51,8 @@ def load_config(state):
    configfiles = state.configfiles
    config = {}
    for configfile in configfiles:
        fh = open(configfile['path'], 'r')
        file_config = yaml.safe_load(fh)
        file_handle = open(configfile['path'], 'r')
        file_config = yaml.safe_load(file_handle)
        if not isinstance(file_config, dict):
            file_config = {}
        config = merge_config(config, file_config)
Loading