Check Python files for repeat use of strings
Project description
Check Python files for repeat use of strings
Defaults can be configured in your pyproject.toml file
Installation
$ pip install constcheck
Usage
Commandline
usage: constcheck [-h] [-p PATH] [-c INT] [-l INT] [-s STR] [-i LIST] [-I LIST] [-f] [-n] [-v]
- optional arguments:
- -h, --help
show this help message and exit
- -p PATH, --path PATH
path to check files for (default: .)
- -c INT, --count INT
minimum number of repeat strings (default: 3)
- -l INT, --len INT
minimum length of repeat strings (default: 3)
- -s STR, --string STR
parse a string instead of a file
- -i LIST, --ignore-strings LIST
comma separated list of strings to exclude
- -I LIST, --ignore-files LIST
comma separated list of files to exclude
- -f, --filter
filter out empty results
- -n, --no-color
disable color output
- -v, --version
show version and exit
API
>>> import constcheck
>>> EXAMPLE = """
... STRING_1 = "Hey"
... STRING_2 = "Hey"
... STRING_3 = "Hey"
... STRING_4 = "Hello"
... STRING_5 = "Hello"
... STRING_6 = "Hello"
... STRING_7 = "Hello"
... STRING_8 = "Hello, world"
... STRING_9 = "Hello, world"
... STRING_10 = "Hello, world"
... STRING_11 = "Hello, world"
... STRING_12 = "Hello, world"
... """
>>> constcheck.main(string=EXAMPLE)
3 | Hey
4 | Hello
5 | Hello, world
<BLANKLINE>
With the count argument
>>> constcheck.main(string=EXAMPLE, count=4)
4 | Hello
5 | Hello, world
<BLANKLINE>
With the len argument
>>> constcheck.main(string=EXAMPLE, len=6)
5 | Hello, world
<BLANKLINE>
With the ignore_strings argument which accepts a str iterable
>>> constcheck.main(string=EXAMPLE, ignore_strings=["Hello, world", "Hello"])
3 | Hey
<BLANKLINE>
>>> constcheck.main(string=EXAMPLE, ignore_strings="Hello, world")
3 | Hey
<BLANKLINE>
Config
All keyword arguments available to constcheck.main() can be configured in the pyproject.toml file
[tool.constcheck]
path = "."
count = 3
len = 3
ignore_strings = ["Hello", "Hello, world"]
ignore_files = ["tests/__init__.py"]
filter = false
no_color = false
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for constcheck-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6dc16b766c4368c67b161ed7598342ceb5b5837ae1ac18e08d44d2cc9ad70a0 |
|
MD5 | b3bae177579ee3c5db6d06d7ec4e6b86 |
|
BLAKE2b-256 | 16965b5ba54d8354acb604667581cb9d44686b7481765b92a665a6f6d85413d0 |