File tree Expand file tree Collapse file tree 7 files changed +18
-24
lines changed Expand file tree Collapse file tree 7 files changed +18
-24
lines changed Original file line number Diff line number Diff line change @@ -34,7 +34,7 @@ ucumvert is available as Python package from [PyPi](https://pypi.org/project/ucu
34
34
pip install ucumvert
35
35
```
36
36
37
- To install the most recent code from git in developer mode including creation of a virtual environment (pip should be newer than 23.1) use:
37
+ To install the most recent code from git in developer mode including creation of a virtual environment use:
38
38
39
39
Linux
40
40
@@ -43,6 +43,7 @@ git clone https://github.com/dalito/ucumvert.git
43
43
cd ucumvert
44
44
python -m venv .venv
45
45
source .venv/bin/activate
46
+ python -m pip install --upgrade pip
46
47
pip install -e .[dev]
47
48
```
48
49
@@ -53,6 +54,7 @@ git clone https://github.com/dalito/ucumvert.git
53
54
cd ucumvert
54
55
py -m venv .venv
55
56
.venv\S cripts\a ctivate.bat
57
+ py -m pip install --upgrade pip
56
58
pip install -e .[dev]
57
59
```
58
60
Original file line number Diff line number Diff line change @@ -50,15 +50,15 @@ Changelog = "https://github.com/nfdi4cat/ucumvert/blob/main/CHANGELOG.md"
50
50
tests = [
51
51
" pytest" ,
52
52
" coverage" ,
53
- " pydot" ,
54
53
]
55
54
lint = [
56
55
" black" ,
57
56
]
58
57
dev = [
59
- " ucumvert[tests,lint]" ,
60
- " ruff" ,
61
- " openpyxl" ,
58
+ " ucumvert[tests,lint]" ,
59
+ " ruff" ,
60
+ " openpyxl" ,
61
+ " pydot" ,
62
62
]
63
63
64
64
[project .scripts ]
Original file line number Diff line number Diff line change 6
6
7
7
from ucumvert .parser import (
8
8
get_ucum_parser ,
9
- make_parse_tree_png ,
10
9
update_lark_ucum_grammar_file ,
11
10
)
12
11
from ucumvert .ucum_pint import (
22
21
__version__ = "0.0.0"
23
22
__version_tuple__ = (0 , 0 , 0 )
24
23
25
- try :
24
+ try : # pragma: no cover
26
25
import pydot # noqa: F401
27
26
28
27
HAS_PYDOT = True
31
30
32
31
__all__ = [
33
32
"get_ucum_parser" ,
34
- "make_parse_tree_png" ,
35
33
"ucum_preprocessor" ,
36
34
"update_lark_ucum_grammar_file" ,
37
35
"UcumToPintTransformer" ,
Original file line number Diff line number Diff line change 4
4
import textwrap
5
5
from pathlib import Path
6
6
7
+ from lark import tree
7
8
from lark .exceptions import LarkError , UnexpectedInput , VisitError
8
9
9
10
import ucumvert
10
11
from ucumvert .parser import (
11
12
get_ucum_parser ,
12
- make_parse_tree_png ,
13
13
update_lark_ucum_grammar_file ,
14
14
)
15
15
from ucumvert .ucum_pint import UcumToPintTransformer , find_matching_pint_definitions
@@ -31,13 +31,9 @@ def interactive():
31
31
if ucum_code and (ucum_code in "qQ" ):
32
32
break
33
33
try :
34
+ parsed_data = ucum_parser .parse (ucum_code )
34
35
if ucumvert .HAS_PYDOT :
35
- parsed_data = make_parse_tree_png (
36
- ucum_parser , ucum_code , filename = "parse_tree.png"
37
- )
38
- print ("Created visualization of parse tree (parse_tree.png)." )
39
- else :
40
- parsed_data = ucum_parser .parse (ucum_code )
36
+ tree .pydot__tree_to_png (parsed_data , "parse_tree_unit.png" )
41
37
print (parsed_data .pretty ())
42
38
except UnexpectedInput as e :
43
39
print (e )
Original file line number Diff line number Diff line change 4
4
import textwrap
5
5
from pathlib import Path
6
6
7
- from lark import Lark , Transformer , tree
7
+ from lark import Lark , Transformer
8
8
9
9
import ucumvert
10
10
from ucumvert .xml_util import (
@@ -175,9 +175,3 @@ def get_ucum_parser(grammar_file=None):
175
175
with grammar_file .open ("r" , encoding = "utf8" ) as f :
176
176
ucum_grammar = f .read ()
177
177
return Lark (ucum_grammar , start = "main_term" , strict = True )
178
-
179
-
180
- def make_parse_tree_png (parser , data , filename = "parse_tree_unit.png" ):
181
- parsed_data = parser .parse (data )
182
- tree .pydot__tree_to_png (parsed_data , filename )
183
- return parsed_data
Original file line number Diff line number Diff line change 14
14
15
15
from ucumvert .parser import (
16
16
get_ucum_parser ,
17
- make_parse_tree_png ,
18
17
)
19
18
from ucumvert .xml_util import (
20
19
get_metric_units ,
@@ -380,7 +379,6 @@ def run_examples(): # pragma: no cover
380
379
parser = get_ucum_parser ()
381
380
for unit in test_ucum_units :
382
381
print ("parsing ucum code:" , unit )
383
- make_parse_tree_png (unit , filename = "parse_tree.png" )
384
382
parsed_data = parser .parse (unit )
385
383
q = UcumToPintTransformer ().transform (parsed_data )
386
384
print (f"Pint { q !r} " )
Original file line number Diff line number Diff line change
1
+ from ucumvert .xml_util import get_metric_units , get_non_metric_units , get_units
2
+
3
+
4
+ def test_get_units ():
5
+ assert len (get_units ()) == 303 # noqa: PLR2004
6
+ assert set (get_units ()) == set (get_metric_units () + get_non_metric_units ())
You can’t perform that action at this time.
0 commit comments