Skip to content

Commit f58e4f7

Browse files
committed
explcitly provide tokens to interactions from the instrument server to the server to avoid confusion
1 parent 88d3edb commit f58e4f7

File tree

14 files changed

+170
-49
lines changed

14 files changed

+170
-49
lines changed

src/murfey/client/analyser.py

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class Analyser(Observer):
3434
def __init__(
3535
self,
3636
basepath_local: Path,
37+
token: str,
3738
environment: MurfeyInstanceEnvironment | None = None,
3839
force_mdoc_metadata: bool = False,
3940
limited: bool = False,
@@ -49,6 +50,7 @@ def __init__(
4950
self._batch_store: dict = {}
5051
self._environment = environment
5152
self._force_mdoc_metadata = force_mdoc_metadata
53+
self._token = token
5254
self.parameters_model: (
5355
Type[ProcessingParametersSPA] | Type[ProcessingParametersTomo] | None
5456
) = None
@@ -123,32 +125,34 @@ def _find_context(self, file_path: Path) -> bool:
123125
# CLEM workflow checks
124126
# Look for LIF and XLIF files
125127
if file_path.suffix in (".lif", ".xlif"):
126-
self._context = CLEMContext("leica", self._basepath)
128+
self._context = CLEMContext("leica", self._basepath, self._token)
127129
return True
128130
# Look for TIFF files associated with CLEM workflow
129131
# Leica's autosave mode seems to name the TIFFs in the format
130132
# PostionXX--ZXX--CXX.tif
131133
if all(
132134
pattern in file_path.name for pattern in ("--Z", "--C")
133135
) and file_path.suffix in (".tiff", ".tif"):
134-
self._context = CLEMContext("leica", self._basepath)
136+
self._context = CLEMContext("leica", self._basepath, self._token)
135137
return True
136138

137139
# Tomography and SPA workflow checks
138140
if "atlas" in file_path.parts:
139-
self._context = AtlasContext("epu", self._basepath)
141+
self._context = AtlasContext("epu", self._basepath, self._token)
140142
return True
141143

142144
if "Metadata" in file_path.parts or file_path.name == "EpuSession.dm":
143-
self._context = SPAMetadataContext("epu", self._basepath)
145+
self._context = SPAMetadataContext("epu", self._basepath, self._token)
144146
return True
145147
elif (
146148
"Batch" in file_path.parts
147149
or "SearchMaps" in file_path.parts
148150
or "Thumbnails" in file_path.parts
149151
or file_path.name == "Session.dm"
150152
):
151-
self._context = TomographyMetadataContext("tomo", self._basepath)
153+
self._context = TomographyMetadataContext(
154+
"tomo", self._basepath, self._token
155+
)
152156
return True
153157

154158
split_file_stem = file_path.stem.split("_")
@@ -164,7 +168,9 @@ def _find_context(self, file_path: Path) -> bool:
164168
]:
165169
if not self._context:
166170
logger.info("Acquisition software: EPU")
167-
self._context = SPAModularContext("epu", self._basepath)
171+
self._context = SPAModularContext(
172+
"epu", self._basepath, self._token
173+
)
168174
self.parameters_model = ProcessingParametersSPA
169175
return True
170176

@@ -178,7 +184,9 @@ def _find_context(self, file_path: Path) -> bool:
178184
):
179185
if not self._context:
180186
logger.info("Acquisition software: tomo")
181-
self._context = TomographyContext("tomo", self._basepath)
187+
self._context = TomographyContext(
188+
"tomo", self._basepath, self._token
189+
)
182190
self.parameters_model = ProcessingParametersTomo
183191
return True
184192
return False
@@ -213,14 +221,18 @@ def _analyse(self):
213221
or transferred_file.name == "EpuSession.dm"
214222
and not self._context
215223
):
216-
self._context = SPAMetadataContext("epu", self._basepath)
224+
self._context = SPAMetadataContext(
225+
"epu", self._basepath, self._token
226+
)
217227
elif (
218228
"Batch" in transferred_file.parts
219229
or "SearchMaps" in transferred_file.parts
220230
or transferred_file.name == "Session.dm"
221231
and not self._context
222232
):
223-
self._context = TomographyMetadataContext("tomo", self._basepath)
233+
self._context = TomographyMetadataContext(
234+
"tomo", self._basepath, self._token
235+
)
224236
self.post_transfer(transferred_file)
225237
else:
226238
dc_metadata = {}

src/murfey/client/context.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,9 @@ class Context:
3636
user_params: List[ProcessingParameter] = []
3737
metadata_params: List[ProcessingParameter] = []
3838

