From: Shane Jaroch Date: Tue, 7 Jun 2022 17:18:58 +0000 (-0400) Subject: lint travis, tidy makefile; add __main__.py X-Git-Tag: 0.0.5~2^2 X-Git-Url: https://git.nutra.tk/v1?a=commitdiff_plain;h=refs%2Fpull%2F8%2Fhead;p=nutratech%2Fnt-sqlite.git lint travis, tidy makefile; add __main__.py drop eula column from profiles.csv --- diff --git a/.editorconfig b/.editorconfig index 39f8d0d..30b02fd 100644 --- a/.editorconfig +++ b/.editorconfig @@ -17,10 +17,12 @@ max_line_length = 88 [*.sql] indent_size = 2 +max_line_length = 80 [*.{yaml,yml}] indent_size = 2 +max_line_length = 80 [Makefile] @@ -37,6 +39,6 @@ trim_trailing_whitespace = false max_line_length = 79 -[{COMMIT_EDITMSG,MERGE_MSG,SQUASH_MSG}] +[{COMMIT_EDITMSG,MERGE_MSG,SQUASH_MSG,git-rebase-todo}] max_line_length = 72 diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..1c21d04 --- /dev/null +++ b/.envrc @@ -0,0 +1,2 @@ +source .venv/bin/activate +unset PS1 diff --git a/.travis.yml b/.travis.yml index c40aa88..9a28983 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,10 @@ +--- dist: xenial -os: ['linux'] +os: ["linux"] language: python python: -- '3.6' + - "3.6" script: -- make -- make test -- make clean -notifications: - slack: - secure: TCGuxW6k2tewO6JUm1BXy5NIEUh6QwjrkMLpdFCpZZwMz49UVO+i8fQKQWB9jTvGyq9Ya+NbW6jfxgJUYfFtmUmfXNCZ/LsKVu3hMPQ5/0yAIsGJayXxCPhIQYmEnA6BZnfnhoYt5R6U5NfLy8WyDwqS3b7uDUWfyxmllunWPNMY5IptrZmOXVSs5s7zqp1pqm9hjN28WiaEzOifsEygai2ZMsmxRUMhrzncRxyhOmw3APyMAvAsHgJw/nbdF1ux7lmvvbFQpOwzDkPdZXcbRdmfruvphaKfHT5TS48Aml81KdKDnk+VMoxD/U/wSW+nnOM0ZcWyYfFuh7/vndF2aMAP/PDq7iAESyFN3YIGXNhGTtHUPLRw7eWoO1CGJqvpkFl2oDj6GbzkO9zsoLg+qxoM7bX+P/ynAQ22M3e/VeSTuC1t8mrHnJZoDTMYrqQRQJDOT0QflZpMRlW5Du/SAkijGURaxGcpR5dt8KP19bd+Sm9k77509nQ576BNaHPn/rJOqdi3LYInMr0VTin/fghfTiPqy4hB3jzV7tl/0jTYAVsbAW73U2KFS95d7r9/BOQptYcCZgpGZu8iT2Q8iQVlUaWGDnGMzo1lWmsdwrEWpofBwC7jeYFDSwRfkdojQfVM4JBKpT5mbqHavRjMKCYWtDk7X6nQIWs32YaWbGQ= + - make build + - make test + - make clean diff --git a/LICENSE.txt b/LICENSE similarity index 100% rename from LICENSE.txt rename to LICENSE diff --git a/Makefile b/Makefile index b4c3296..5bb2110 100644 --- a/Makefile +++ b/Makefile @@ -1,20 +1,33 @@ -.DEFAULT_GOAL := build +SHELL=/bin/bash -clean: - find sql/ -name __pycache__ -o -name .pytest_cache | xargs rm -rf +.DEFAULT_GOAL := _help + +# NOTE: must put a character and two pound "\t##" to show up in this list. Keep it brief! IGNORE_ME +.PHONY: _help +_help: + @grep -h "##" $(MAKEFILE_LIST) | grep -v IGNORE_ME | sed -e 's/##//' | column -t -s $$'\t' + +.PHONY: clean +clean: ## Clean up build intermediates rm -f sql/nt.sqlite + rm -rf .mypy_cache/ .pytest_cache/ + find sql/ -name __pycache__ -o -name .pytest_cache | xargs rm -rf -build: - python sql/__init__.py +.PHONY: build +build: ## Build sqlite image + python -m sql -test: - sqlite3 sql/nt.sqlite \ +.PHONY: test +test: ## Cursory sanity check + sqlite3 -csv -header \ + sql/nt.sqlite \ 'SELECT * FROM bf_eqs;' \ 'SELECT * FROM biometrics;' \ 'SELECT * FROM bmr_eqs;' \ 'SELECT * FROM meal_name;' \ 'SELECT * FROM version;' \ -install: +.PHONY: install +install: ## Copy sqlite file into ~/.nutra mkdir -p ~/.nutra - mv sql/nt.sqlite ~/.nutra + cp sql/nt.sqlite ~/.nutra diff --git a/requirements-lint.txt b/requirements-lint.txt new file mode 100644 index 0000000..136d1b4 --- /dev/null +++ b/requirements-lint.txt @@ -0,0 +1,8 @@ +autopep8==1.6 +bandit==1.7.4 +black==22.3 +doc8==0.11.2 +flake8==4.0.1 +mypy==0.961 +pylint==2.14.3 +yamllint==1.26.3 diff --git a/sql/__init__.py b/sql/__init__.py index e44d253..29f89fe 100755 --- a/sql/__init__.py +++ b/sql/__init__.py @@ -20,6 +20,7 @@ def build_ntsqlite(verbose=False) -> bool: os.remove(NT_DB_NAME) if verbose: + # pylint: disable=consider-using-f-string print("\nPack %s" % NT_DB_NAME) con = sqlite3.connect(NT_DB_NAME) cur = con.cursor() @@ -36,12 +37,14 @@ def build_ntsqlite(verbose=False) -> bool: continue table_name = os.path.splitext(os.path.basename(file_path))[0] file_path_full = os.path.join("data", file_path) + # print(table_name) # Loop over CSV files with open(file_path_full, encoding="utf-8") as csv_file: dict_reader = csv.DictReader(csv_file) values = ",".join("?" * len(dict_reader.fieldnames)) reader = csv.reader(csv_file) + # pylint: disable=consider-using-f-string query = "INSERT INTO {0} VALUES ({1});".format( # nosec: B608 table_name, values ) diff --git a/sql/__main__.py b/sql/__main__.py new file mode 100644 index 0000000..1c9ad09 --- /dev/null +++ b/sql/__main__.py @@ -0,0 +1,6 @@ +"""Call this with python -m sql""" +# pylint: disable=import-error +from sql import build_ntsqlite + +if __name__ == "__main__": + build_ntsqlite(verbose=True) diff --git a/sql/data/profiles.csv b/sql/data/profiles.csv index 94a2f64..9a8cd3b 100644 --- a/sql/data/profiles.csv +++ b/sql/data/profiles.csv @@ -1,4 +1,4 @@ -id,name,eula,gender,dob,act_lvl,goal_wt,goal_bf,bmr_id,bf_id,created -1,Shane,,MALE,1993-01-01,2,78,0.12,1,1,1601067725 -2,Mark,,MALE,1957-01-01,2,72,0.14,1,1,1601068574 -3,Rocky,,DOG,2007-08-01,2,7.3,,1,1,1601068718 +id,name,gender,dob,act_lvl,goal_wt,goal_bf,bmr_id,bf_id,created +1,Shane,MALE,1993-01-01,2,78,0.12,1,1,1601067725 +2,Mark,MALE,1957-01-01,2,72,0.14,1,1,1601068574 +3,Rocky,DOG,2007-08-01,2,7.3,,1,1,1601068718