Skip to content

Commit 920f844

Browse files
committed
stricter command line checks, including no file dups
1 parent c8addeb commit 920f844

File tree

14 files changed

+2802
-3000
lines changed

14 files changed

+2802
-3000
lines changed

coverage.txt

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
============================= test session starts ==============================
2-
platform darwin -- Python 3.9.12, pytest-7.1.1, pluggy-1.0.0
2+
platform darwin -- Python 3.9.7, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
33
rootdir: /Users/johnmount/Documents/work/wvpy/pkg
44
plugins: anyio-3.5.0, cov-3.0.0
55
collected 19 items
@@ -19,26 +19,16 @@ tests/test_stats1.py . [ 89%]
1919
tests/test_threshold_stats.py . [ 94%]
2020
tests/test_typs_in_frame.py . [100%]
2121

22-
=============================== warnings summary ===============================
23-
../../../../opt/anaconda3/envs/research_env/lib/python3.9/site-packages/seaborn/rcmod.py:82
24-
/Users/johnmount/opt/anaconda3/envs/research_env/lib/python3.9/site-packages/seaborn/rcmod.py:82: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
25-
if LooseVersion(mpl.__version__) >= "3.0":
26-
27-
../../../../opt/anaconda3/envs/research_env/lib/python3.9/site-packages/setuptools/_distutils/version.py:351
28-
/Users/johnmount/opt/anaconda3/envs/research_env/lib/python3.9/site-packages/setuptools/_distutils/version.py:351: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
29-
other = LooseVersion(other)
30-
31-
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
32-
33-
---------- coverage: platform darwin, python 3.9.12-final-0 ----------
22+
---------- coverage: platform darwin, python 3.9.7-final-0 -----------
3423
Name Stmts Miss Cover
3524
---------------------------------------------
3625
wvpy/__init__.py 3 0 100%
3726
wvpy/jtools.py 136 34 75%
38-
wvpy/pysheet.py 58 58 0%
39-
wvpy/render_workbook.py 29 29 0%
27+
wvpy/pysheet.py 62 62 0%
28+
wvpy/render_workbook.py 35 35 0%
4029
wvpy/util.py 321 7 98%
4130
---------------------------------------------
42-
TOTAL 547 128 77%
31+
TOTAL 557 138 75%
32+
4333

44-
======================= 19 passed, 2 warnings in 14.35s ========================
34+
============================= 19 passed in 23.71s ==============================

pkg/build/lib/wvpy/pysheet.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,22 @@ def main() -> int:
1414
parser = argparse.ArgumentParser(description="Convert between .py and .ipynb")
1515
parser.add_argument('--quiet', action='store_true', help='delete input file')
1616
parser.add_argument('--delete', action='store_true', help='delete input file')
17-
parser.add_argument('infile', metavar='infile', type=str, nargs='+',
17+
parser.add_argument(
18+
'infile',
19+
metavar='infile',
20+
type=str,
21+
nargs='+',
1822
help='name of input file(s)')
1923
args = parser.parse_args()
20-
assert len(args.infile) > 0
2124
# some pre-checks
25+
assert len(args.infile) > 0
26+
assert len(set(args.infile)) == len(args.infile)
27+
assert isinstance(args.quiet, bool)
28+
assert isinstance(args.delete, bool)
2229
input_suffices_seen = set()
2330
for input_file_name in args.infile:
2431
assert isinstance(input_file_name, str)
32+
assert len(input_file_name) > 0
2533
assert os.path.exists(input_file_name)
2634
if input_file_name.endswith('.py'):
2735
input_suffices_seen.add('.py')

pkg/build/lib/wvpy/render_workbook.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,27 @@
1212

1313
def main() -> int:
1414
parser = argparse.ArgumentParser(description="Render .py or .ipynb to .html by executing in Jupyter")
15-
parser.add_argument('infile', metavar='infile', type=str, nargs='+',
15+
parser.add_argument(
16+
'infile',
17+
metavar='infile',
18+
type=str,
19+
nargs='+',
1620
help='name of input file(s)')
1721
parser.add_argument('--strip_input', action='store_true')
1822
parser.add_argument('--quiet', action='store_true')
1923
args = parser.parse_args()
24+
# checks
25+
assert isinstance(args.quiet, bool)
26+
assert isinstance(args.strip_input, bool)
2027
assert len(args.infile) > 0
28+
assert len(set(args.infile)) == len(args.infile)
2129
for input_file_name in args.infile:
2230
assert isinstance(input_file_name, str)
31+
assert len(input_file_name) > 0
32+
assert input_file_name.endswith('.py') or input_file_name.endswith('.ipynb')
2333
assert os.path.exists(input_file_name)
34+
# do the work
35+
for input_file_name in args.infile:
2436
render_as_html(input_file_name, exclude_input=args.strip_input, verbose=args.quiet == False)
2537
return 0
2638

111 Bytes
Binary file not shown.

pkg/dist/wvpy-0.3.1.tar.gz

-127 KB
Binary file not shown.

pkg/docs/search.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/docs/wvpy.html

Lines changed: 15 additions & 15 deletions
Large diffs are not rendered by default.

pkg/docs/wvpy/jtools.html

Lines changed: 472 additions & 517 deletions
Large diffs are not rendered by default.

pkg/docs/wvpy/pysheet.html

Lines changed: 152 additions & 136 deletions
Large diffs are not rendered by default.

pkg/docs/wvpy/render_workbook.html

Lines changed: 82 additions & 58 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)