39-
def __init__(self, name: str, acquisition_software: str):
39+
def __init__(self, name: str, acquisition_software: str, token: str):
4040
self._acquisition_software = acquisition_software
41+
self._token = token
4142
self.name = name
4243
self.data_collection_parameters: dict = {}
4344

src/murfey/client/contexts/atlas.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212

1313

1414
class AtlasContext(Context):
15-
def __init__(self, acquisition_software: str, basepath: Path):
16-
super().__init__("Atlas", acquisition_software)
15+
def __init__(self, acquisition_software: str, basepath: Path, token: str):
16+
super().__init__("Atlas", acquisition_software, token)
1717
self._basepath = basepath
1818

1919
def post_transfer(
@@ -42,6 +42,7 @@ def post_transfer(
4242
base_url=str(environment.url.geturl()),
4343
router_name="session_control.spa_router",
4444
function_name="make_atlas_jpg",
45+
token=self._token,
4546
session_id=environment.murfey_session,
4647
data={"path": str(transferred_atlas_name)},
4748
)

src/murfey/client/contexts/clem.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ def _find_elements_recursively(
8989

9090

9191
class CLEMContext(Context):
92-
def __init__(self, acquisition_software: str, basepath: Path):
93-
super().__init__("CLEM", acquisition_software)
92+
def __init__(self, acquisition_software: str, basepath: Path, token: str):
93+
super().__init__("CLEM", acquisition_software, token)
9494
self._basepath = basepath
9595
# CLEM contexts for "auto-save" acquisition mode
9696
self._tiff_series: Dict[str, List[str]] = {} # {Series name : TIFF path list}
@@ -356,6 +356,7 @@ def register_lif_file(
356356
base_url=str(environment.url.geturl()),
357357
router_name="clem.router",
358358
function_name="register_lif_file",
359+
token=self._token,
359360
session_id=environment.murfey_session,
360361
data={"lif_file": quote(str(lif_file), safe="")},
361362
)
@@ -381,6 +382,7 @@ def process_lif_file(
381382
base_url=str(environment.url.geturl()),
382383
router_name="clem.router",
383384
function_name="process_raw_lifs",
385+
token=self._token,
384386
session_id=environment.murfey_session,
385387
data={"lif_file": quote(str(lif_file), safe="")},
386388
)
@@ -404,6 +406,7 @@ def register_tiff_file(
404406
base_url=str(environment.url.geturl()),
405407
router_name="clem.router",
406408
function_name="register_tiff_file",
409+
token=self._token,
407410
session_id=environment.murfey_session,
408411
data={"tiff_file": quote(str(tiff_file), safe="")},
409412
)
@@ -429,6 +432,7 @@ def process_tiff_series(
429432
base_url=str(environment.url.geturl()),
430433
router_name="clem.router",
431434
function_name="process_raw_tiffs",
435+
token=self._token,
432436
session_id=environment.murfey_session,
433437
data=tiff_dataset,
434438
)

src/murfey/client/contexts/fib.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ def _number_from_name(name: str) -> int:
3232

3333

3434
class FIBContext(Context):
35-
def __init__(self, acquisition_software: str, basepath: Path):
36-
super().__init__("FIB", acquisition_software)
35+
def __init__(self, acquisition_software: str, basepath: Path, token: str):
36+
super().__init__("FIB", acquisition_software, token)
3737
self._basepath = basepath
3838
self._milling: Dict[int, List[MillingProgress]] = {}
3939
self._lamellae: Dict[int, Lamella] = {}
@@ -95,6 +95,7 @@ def post_transfer(
9595
base_url=str(environment.url.geturl()),
9696
router_name="workflow.correlative_router",
9797
function_name="make_gif",
98+
token=self._token,
9899
year=datetime.now().year,
99100
visit_name=environment.visit,
100101
session_id=environment.murfey_session,

src/murfey/client/contexts/spa.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,8 @@ class SPAModularContext(Context):
111111
ProcessingParameter("motion_corr_binning", "Motion Correction Binning"),
112112
]
113113

114-
def __init__(self, acquisition_software: str, basepath: Path):
115-
super().__init__("SPA", acquisition_software)
114+
def __init__(self, acquisition_software: str, basepath: Path, token: str):
115+
super().__init__("SPA", acquisition_software, token)
116116
self._basepath = basepath
117117
self._processing_job_stash: dict = {}
118118
self._foil_holes: Dict[int, List[int]] = {}
@@ -229,6 +229,7 @@ def gather_metadata(
229229
base_url=str(environment.url.geturl()),
230230
router_name="session_control.router",
231231
function_name="machine_info_by_instrument",
232+
token=self._token,
232233
instrument_name=environment.instrument_name,
233234
)
234235
if server_config_response is None:
@@ -302,6 +303,7 @@ def _position_analysis(
302303
base_url=str(environment.url.geturl()),
303304
router_name="session_info.router",
304305
function_name="get_dc_groups",
306+
token=self._token,
305307
session_id=environment.murfey_session,
306308
)
307309
.json()
@@ -347,6 +349,7 @@ def _position_analysis(
347349
base_url=str(environment.url.geturl()),
348350
router_name="session_control.spa_router",
349351
function_name="register_grid_square",
352+
token=self._token,
350353
session_id=environment.murfey_session,
351354
gsid=grid_square,
352355
data={
@@ -393,6 +396,7 @@ def _position_analysis(
393396
base_url=str(environment.url.geturl()),
394397
router_name="session_control.spa_router",
395398
function_name="register_foil_hole",
399+
token=self._token,
396400
session_id=environment.murfey_session,
397401
gs_name=grid_square,
398402
data={
@@ -416,6 +420,7 @@ def _position_analysis(
416420
base_url=str(environment.url.geturl()),
417421
router_name="session_control.spa_router",
418422
function_name="register_foil_hole",
423+
token=self._token,
419424
session_id=environment.murfey_session,
420425
gs_name=grid_square,
421426
data={
@@ -477,6 +482,7 @@ def post_transfer(
477482
base_url=str(environment.url.geturl()),
478483
router_name="session_control.router",
479484
function_name="count_number_of_movies",
485+
token=self._token,
480486
)
481487
if movie_counts_get is not None:
482488
environment.movie_counters[str(source)] = count(
@@ -493,6 +499,7 @@ def post_transfer(
493499
base_url=str(environment.url.geturl()),
494500
router_name="file_io_instrument.router",
495501
function_name="write_eer_fractionation_file",
502+
token=self._token,
496503
visit_name=environment.visit,
497504
session_id=environment.murfey_session,
498505
data={
@@ -552,6 +559,7 @@ def post_transfer(
552559
base_url=str(environment.url.geturl()),
553560
router_name="workflow.spa_router",
554561
function_name="request_spa_preprocessing",
562+
token=self._token,
555563
visit_name=environment.visit,
556564
session_id=environment.murfey_session,
557565
data={

src/murfey/client/contexts/spa_metadata.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ def _atlas_destination(
9292

9393

9494
class SPAMetadataContext(Context):
95-
def __init__(self, acquisition_software: str, basepath: Path):
96-
super().__init__("SPA_metadata", acquisition_software)
95+
def __init__(self, acquisition_software: str, basepath: Path, token: str):
96+
super().__init__("SPA_metadata", acquisition_software, token)
9797
self._basepath = basepath
9898

9999
def post_transfer(
@@ -191,6 +191,7 @@ def post_transfer(
191191
base_url=str(environment.url.geturl()),
192192
router_name="workflow.router",
193193
function_name="register_dc_group",
194+
token=self._token,
194195
visit_name=environment.visit,
195196
session_id=environment.murfey_session,
196197
data=dcg_data,
@@ -204,6 +205,7 @@ def post_transfer(
204205
base_url=str(environment.url.geturl()),
205206
router_name="session_control.spa_router",
206207
function_name="register_grid_square",
208+
token=self._token,
207209
session_id=environment.murfey_session,
208210
gsid=int(gs),
209211
data={
@@ -251,6 +253,7 @@ def post_transfer(
251253
base_url=str(environment.url.geturl()),
252254
router_name="workflow.router",
253255
function_name="register_dc_group",
256+
token=self._token,
254257
visit_name=environment.visit,
255258
session_id=environment.murfey_session,
256259
data=dcg_data,
@@ -292,6 +295,7 @@ def post_transfer(
292295
base_url=str(environment.url.geturl()),
293296
router_name="session_control.spa_router",
294297
function_name="register_grid_square",
298+
token=self._token,
295299
session_id=environment.murfey_session,
296300
gsid=gs_name,
297301
data={
@@ -310,6 +314,7 @@ def post_transfer(
310314
base_url=str(environment.url.geturl()),
311315
router_name="session_control.spa_router",
312316
function_name="register_foil_hole",
317+
token=self._token,
313318
session_id=environment.murfey_session,
314319
gs_name=gs_name,
315320
data={

0 commit comments

Comments
 (0)