Skip to content

Commit f6b2ba4

Browse files
authored
Merge pull request #79 from yucongalicechen/pkg
load package info
2 parents 069fb72 + 7fa73aa commit f6b2ba4

File tree

3 files changed

+34
-1
lines changed

3 files changed

+34
-1
lines changed

src/diffpy/labpdfproc/labpdfprocapp.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from diffpy.labpdfproc.functions import apply_corr, compute_cve
55
from diffpy.labpdfproc.tools import (
66
known_sources,
7+
load_package_info,
78
load_user_info,
89
load_user_metadata,
910
set_input_lists,
@@ -111,6 +112,7 @@ def get_args(override_cli_inputs=None):
111112

112113
def main():
113114
args = get_args()
115+
args = load_package_info(args)
114116
args = load_user_info(args)
115117
args = set_input_lists(args)
116118
args.output_directory = set_output_directory(args)

src/diffpy/labpdfproc/tests/test_tools.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from diffpy.labpdfproc.labpdfprocapp import get_args
88
from diffpy.labpdfproc.tools import (
99
known_sources,
10+
load_package_info,
1011
load_user_info,
1112
load_user_metadata,
1213
set_input_lists,
@@ -265,3 +266,14 @@ def test_load_user_info(monkeypatch, inputs, expected, user_filesystem):
265266
actual_args = load_user_info(actual_args)
266267
assert actual_args.username == expected_username
267268
assert actual_args.email == expected_email
269+
270+
271+
def test_load_package_info(mocker):
272+
mocker.patch(
273+
"importlib.metadata.version",
274+
side_effect=lambda package_name: "3.3.0" if package_name == "diffpy.utils" else "1.2.3",
275+
)
276+
cli_inputs = ["2.5", "data.xy"]
277+
actual_args = get_args(cli_inputs)
278+
actual_args = load_package_info(actual_args)
279+
assert actual_args.package_info == {"diffpy.labpdfproc": "1.2.3", "diffpy.utils": "3.3.0"}

src/diffpy/labpdfproc/tools.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from pathlib import Path
22

3-
from diffpy.utils.tools import get_user_info
3+
from diffpy.utils.tools import get_package_info, get_user_info
44

55
WAVELENGTHS = {"Mo": 0.71, "Ag": 0.59, "Cu": 1.54}
66
known_sources = [key for key in WAVELENGTHS.keys()]
@@ -194,3 +194,22 @@ def load_user_info(args):
194194
args.username = config["username"]
195195
args.email = config["email"]
196196
return args
197+
198+
199+
def load_package_info(args):
200+
"""
201+
Load diffpy.labpdfproc package name and version into args using get_package_info function from diffpy.utils
202+
203+
Parameters
204+
----------
205+
args argparse.Namespace
206+
the arguments from the parser, default is None
207+
208+
Returns
209+
-------
210+
the updated argparse Namespace with diffpy.labpdfproc name and version inserted
211+
212+
"""
213+
metadata = get_package_info("diffpy.labpdfproc")
214+
setattr(args, "package_info", metadata["package_info"])
215+
return args

0 commit comments

Comments
 (0)