Total Complexity | 5 |
Total Lines | 39 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | import subprocess |
||
2 | |||
3 | |||
4 | def main(): |
||
5 | # generate requirements |
||
6 | process = subprocess.Popen( |
||
7 | ['pipreqs', './', '--force'], |
||
8 | stdin=subprocess.PIPE, |
||
9 | stdout=subprocess.PIPE, |
||
10 | stderr=subprocess.PIPE |
||
11 | ) |
||
12 | out, err = process.communicate() |
||
13 | if process.returncode != 0: |
||
14 | print(str(err, 'utf-8')) |
||
15 | return |
||
16 | |||
17 | # settings |
||
18 | requirements_file = 'requirements.txt' |
||
19 | |||
20 | # read |
||
21 | with open(requirements_file, 'r') as requirements: |
||
22 | content = requirements.read().splitlines() |
||
23 | |||
24 | # sort content |
||
25 | content = list(set(content)) |
||
26 | content.sort(key=lambda y: y.lower()) |
||
27 | content = '\n'.join(content) |
||
28 | |||
29 | # save |
||
30 | with open(requirements_file, 'w') as requirements: |
||
31 | requirements.write(f'{content}\n') |
||
32 | |||
33 | |||
34 | if __name__ == '__main__': |
||
35 | try: |
||
36 | main() |
||
37 | except KeyboardInterrupt: |
||
38 | print('\nGoodbye!') |
||
39 |