8def include(oksfile: str, exclude: bool, excludable_entity: list[str], session_name: str) ->
None:
9 """Script to include or exclude (-d, for the old term disabled) ExcludableEntitys from the
10first Session of the specified OKS database file"""
12 if session_name == "":
13 session_dals = db.get_dals(class_name="Session")
14 if len(session_dals) == 0:
15 print(f"Error could not find any Session in file {oksfile}")
16 return
17 session = session_dals[0]
18 else:
19 try:
20 session = db.get_dal("Session", session_name)
21 except:
22 print(f"Error could not find Session {session_name} in file {oksfile}")
23 return
24 excluded = session.excluded
25 for res in excludable_entity:
26 try:
27 res_dal = db.get_dal("ExcludableEntity", res)
28 except:
29 print(f"Error could not find ExcludableEntity {res} in file {oksfile}")
30 continue
31
32 if exclude:
33 if res_dal in excluded:
34 print(
35 f"{res} is already in excluded relationship of Session {session.id}"
36 )
37 else:
38
39 print(f"Adding {res} to excluded relationship of Session {session.id}")
40 excluded.append(res_dal)
41 else:
42 if res_dal not in excluded:
43 print(f"{res} is not in excluded relationship of Session {session.id}")
44 else:
45
46 print(
47 f"Removing {res} from excluded relationship of Session {session.id}"
48 )
49 excluded.remove(res_dal)
50 session.excluded = excluded
51 db.update_dal(session)
52 db.commit()