DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
get_session_env_var Namespace Reference

Functions

str|None get_session_env_var (str oksfile, str session_name, str requested_env_var_name, bool quiet=False)

Function Documentation

◆ get_session_env_var()

str | None get_session_env_var ( str oksfile,
str session_name,
str requested_env_var_name,
bool quiet = False )
Script to get the value of an environment variable in the specified Session of the
specified OKS database file

Definition at line 5 of file get_session_env_var.py.

7) -> str | None:
8 """Script to get the value of an environment variable in the specified Session of the
9 specified OKS database file"""
10 db = conffwk.Configuration("oksconflibs:" + oksfile)
11 if session_name == "":
12 if not quiet:
13 print(f"Error: the session name needs to be specified", file=sys.stderr)
14 return
15 else:
16 try:
17 session = db.get_dal("Session", session_name)
18 except:
19 if not quiet:
20 print(f"Error: could not find Session \"{session_name}\" in file \"{oksfile}\"", file=sys.stderr)
21 return
22
23 schemafiles = [
24 "schema/confmodel/dunedaq.schema.xml"
25 ]
26 dal = conffwk.dal.module("dal", schemafiles)
27
28 # Check if the requested env var is defined for the specified OKS Session
29 existing_env_var = None
30 for entry in session.environment:
31 if isinstance(entry, dal.VariableSet):
32 for subentry in entry.contains:
33 if subentry.name == requested_env_var_name:
34 existing_env_var = subentry
35 break
36 else:
37 if entry.name == requested_env_var_name:
38 existing_env_var = entry
39
40 if existing_env_var is not None:
41 break
42
43 # Return the value, or complain and return None if the env var was not found
44 if existing_env_var is None:
45 if not quiet:
46 print(f"Error: could not find env var \"{requested_env_var_name}\" in Session \"{session_name}\"", file=sys.stderr)
47 return
48 else:
49 value = existing_env_var.value
50 return value
module(name, schema, other_dals=[], backend='oksconflibs', db=None)
Definition dal.py:695