Passed
Push — main ( 5223cc...357e6b )
by Yohann
01:32
created

setup_generator   A

Complexity

Total Complexity 13

Size/Duplication

Total Lines 57
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 13
eloc 36
dl 0
loc 57
rs 10
c 0
b 0
f 0

5 Functions

Rating   Name   Duplication   Size   Complexity  
A get_packages() 0 4 1
A get_testing_requires() 0 3 2
A get_requires() 0 3 2
A get_version() 0 7 4
A main() 0 21 4
1
from os import walk
2
3
4
def get_packages():
5
    return '\n\t'.join(
6
        item[0].replace("./", "").replace("\\", ".").replace("/", ".")
7
        for item in list(walk('pincer')) if "__pycache__" not in item[0]
8
    )
9
10
11
def get_requires():
12
    with open("requirements.txt") as f:
13
        return '\n\t'.join(f.read().strip().splitlines())
14
15
16
def get_testing_requires():
17
    with open("requirements_dev.txt") as f:
18
        return '\n\t'.join(f.read().strip().splitlines())
19
20
21
def get_version():
22
    with open("pincer/__init__.py") as f:
23
        init_file = f.read().strip().splitlines()
24
25
    for line in init_file:
26
        if line.startswith('__version__'):
27
            return line[15:-1].replace('-dev', '')
28
29
30
def main():
31
    version = get_version()
32
33
    with open("VERSION", "w") as f:
34
        f.write(version)
35
36
    packages = get_packages()
37
38
    with open("gen/setup_base.cfg") as f:
39
        base = f.read()
40
41
    requires = get_requires()
42
    testing_requires = get_testing_requires()
43
44
    with open("setup.cfg", "w") as f:
45
        f.write(
46
            base.format(
47
                version=version,
48
                packages=packages,
49
                requires=requires,
50
                testing_requires=testing_requires
51
            )
52
        )
53
54
55
if __name__ == '__main__':
56
    main()
57