Commit 88f293fc15114f82ad9c51c8317fb73d0f66ec9c
1 parent
51f43101
Exists in
dev
Update fn in obsconfig, self.fn returns only fcontext from sequence_management section
Showing
1 changed file
with
28 additions
and
13 deletions
Show diff stats
src/core/pyros_django/obs_config/obsconfig_class.py
@@ -301,18 +301,20 @@ class OBSConfig: | @@ -301,18 +301,20 @@ class OBSConfig: | ||
301 | 301 | ||
302 | 302 | ||
303 | def channel_fn_context(self, fn_context:dict): | 303 | def channel_fn_context(self, fn_context:dict): |
304 | + fn = FileNames() | ||
304 | for context, values in fn_context.items(): | 305 | for context, values in fn_context.items(): |
305 | - self.fn.fcontext_create(context, values["description"]) | ||
306 | - self.fn.fcontext = context | 306 | + fn.fcontext_create(context, values["description"]) |
307 | + fn.fcontext = context | ||
307 | if values.get("naming"): | 308 | if values.get("naming"): |
308 | - self.fn.naming(values["naming"]) | 309 | + fn.naming(values["naming"]) |
309 | elif values.get("pathnaming"): | 310 | elif values.get("pathnaming"): |
310 | - self.fn.pathnaming(values["pathnaming"]) | 311 | + fn.pathnaming(values["pathnaming"]) |
311 | root_project_path = os.environ.get("PROJECT_ROOT_PATH", os.path.join(os.getcwd(), "../../../../")) | 312 | root_project_path = os.environ.get("PROJECT_ROOT_PATH", os.path.join(os.getcwd(), "../../../../")) |
312 | data_path = os.path.join(root_project_path, "..", "DATA") | 313 | data_path = os.path.join(root_project_path, "..", "DATA") |
313 | - self.fn.rootdir = os.path.join(data_path, values["root_dir"]) | ||
314 | - os.makedirs(self.fn.rootdir, exist_ok=True) | ||
315 | - self.fn.extension = values["extension"] | 314 | + fn.rootdir = os.path.join(data_path, values["root_dir"]) |
315 | + os.makedirs(fn.rootdir, exist_ok=True) | ||
316 | + fn.extension = values["extension"] | ||
317 | + return fn | ||
316 | 318 | ||
317 | 319 | ||
318 | def read_generic_component_and_return_attributes(self, component_name: str) -> dict: | 320 | def read_generic_component_and_return_attributes(self, component_name: str) -> dict: |
@@ -653,8 +655,9 @@ class OBSConfig: | @@ -653,8 +655,9 @@ class OBSConfig: | ||
653 | 655 | ||
654 | for channel_id in range(len(unit["TOPOLOGY"]["CHANNELS"])): | 656 | for channel_id in range(len(unit["TOPOLOGY"]["CHANNELS"])): |
655 | channel_fcontext = unit["TOPOLOGY"]["CHANNELS"][channel_id]["CHANNEL"].get("fn_contexts") | 657 | channel_fcontext = unit["TOPOLOGY"]["CHANNELS"][channel_id]["CHANNEL"].get("fn_contexts") |
656 | - if channel_fcontext is not None: | ||
657 | - self.channel_fn_context(channel_fcontext) | 658 | + if channel_fcontext is not None and type(channel_fcontext) != FileNames: |
659 | + fn = self.channel_fn_context(channel_fcontext) | ||
660 | + unit["TOPOLOGY"]["CHANNELS"][channel_id]["CHANNEL"]["fn_contexts"] = fn | ||
658 | channel = unit["TOPOLOGY"]["CHANNELS"][channel_id]["CHANNEL"] | 661 | channel = unit["TOPOLOGY"]["CHANNELS"][channel_id]["CHANNEL"] |
659 | channels[channel["name"]] = channel | 662 | channels[channel["name"]] = channel |
660 | 663 | ||
@@ -1436,6 +1439,14 @@ class OBSConfig: | @@ -1436,6 +1439,14 @@ class OBSConfig: | ||
1436 | return channels[channel] | 1439 | return channels[channel] |
1437 | return None | 1440 | return None |
1438 | 1441 | ||
1442 | + def get_all_fcontext(self): | ||
1443 | + fcontexts = {} | ||
1444 | + fcontexts["general"] = self.fn | ||
1445 | + channels = self.get_channels(self.unit_name) | ||
1446 | + for channel in channels: | ||
1447 | + fcontexts[channel] = channels[channel]["fn_contexts"] | ||
1448 | + return fcontexts | ||
1449 | + | ||
1439 | class MissingMandatoryAgentException(Exception): | 1450 | class MissingMandatoryAgentException(Exception): |
1440 | """ | 1451 | """ |
1441 | Exception raised when an mandatory Pyros Agent is missing in the observatory configuration. | 1452 | Exception raised when an mandatory Pyros Agent is missing in the observatory configuration. |
@@ -1458,10 +1469,14 @@ def main(): | @@ -1458,10 +1469,14 @@ def main(): | ||
1458 | # print(config.getEditableChannelAttributes(unit_name,"OpticalChannel_up")) | 1469 | # print(config.getEditableChannelAttributes(unit_name,"OpticalChannel_up")) |
1459 | config = OBSConfig("../../../../../PYROS_OBSERVATORY/pyros_observatory_tnc/observatory.yml") | 1470 | config = OBSConfig("../../../../../PYROS_OBSERVATORY/pyros_observatory_tnc/observatory.yml") |
1460 | unit_name = config.get_units_name()[0] | 1471 | unit_name = config.get_units_name()[0] |
1461 | - print(config.fn.fcontexts) | ||
1462 | - config.fn.fcontext = "pyros_seq" | ||
1463 | - print(config.fn) | ||
1464 | - print(config.fn.naming_keys()) | 1472 | + # print(config.fn.fcontexts) |
1473 | + # config.fn.fcontext = "pyros_seq" | ||
1474 | + # print(config.fn) | ||
1475 | + # config.fn.fcontext = "pyros_seq" | ||
1476 | + # print(config.fn) | ||
1477 | + all_fcontexts = config.get_all_fcontext() | ||
1478 | + #print("GENERAL FCONTEXT -- ", all_fcontexts.pop("general")) | ||
1479 | + print(all_fcontexts["OpticalChannel_up1"].fcontexts) | ||
1465 | #print(config.get_channel_of_agent("A_ImagesProcessor_up1_akz")) | 1480 | #print(config.get_channel_of_agent("A_ImagesProcessor_up1_akz")) |
1466 | # print(config.get_channels(unit_name)) | 1481 | # print(config.get_channels(unit_name)) |
1467 | # print(config.get_components_agents(unit_name)) | 1482 | # print(config.get_components_agents(unit_name)) |