5 """Script to set the value of an environment variable in the specified Session of the
6 specified OKS database file"""
9 print(f
"Error: the session name needs to be specified")
13 session = db.get_dal(
"Session", session_name)
15 print(f
"Error could not find Session {session_name} in file {oksfile}")
19 "schema/confmodel/dunedaq.schema.xml"
24 existing_env_var =
None
25 for entry
in session.environment:
26 if isinstance(entry, dal.VariableSet):
27 for subentry
in entry.contains:
28 if subentry.name == requested_env_var_name:
29 existing_env_var = subentry
30 existing_env_var.value = requested_env_var_value
33 if entry.name == requested_env_var_name:
34 existing_env_var = entry
35 existing_env_var.value = requested_env_var_value
37 if existing_env_var
is not None:
41 if existing_env_var
is not None:
42 db.update_dal(existing_env_var)
46 new_env_var_dal_name =
"temporary-env-var-" + requested_env_var_name
47 new_env_var_dal_name = new_env_var_dal_name.lower()
48 new_env_var_dal_name = new_env_var_dal_name.replace(
"_",
"-")
50 new_env_var = dal.Variable(new_env_var_dal_name, name=requested_env_var_name, value=requested_env_var_value)
51 db.update_dal(new_env_var)
53 session.environment.append(new_env_var)
54 db.update_dal(session)