Commit 1cd8d8dda376146828212f6ac928a1361b6f75c5
1 parent
d401de67
Exists in
dev
Ephem sun and Moon.
Showing
1 changed file
with
29 additions
and
29 deletions
Show diff stats
src/core/pyros_django/scheduling/A_Scheduler.py
... | ... | @@ -120,37 +120,11 @@ class A_Scheduler(Agent): |
120 | 120 | agent_alias = self.config.get_agent_real_name(self.name, hostname) |
121 | 121 | log.info(f"{agent_alias=}") |
122 | 122 | |
123 | - # === Get self._home (str) of current unit | |
124 | - self._home = self.config.getHome() | |
125 | - | |
126 | - # === Get home (Home object) of current unit | |
127 | - home = guitastro.Home(self._home) | |
128 | - | |
129 | - # === Get and update all file contexts from pyros config | |
123 | + # === Get all file contexts from pyros config | |
130 | 124 | self._fn = self.config.fn |
131 | 125 | log.info(f"=== List of file name contexts available for the unit") |
132 | - for fcname in self._fn.fcontexts: | |
133 | - self._fn.fcontext = fcname | |
134 | - if self.is_in_test_mode(): | |
135 | - self._fn.rootdir = os.path.abspath(self._fn.rootdir.replace("/PRODUCTS/","/PRODUCTS/TESTS/")) | |
136 | - os.makedirs(self._fn.rootdir, exist_ok=True) | |
137 | - log.info(self._fn.fcontexts_human()) | |
138 | - | |
139 | - """ | |
140 | - def config_check_contexts(self, modetest:bool, loginfo:bool): | |
141 | - for fcname in self.fn.fcontexts: | |
142 | - self.fn.fcontext = fcname | |
143 | - if self.is_in_test_mode(): | |
144 | - self.fn.rootdir = os.path.abspath(self.fn.rootdir.replace("/PRODUCTS/","/PRODUCTS/TESTS/")) | |
145 | - os.makedirs(self._fn.rootdir, exist_ok=True) | |
146 | - if loginfo: | |
147 | - log.info(self.fn.fcontext_human()) | |
148 | - """ | |
149 | - | |
150 | - # === Set longitude to sequence file context to manage the night subdirectories | |
151 | - longitude = home.longitude | |
152 | - log.info(f"{longitude=}") | |
153 | - self._fn.longitude(longitude) | |
126 | + self.check_contexts(True) | |
127 | + log.info(f"{self._fn.longitude=}") | |
154 | 128 | |
155 | 129 | # === Status of routine processing |
156 | 130 | self._routine_running = self.RUNNING_NOTHING |
... | ... | @@ -560,6 +534,32 @@ class A_Scheduler(Agent): |
560 | 534 | eph = guitastro.Ephemeris() |
561 | 535 | eph.set_home(self.config.getHome()) |
562 | 536 | |
537 | + """ A placer dans Agent | |
538 | + def ephem_target2night(target->str) -> dict: | |
539 | + fcontext0 = self._oc['config'].fn.fcontext | |
540 | + # --- Build the path and file name of the sun ephemeris | |
541 | + self._oc['config'].fn.fcontext = "pyros_eph" | |
542 | + night = self._oc['config'].fn.date2night("now") | |
543 | + fn_param = { | |
544 | + "period" : f"{info['period_id']}", | |
545 | + "date": night, | |
546 | + "version": "1", | |
547 | + "unit": self._oc['config'].unit_name, | |
548 | + "target": target | |
549 | + } | |
550 | + fname = self._fn.naming_set(fn_param) | |
551 | + eph_file = self._fn.joinabs(fname) | |
552 | + # --- Compute the sun ephemeris if needed. Save it as pickle. | |
553 | + if not os.path.exists(eph_file): | |
554 | + ephem_target = eph.target2night(target, night, None, None) | |
555 | + os.makedirs(os.path.dirname(eph_file), exist_ok=True) | |
556 | + pickle.dump(ephem_sun, open(eph_file,"wb")) | |
557 | + else: | |
558 | + ephem_target = pickle.load(open(eph_file,"rb")) | |
559 | + self._oc['config'].fn.fcontext = fcontext0 | |
560 | + return ephem_target | |
561 | + """ | |
562 | + | |
563 | 563 | # --- Build the path and file name of the sun ephemeris |
564 | 564 | self._fn.fcontext = "pyros_eph" |
565 | 565 | fn_param = { | ... | ... |