Skip to content

Commit de0a20f

Browse files
Wrap up set_output_directory as a function and include tests functions
1 parent ca45943 commit de0a20f

File tree

3 files changed

+30
-5
lines changed

3 files changed

+30
-5
lines changed

src/diffpy/labpdfproc/labpdfprocapp.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from pathlib import Path
44

55
from diffpy.labpdfproc.functions import apply_corr, compute_cve
6+
from diffpy.labpdfproc.tools import set_output_directory
67
from diffpy.utils.parsers.loaddata import loadData
78
from diffpy.utils.scattering_objects.diffraction_objects import XQUANTITIES, Diffraction_object
89

@@ -65,13 +66,11 @@ def main():
6566
args = get_args()
6667
wavelength = WAVELENGTHS[args.anode_type]
6768
filepath = Path(args.input_file)
68-
output_dir = Path(args.output_directory).resolve() if args.output_directory else Path.cwd()
69-
output_dir.mkdir(parents=True, exist_ok=True)
70-
args.output_directory = output_dir
69+
args.output_directory = set_output_directory(args)
7170
outfilestem = filepath.stem + "_corrected"
7271
corrfilestem = filepath.stem + "_cve"
73-
outfile = output_dir / (outfilestem + ".chi")
74-
corrfile = output_dir / (corrfilestem + ".chi")
72+
outfile = args.output_directory / (outfilestem + ".chi")
73+
corrfile = args.output_directory / (corrfilestem + ".chi")
7574

7675
if outfile.exists() and not args.force_overwrite:
7776
sys.exit(
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import argparse
2+
from pathlib import Path
3+
4+
import pytest
5+
6+
from diffpy.labpdfproc.tools import set_output_directory
7+
8+
params1 = [
9+
([None], [Path.cwd()]),
10+
(["corrected"], [Path("corrected").resolve()]),
11+
]
12+
13+
14+
@pytest.mark.parametrize("inputs, expected", params1)
15+
def test_set_output_directory(inputs, expected):
16+
expected_output_directory = expected[0]
17+
actual_args = argparse.Namespace(output_directory=inputs[0])
18+
actual_output_directory = set_output_directory(actual_args)
19+
assert actual_output_directory == expected_output_directory

src/diffpy/labpdfproc/tools.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from pathlib import Path
2+
3+
4+
def set_output_directory(args):
5+
output_dir = Path(args.output_directory).resolve() if args.output_directory else Path.cwd()
6+
output_dir.mkdir(parents=True, exist_ok=True)
7+
return output_dir

0 commit comments

Comments
 (0)