Sun, 09 Apr 2023 15:59:08 +0300
Extracted the state of the program into a MainState structure, and extracted local functions of main() into static functions.
I was planning to make the core logic and state of the program into a Main class, which would be a QObject that would
have lots of signals and slots, but it looks like this works even without it
317
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
1 | #!/usr/bin/env python3 |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
2 | import sys |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
3 | too_many = 6 |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
4 | for filename in sys.argv[1:]: |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
5 | with open(filename) as file: |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
6 | at_start_of_new_block = False |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
7 | old_n = 0 |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
8 | for linenumber, line in enumerate(file, 1): |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
9 | import re |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
10 | n = len(re.match('^(\t*).*$', line).group(1)) |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
11 | if at_start_of_new_block and n >= too_many and old_n < too_many: |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
12 | print(f'{filename}:{linenumber}: warning: block with {n} indent levels', file = sys.stderr) |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
13 | at_start_of_new_block = line.strip().endswith('{') |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
14 | old_n = n |