Skip to content

Commit

Permalink
refactored writing iris config in noxfile
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesp committed Feb 23, 2021
1 parent d33cfff commit 4fb5ccd
Showing 1 changed file with 21 additions and 26 deletions.
47 changes: 21 additions & 26 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"""

from asyncore import write
from csv import excel
import hashlib
import os
Expand Down Expand Up @@ -93,6 +94,25 @@ def cache_cartopy(session):
"import cartopy; cartopy.io.shapereader.natural_earth()",
)

def write_iris_config(session):
"""Add test data dir and libudunits2.so to iris config"""
try:
test_data_dir = session.posargs[session.posargs.index('--test-data-dir')+1]
except:
test_data_dir = ""
iris_config_file = os.path.join(session.virtualenv.location, 'lib', f'python{session.python}', 'site-packages', 'iris', 'etc', 'site.cfg')
iris_config = f"""
[Resources]
test_data_dir = {test_data_dir}
[System]
udunits2_path = {os.path.join(session.virtualenv.location, 'lib', 'libudunits2.so')}
"""

print("Iris config\n-----------")
print(iris_config)

with open(iris_config_file, 'w') as f:
f.write(iris_config)

def prepare_venv(session):
"""
Expand Down Expand Up @@ -126,6 +146,7 @@ def prepare_venv(session):
"--prune",
)
session._run(*command, silent=True, external="error")
write_iris_config(session)
cache_venv(session)

cache_cartopy(session)
Expand All @@ -135,32 +156,6 @@ def prepare_venv(session):
# from the command line.
verbose = "-v" in session.posargs or "--verbose" in session.posargs

# add configuration to iris
try:
test_data_dir = session.posargs[session.posargs.index('--test-data-dir')+1]
except:
test_data_dir = ""

iris_config_file = os.path.join(session.virtualenv.location, 'lib', f'python{session.python}', 'site-packages', 'iris', 'etc', 'site.cfg')

# try:
# os.mkdir(os.path.join(session.virtualenv.location, 'lib', f'python{session.python}', 'site-pacakges', 'iris', 'etc'))
# except FileExistsError as e:
# pass

iris_config = f"""
[Resources]
test_data_dir = {test_data_dir}
[System]
udunits2_path = {os.path.join(session.virtualenv.location, 'lib', 'libudunits2.so')}
"""

print("Iris config\n-----------")
print(iris_config)

with open(iris_config_file, 'w') as f:
f.write(iris_config)

if verbose:
session.run("conda", "info")
session.run("conda", "list", f"--prefix={session.virtualenv.location}")
Expand Down

0 comments on commit 4fb5ccd

Please sign in to comment.