Check Python files for repeat use of strings
Project description
Check Python files for repeat use of strings
Escape commas with \\ (\ when enclosed in single quotes)
Defaults can be configured in your pyproject.toml file
Installation
$ pip install constcheck
Usage
Commandline
usage: constcheck [-h] [-c INT] [-l INT] [-s STR] [-i LIST] [-I LIST]
[--ignore-from [FILE=LIST [FILE=LIST ...]]] [-f] [-n] [-v]
[path [path ...]]
positional arguments:
path path(s) to check files for (default: .)
optional arguments:
-h, --help show this help message and exit
-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
--ignore-from [FILE=LIST [FILE=LIST ...]] comma separated list of strings to exclude from file
-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>
1
With the count argument
>>> constcheck.main(string=EXAMPLE, count=4)
4 | Hello
5 | Hello, world
<BLANKLINE>
1
With the len argument
>>> constcheck.main(string=EXAMPLE, len=6)
5 | Hello, world
<BLANKLINE>
1
With the ignore_strings argument which accepts list of str objects
>>> constcheck.main(string=EXAMPLE, ignore_strings=["Hello, world", "Hello"])
3 | Hey
<BLANKLINE>
1
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
[tool.constcheck.ignore_from]
"tests/__init__.py" = ["Hello, world"]
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
constcheck-0.4.2.tar.gz
(11.2 kB
view details)
Built Distribution
File details
Details for the file constcheck-0.4.2.tar.gz
.
File metadata
- Download URL: constcheck-0.4.2.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.1 CPython/3.8.13 Darwin/21.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d3bf292e0c8cbeaee222d3ddfa3d225fbd71b4337467c5b42dff7c319018fc1 |
|
MD5 | d073f1496ad0d7f5ec94761dffb96882 |
|
BLAKE2b-256 | f8af940869a1a5c2cccf8c3ee33f177677c15cd3cb7aba46c6eadccd932a2ebd |
File details
Details for the file constcheck-0.4.2-py3-none-any.whl
.
File metadata
- Download URL: constcheck-0.4.2-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.1 CPython/3.8.13 Darwin/21.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30d1237b3b114f22a28e02eef8681209e55b768f78fa6bb3912d40be8a10aec0 |
|
MD5 | 3d02fab819eee9d3163b9a4a6c66362d |
|
BLAKE2b-256 | 4be1b1cb76c49dc7d6e024fdf97e3e61a99f490761017e8366ed637dee821796 |