diff options
Diffstat (limited to 'acispy/pfiles.py')
-rw-r--r-- | acispy/pfiles.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/acispy/pfiles.py b/acispy/pfiles.py new file mode 100644 index 0000000..8a80a14 --- /dev/null +++ b/acispy/pfiles.py @@ -0,0 +1,38 @@ +# Copyright (c) 2017 Weitian LI <liweitianux@live.com> +# MIT license +# +# Weitian LI +# 2017-02-06 + +""" +Prepare the CIAO parameter files and setup the PFILES environment +variable to keep the pfiles locally, in order to avoid the conflicts +between multiple instance of the same CIAO tools. +""" + +import os +import subprocess +import shutil + + +def setup_pfiles(tools): + """ + Copy the parameter files of the specified tools to the current + working directory, and setup the ``PFILES`` environment variable. + + Parameters + ---------- + tools : list[str] + Name list of the tools to be set up + """ + for tool in tools: + pfile = subprocess.check_output([ + "paccess", tool + ]).decode("utf-8").strip() + subprocess.check_call(["punlearn", tool]) + try: + shutil.copy(pfile, ".") + except shutil.SameFileError: + pass + # Setup the ``PFILES`` environment variable + os.environ["PFILES"] = "./:" + os.environ["PFILES"] |