Skip to content

Commit

Permalink
add a script to check wether our poetry lockfile is in order (dlt-hub…
Browse files Browse the repository at this point in the history
…#1103)

* add a script to check wether our poetry lockfile is in order

* small script changes

* convert script to python
move tools to tools folder

* add encoding information
  • Loading branch information
sh-rp authored Mar 20, 2024
1 parent 8b28226 commit 36cf442
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 1 deletion.
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ dev: has-poetry
poetry install --all-extras --with airflow --with docs --with providers --with pipeline --with sentry-sdk

lint:
./check-package.sh
./tools/check-package.sh
poetry run python ./tools/check-lockfile.py
poetry run mypy --config-file mypy.ini dlt tests
poetry run flake8 --max-line-length=200 dlt
poetry run flake8 --max-line-length=200 tests --exclude tests/reflection/module_cases
Expand Down
Empty file added tools/__init__.py
Empty file.
24 changes: 24 additions & 0 deletions tools/check-lockfile.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import sys

# File and string to search for
lockfile_name = "poetry.lock"
hash_string = "hash = "
threshold = 100

try:
count = 0
with open(lockfile_name, 'r', encoding="utf8") as file:
for line in file:
if hash_string in line:
count += 1
if count >= threshold:
print(f"Success: Found '{hash_string}' more than {threshold} times in {lockfile_name}.")
sys.exit(0)

# If the loop completes without early exit, it means the threshold was not reached
print(f"Error: The string '{hash_string}' appears less than {threshold} times in {lockfile_name}, please make sure you are using an up to date poetry version.")
sys.exit(1)

except FileNotFoundError:
print(f"Error: File {lockfile_name} does not exist.")
sys.exit(1)
File renamed without changes.
File renamed without changes.

0 comments on commit 36cf442

Please sign in to comment.