mx-bluesky 1.5.0__py3-none-any.whl → 1.5.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. mx_bluesky/_version.py +2 -2
  2. mx_bluesky/beamlines/i04/__init__.py +4 -1
  3. mx_bluesky/beamlines/i04/callbacks/murko_callback.py +56 -1
  4. mx_bluesky/beamlines/i04/experiment_plans/__init__.py +0 -0
  5. mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +259 -0
  6. mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +8 -8
  7. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +8 -6
  8. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +4 -4
  9. mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +2 -2
  10. mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +5 -5
  11. mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +3 -3
  12. mx_bluesky/common/device_setup_plans/robot_load_unload.py +123 -0
  13. mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py +5 -1
  14. mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +27 -3
  15. mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +1 -0
  16. mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py +3 -1
  17. mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +26 -24
  18. mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +11 -7
  19. mx_bluesky/common/external_interaction/nexus/write_nexus.py +2 -2
  20. mx_bluesky/common/parameters/__init__.py +0 -0
  21. mx_bluesky/common/parameters/components.py +7 -2
  22. mx_bluesky/common/parameters/constants.py +5 -3
  23. mx_bluesky/common/parameters/device_composites.py +1 -1
  24. mx_bluesky/common/parameters/gridscan.py +1 -0
  25. mx_bluesky/common/xrc_result.py +25 -2
  26. mx_bluesky/hyperion/__main__.py +1 -1
  27. mx_bluesky/hyperion/baton_handler.py +36 -4
  28. mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +4 -93
  29. mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +19 -31
  30. mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +26 -8
  31. mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +21 -75
  32. mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +2 -2
  33. mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +14 -9
  34. mx_bluesky/hyperion/external_interaction/agamemnon.py +4 -4
  35. mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +1 -1
  36. mx_bluesky/hyperion/external_interaction/callbacks/{robot_load → robot_actions}/ispyb_callback.py +28 -19
  37. mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +1 -1
  38. mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py +3 -0
  39. mx_bluesky/hyperion/external_interaction/config_server.py +0 -11
  40. mx_bluesky/hyperion/parameters/constants.py +2 -7
  41. mx_bluesky/hyperion/parameters/gridscan.py +2 -6
  42. mx_bluesky/hyperion/parameters/load_centre_collect.py +15 -0
  43. mx_bluesky/hyperion/parameters/rotation.py +7 -3
  44. mx_bluesky/hyperion/utils/context.py +19 -5
  45. mx_bluesky/phase1_zebra/__init__.py +1 -0
  46. mx_bluesky/phase1_zebra/device_setup_plans/__init__.py +0 -0
  47. mx_bluesky/phase1_zebra/device_setup_plans/setup_zebra.py +112 -0
  48. {mx_bluesky-1.5.0.dist-info → mx_bluesky-1.5.2.dist-info}/METADATA +5 -4
  49. {mx_bluesky-1.5.0.dist-info → mx_bluesky-1.5.2.dist-info}/RECORD +55 -49
  50. mx_bluesky/hyperion/utils/validation.py +0 -196
  51. /mx_bluesky/common/experiment_plans/{read_hardware.py → inner_plans/read_hardware.py} +0 -0
  52. /mx_bluesky/common/experiment_plans/{write_sample_status.py → inner_plans/write_sample_status.py} +0 -0
  53. {mx_bluesky-1.5.0.dist-info → mx_bluesky-1.5.2.dist-info}/WHEEL +0 -0
  54. {mx_bluesky-1.5.0.dist-info → mx_bluesky-1.5.2.dist-info}/entry_points.txt +0 -0
  55. {mx_bluesky-1.5.0.dist-info → mx_bluesky-1.5.2.dist-info}/licenses/LICENSE +0 -0
  56. {mx_bluesky-1.5.0.dist-info → mx_bluesky-1.5.2.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  mx_bluesky/__init__.py,sha256=Ksms_WJF8LTkbm38gEpm1jBpGqcQ8NGvmb2ZJlOE1j8,198
2
2
  mx_bluesky/__main__.py,sha256=RVqPnxDisFMIn_aoEi0drlThNHgKTJULnSrotouIKI0,480
3
- mx_bluesky/_version.py,sha256=qEW4HoWHYDkBguijNs9nZzHd38qlKSeRTDG2QQbYrGY,511
3
+ mx_bluesky/_version.py,sha256=ULxoARbzjBMKCLCwFpnGZ1a36HS9SymijR2WGye0UeQ,511
4
4
  mx_bluesky/definitions.py,sha256=ULpEYAUzdQiEbBoTgYTMxfUf3DDDjhYtvDxofs7Qxqw,168
5
5
  mx_bluesky/jupyter_example.ipynb,sha256=wpwvPrBvwtRMS5AIFk8F54cIlUoD0o4ji8tKK5cZHA4,1672
6
6
  mx_bluesky/beamlines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -8,10 +8,12 @@ mx_bluesky/beamlines/aithre_lasershaping/__init__.py,sha256=A0dlifkBYPlCiMkTEovT
8
8
  mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py,sha256=-GTu2w7dIKtssZB8vXwE2f1zF-Pg1zC_jwBbB-r2Goo,1233
9
9
  mx_bluesky/beamlines/aithre_lasershaping/check_goniometer_performance.py,sha256=AqWAFey_Ih1JcRxVNiZDGFsVg4kvA9LH2p5SJeXfe2I,834
10
10
  mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py,sha256=1La4vJmQdKp3_Ib1DMgavJBdYLTxp7S7dEr_lqNknV0,1828
11
- mx_bluesky/beamlines/i04/__init__.py,sha256=jZjAMN5_oOEjQoR3iTrnMFW3ElxlHhQ7pEQZIv21Y4I,129
11
+ mx_bluesky/beamlines/i04/__init__.py,sha256=5ainxns2EcIh7EXqdZJRLI8yYDCBpY1-Dflqn7JDm-c,271
12
12
  mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py,sha256=T6K0LOwwGxB05YvS6FV-UU4O2N2GMQdEM2vj9BSow_U,6618
13
13
  mx_bluesky/beamlines/i04/thawing_plan.py,sha256=uvm1wfp012GN5yE7TcURSQeDtC9nWnW5X__6UCXazjA,5085
14
- mx_bluesky/beamlines/i04/callbacks/murko_callback.py,sha256=ZIwkY6gdcmIE-aMBvehN8DVcjGRtb9wwzpgHJNMZ39Q,2125
14
+ mx_bluesky/beamlines/i04/callbacks/murko_callback.py,sha256=C2KoIxwMIWxD46utmq1-69SIc8MspocXJ1sccO1lwAY,4458
15
+ mx_bluesky/beamlines/i04/experiment_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py,sha256=hWMnQSnmCrlVQgxi4qyqD0WtFt65_rSpSwYB_9bHMXY,9236
15
17
  mx_bluesky/beamlines/i23/__init__.py,sha256=7nwQiKBZAXLnvPhCqaI2VC1k4TOzQalOUvwF6SQ3Yd4,95
16
18
  mx_bluesky/beamlines/i23/serial.py,sha256=XVbHM8NevnJMFAJD9jkxG-VnPaWX6t_k-wlipRw0pmY,2055
17
19
  mx_bluesky/beamlines/i24/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -27,14 +29,14 @@ mx_bluesky/beamlines/i24/serial/set_visit_directory.sh,sha256=heQWMqUHNERQurt2tR
27
29
  mx_bluesky/beamlines/i24/serial/start_blueapi.sh,sha256=4iBzQljTLXQiVIF4UO7drc9qUkP7KSRC6Mjh8hcGxpI,608
28
30
  mx_bluesky/beamlines/i24/serial/write_nexus.py,sha256=3qSjvH2_0WYPuX8nUaOdsec7kIUSW0xBhCFec2tv3WM,4018
29
31
  mx_bluesky/beamlines/i24/serial/extruder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py,sha256=upg_8uQ-DMzQckjoDSt0VjoxxayfX09WvphCTVGBNM8,19462
32
+ mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py,sha256=OddLUvKvKe_Sabl0uTKiAk7yB5qtnhWftZJlvepqRkk,19389
31
33
  mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl,sha256=Uqw7u7Lqn6SRZxOoo4E7XwEueTI0eXylXpgBL66DXrI,1974
32
34
  mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl,sha256=lRFa3LEIqc6Yar2XjCT3T1KKG9cHBW0AK96nsfss0bE,30896
33
35
  mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl,sha256=K79vmGAcf9qVEQLXTgr0g4bZDWaJ7nFoK4e0Ex7qAwM,14690
34
36
  mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
37
  mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py,sha256=puO1vg0x-TPgv8FbEFg73ohJqbwDpcG50_2cLUTa2FA,1210
36
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py,sha256=rwWmhX59Iqv_fjuUSlDnmY0Z3YeHpJv5Q4ygdvapljc,25567
37
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py,sha256=eawdgkfNramXlZLgbxosVNO0MLjWiN0f8XLrU68gn1o,33143
38
+ mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py,sha256=aUwzEQAuib9V0AZsnnk34FhJ2IVi4XsPV5D2OnfySHk,25538
39
+ mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py,sha256=fjX_UKOfdA38u-3hhe6t7Y9c6r-HijyWqOi3kLUY3M8,33098
38
40
  mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py,sha256=Vokr_Gl_lpqcUwG18C2h8TYMmyTx1HmUSDd9zgR9-7M,3275
39
41
  mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py,sha256=QLg4wryENBeFfOYFaIgE9R12r2KvUuKIP9ZY8iyYibY,6582
40
42
  mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl,sha256=H9BVU1S3oy8tAVHtKvJvp7YTHA-4X-jtOtiu3jJ7of4,10348
@@ -61,29 +63,30 @@ mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py,sha256=UhBdMcPdJMzwV0
61
63
  mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py,sha256=H2gPmsLheYReFlGPFa5zzWbnyqdWbCmgKiAwcpVoYfk,1516
62
64
  mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py,sha256=9Up7ob1UMUG438SKjW7Ffn6OFiurC7Qpl0v19nwDjQQ,15601
63
65
  mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py,sha256=DVimjuvZYJoCaIswuO6YYVDtbLgZp33KQFmnlb9ngDY,1804
64
- mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py,sha256=1JU9eEygAX1bYA-pMlLC4dPMnd2KdaMRVtEpEWX-JM8,20982
65
- mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py,sha256=niJJjPkk1fSDr__Upf-9DbBkoPrFn8Gz_eTPgO0WpE8,3221
66
+ mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py,sha256=6OiZep8qrDdE_QdKqdk_BBx2FK-Dd5OUwSQ1DxL4J9U,20951
67
+ mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py,sha256=zooWiRnzzBiZLE3WvHQNH3oARUSaXqEV57Cs3WU5mfI,3169
66
68
  mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py,sha256=oRNZLA2uxiRM5eheAuRMM5eT0Oxe1YHqg59BHys3sXY,17970
67
69
  mx_bluesky/beamlines/i24/serial/web_gui_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
- mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py,sha256=z0MVrNEnZOzMqDmQYHTi0mMhfuGXXengB-M5-_f0kJE,8919
70
+ mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py,sha256=BN8dSYcMgUwSqaNK4sj_BkIisb-dMHtGMUE5zmRxNm4,8881
69
71
  mx_bluesky/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
- mx_bluesky/common/xrc_result.py,sha256=J1uB9Bujz_Sq_MwvYdWOZL3c6kX09TSaZW3eetRXBpw,2351
72
+ mx_bluesky/common/xrc_result.py,sha256=tUJ6qkDTTB6H1F71IvVAKtmHCRyHSU_tj9GRzVmnE7w,3219
71
73
  mx_bluesky/common/device_setup_plans/manipulate_sample.py,sha256=-5y2AahAU_ZhDQCFQA8Nr-Z3o7mp54pxabqoj4pqhXc,3115
72
74
  mx_bluesky/common/device_setup_plans/position_detector.py,sha256=S49ml0KNZ6wXPQqOxNJ2whKTCyRTcKdBXBhyeEyFDQQ,635
75
+ mx_bluesky/common/device_setup_plans/robot_load_unload.py,sha256=UO2fCMk3Yfy1z4SjUd-zwWsc9lYL4LMLKi0jtCUgPso,4419
73
76
  mx_bluesky/common/device_setup_plans/setup_oav.py,sha256=7WLElZZU5mWq9g2WP86p3P81uiSPuj2V4kIkqXlap3o,2692
74
77
  mx_bluesky/common/device_setup_plans/setup_panda.py,sha256=OF-ZygZyAyQEUdrAWiIxWZ6QhAsVx4Mm9ngRYB1mzKI,433
75
78
  mx_bluesky/common/device_setup_plans/utils.py,sha256=S_Us1KfLkyaRzWxmqnoVxHj2Suq-Vs0n5fMRygHgrTw,1859
76
79
  mx_bluesky/common/device_setup_plans/xbpm_feedback.py,sha256=WsUMdeOZBgbj-bFp7x66aHp2oWffQmjyp61-qmtQAmI,2153
77
80
  mx_bluesky/common/experiment_plans/__init__.py,sha256=FMA-4VN1TJCPcyURKF0qPIQ8uo8YBbtHPRdJokVF4MA,129
78
- mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py,sha256=IY5pq8ni_LKD4LTZG0bbKrC3fEXAnxiunIkp6Oray_c,2897
79
- mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py,sha256=z85aYWZ0g5wPDqeT96Qb94tGSq8SXZL1MIThDYPxrVU,12261
80
- mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py,sha256=N9LXiKJWCOOJ_AyKJu6jMIKocvOidjTA5JOOG5xWPmw,6921
81
+ mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py,sha256=407E9rp0yGWWIU1fJrgqK_hC19mVwRK-Und7fMlGNDc,3062
82
+ mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py,sha256=jLo9nrd8CW85Px7t3I6QlnfD71VhApyVJMfWB6-gJgk,13245
83
+ mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py,sha256=BxBKc9cn843eoMlmlV7j0tqIG-DRPL6A0n-S6JLyDjg,7057
81
84
  mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py,sha256=Djfqfny7Bs-PlpxJUXLDZv-n3uWnk_99YQjAvlvqm8k,6733
82
85
  mx_bluesky/common/experiment_plans/oav_snapshot_plan.py,sha256=Zvz8j9ZgK6hIYRTkSjYBr1ARLyMRixOsou_wSuR97U4,3647
83
- mx_bluesky/common/experiment_plans/read_hardware.py,sha256=Og7Uz8lAB1_Z6puN6ws_2kwOqCvgQMqfmyZPFZMRneY,2351
84
- mx_bluesky/common/experiment_plans/write_sample_status.py,sha256=pmS4Lsndp90CCIKzD_wssvbzt1qu7rEzfXgxvDwDrQ8,1313
85
86
  mx_bluesky/common/experiment_plans/inner_plans/__init__ .py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
- mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py,sha256=wn2Bi1icVngLQsgHzl6QBGOR5Uw6pZlZSozDlmUv6JM,4786
87
+ mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py,sha256=WjtoyMxpTFSrfFzxxoYKRlRbwRHfEBeEItq82mad0Pw,4807
88
+ mx_bluesky/common/experiment_plans/inner_plans/read_hardware.py,sha256=Og7Uz8lAB1_Z6puN6ws_2kwOqCvgQMqfmyZPFZMRneY,2351
89
+ mx_bluesky/common/experiment_plans/inner_plans/write_sample_status.py,sha256=pmS4Lsndp90CCIKzD_wssvbzt1qu7rEzfXgxvDwDrQ8,1313
87
90
  mx_bluesky/common/external_interaction/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
91
  mx_bluesky/common/external_interaction/config_server.py,sha256=EmvLfOkvoJlnKa0sffAKNICkY26YsQQqY9sYHKmOGzw,2441
89
92
  mx_bluesky/common/external_interaction/callbacks/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -103,16 +106,17 @@ mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py,sh
103
106
  mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py,sha256=64ZA2ACcq8mI9tKG1MMTf46PYdb_B-sul8xQGM56_WA,4709
104
107
  mx_bluesky/common/external_interaction/ispyb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
108
  mx_bluesky/common/external_interaction/ispyb/data_model.py,sha256=HJZPT_j5EMK7-j-0tdaugiS3kDp44_jzvVoP-xcFCsA,2738
106
- mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py,sha256=Y3nZV5NZ-XnYThettFMhZin4dQb5jAZfT2mGmtLlv74,6076
107
- mx_bluesky/common/external_interaction/ispyb/ispyb_store.py,sha256=YMHENdmzzErRc4AxbpgMIGXmULrd6DmiqKfq8rP8fBc,11183
109
+ mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py,sha256=7j7ybxW1CB4WiuaTf4N2ZeeVbNNy7v5aN1KbbcW74wo,6080
110
+ mx_bluesky/common/external_interaction/ispyb/ispyb_store.py,sha256=PVV8MzpDCaUHNX1LtRhHLVcrmVNZVWwxAw3DxhmjE3Q,11396
108
111
  mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py,sha256=5-8wHmY1KvMuRpXUxN5YBCQP3M-Jk-sTcfDm-CC84Mw,732
109
112
  mx_bluesky/common/external_interaction/nexus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
113
  mx_bluesky/common/external_interaction/nexus/nexus_utils.py,sha256=n97KHJJd_C59SOVJHcJ3RbNkvxkoUrF6fIJx3jXBuI0,5580
111
- mx_bluesky/common/external_interaction/nexus/write_nexus.py,sha256=tIz9PFFSiaUs1olbMtLGHddTLj132rEuFSWBK9rOM6Y,4087
112
- mx_bluesky/common/parameters/components.py,sha256=CaeYoNqGm_CYhmvnkO-B9uz9crsVaZD4CXAVrjtai5Y,8280
113
- mx_bluesky/common/parameters/constants.py,sha256=yB-yV2RH8wBueEp6dAl87_JwssKgU8vxjwNbENjbjZA,4426
114
- mx_bluesky/common/parameters/device_composites.py,sha256=aUBH8RozQb-TqNLWXFpjxETSZckPsugcDVwuJTiu8hg,2238
115
- mx_bluesky/common/parameters/gridscan.py,sha256=XHlXi6zSJoag11hrS4_k44v_NZSIdCS-QBveben2nPw,7034
114
+ mx_bluesky/common/external_interaction/nexus/write_nexus.py,sha256=s8xT05_Fn_s64KbPOnR5cm-AooklMKRj2cXxLstl7e0,4067
115
+ mx_bluesky/common/parameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
+ mx_bluesky/common/parameters/components.py,sha256=LKkFiGWEzU3dPHGG_M9gzNu4XUA-0nc7Q3ceRiWJFTk,8536
117
+ mx_bluesky/common/parameters/constants.py,sha256=dEq6rRbifNgX23yIH26ul1KH3_CquMXr7OPPFhuWLpI,4493
118
+ mx_bluesky/common/parameters/device_composites.py,sha256=F_msgzMTzwIYXufkBwRCg47f5-Z4sJlQVbsWnUqjXSw,2253
119
+ mx_bluesky/common/parameters/gridscan.py,sha256=vcSKOBKfAAq1ONTanmzWxm37w48y7WY22Z-xr2ZxqYQ,7064
116
120
  mx_bluesky/common/preprocessors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
121
  mx_bluesky/common/preprocessors/preprocessors.py,sha256=BNpSM7S9gxhVbG39rjH14k89sOmKiII0cqApH3pF_H0,4476
118
122
  mx_bluesky/common/protocols/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -124,53 +128,55 @@ mx_bluesky/common/utils/log.py,sha256=CepibF7U5GnN-ICl4bmhbEwqRzWsSFyfNtBDJejK0e
124
128
  mx_bluesky/common/utils/tracing.py,sha256=stnBZIvPuKiAm2wVc8lFr3ns7V5C52rUigULi9V-IFs,1171
125
129
  mx_bluesky/common/utils/utils.py,sha256=q2uCaK1E8zLVk1BFmj7qlTnQf3JRKjCjyadIVnL1-4M,1180
126
130
  mx_bluesky/hyperion/__init__.py,sha256=f4E8wInL1Ll4eeFtAiyKmipOBTPlUtKmVK-m_LOQG4M,35
127
- mx_bluesky/hyperion/__main__.py,sha256=2TEoxvKU3JaG74rW3VKCf-DQhl6CRl_eZNQ0u5dW6EA,11406
128
- mx_bluesky/hyperion/baton_handler.py,sha256=AC3Qca5d3KdM5eN2nTqA2HmPkN4ZciOuCxtCKLfK0Uc,3276
131
+ mx_bluesky/hyperion/__main__.py,sha256=zRAkEuHCAcVyQrTHr9myJ37AmW1q9Fez5sd2lxddFSw,11415
132
+ mx_bluesky/hyperion/baton_handler.py,sha256=2xcaDuxNOjuqhFMj9EiD_x3P3K7nt1vj8uA0d1mp-to,4429
129
133
  mx_bluesky/hyperion/device_setup_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
130
134
  mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py,sha256=iQawC-nIOVSoMMSYl4mleIkVYs-BaKKMTgOWX4efHTg,4723
131
135
  mx_bluesky/hyperion/device_setup_plans/setup_panda.py,sha256=96eFp4acQLOthe1PA-S14uv635uGVP71DpP7qy_uo40,8509
132
- mx_bluesky/hyperion/device_setup_plans/setup_zebra.py,sha256=_PnV4PyrcoN7_CBi-HLWWNMKMKarpFUTcNcXsEx3sZo,9076
136
+ mx_bluesky/hyperion/device_setup_plans/setup_zebra.py,sha256=e3ocVsncImQIrfL6d0UoH5fCl8AR0pM_4AIXSxc8dgQ,5749
133
137
  mx_bluesky/hyperion/device_setup_plans/smargon.py,sha256=9znQLGF8Uqif1SZ_H4GyqcnhR3xCI1FIniCaGLRY3zM,758
134
138
  mx_bluesky/hyperion/device_setup_plans/utils.py,sha256=96JlzyikMhWN7LzdiMx8URZInXoGR3OjoxYmCIp9tts,425
135
139
  mx_bluesky/hyperion/experiment_plans/__init__.py,sha256=dJjwLk0EQP-1hKhbs8aRxTF_LxUXgB7kcgDlaP-tMnk,787
136
140
  mx_bluesky/hyperion/experiment_plans/experiment_registry.py,sha256=bGp2c3nKutqHMnDxuqjp6yCF-JKykSzX-IUfxk3oVlM,1701
137
- mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py,sha256=mcYelTj8CoUW_FMGsvlLcTkCR0dLX6GP8PrFYNIshdo,6576
141
+ mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py,sha256=OZq6cYajQEbCXuOFzw2h-YoGju3J0nYzitgFW5mCc9U,5908
138
142
  mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.py,sha256=e4w4226ONSGQF2dnXzxOfcJ9i57CZIJrqQ1YCLlaBNo,2153
139
- mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py,sha256=kdp1dWh4g-w9Bob3L7VoiTDAVNkxwrvKvSGcEMzZCBc,6177
143
+ mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py,sha256=G_r8NIHkvRpC8jGYPYZAtG6uVPTwzlH1P2Akd2ykP4o,6877
140
144
  mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py,sha256=5ZAH17F5T1YyVgA2ML0NEf4ufrD1G0jPRU0_5pINdTg,16195
141
145
  mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py,sha256=oErbq4ffTZVNR_LeiSJP8_q4cwdZWB-bdbrO3ZwKg20,5397
142
146
  mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py,sha256=FP_tAhq7Txljbxvvr3eEMoapDtXj8siPyWd9qcYevBg,6247
143
- mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py,sha256=imANEAVswFFaMqTISRXSe0BwcUkQ1sIT8O-WnKsxhqM,8082
144
- mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py,sha256=owF7A9xDv5ZaPOqbe_5IWNTw9fs2pMMCRuxDK30vi_U,6902
145
- mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py,sha256=W9YxG_SCWKhM4xPLWK1c2Nrum-155k3yJujk7gd9V_4,15857
147
+ mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py,sha256=AFQtQ-goN7cbMXiYaxd3-PSDKG2llnMr0dKkYdbCIB4,5942
148
+ mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py,sha256=II-4v2AOyC7QbCqLZFSq1fT1OjWSg8P5MmSQFzQI0D0,6892
149
+ mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py,sha256=ymYtfLvB2A4Ux_FV_kIRtY35IFF8OoE4Iv9zSpTpyWI,15925
146
150
  mx_bluesky/hyperion/experiment_plans/set_energy_plan.py,sha256=8FAqN-aJgRwZSiCX-hNdeGmaijt0l8owdShVBwNchfE,2643
147
151
  mx_bluesky/hyperion/external_interaction/__init__.py,sha256=95DwXDmKsx36RgAL-AtLZl2LQoLPKbzeYdlkkP_4Coc,559
148
- mx_bluesky/hyperion/external_interaction/agamemnon.py,sha256=Bh6vIg3edjjKmWKZj_IDFYDmGN5pC_FeCCgSFJQiUKc,9984
149
- mx_bluesky/hyperion/external_interaction/config_server.py,sha256=_nHoHcEXhKSFTszTu57Y5FSCP5Xogmyy8FVwYRraAy4,2146
152
+ mx_bluesky/hyperion/external_interaction/agamemnon.py,sha256=y80qaZ43fwUdDBDkRYs7yJH1I8zXVla_7GTnRkXBOnQ,9959
153
+ mx_bluesky/hyperion/external_interaction/config_server.py,sha256=mVBSrqFCnyW92QN1Jeiljm1QbyYH1IJE5QZwARuHu08,1592
150
154
  mx_bluesky/hyperion/external_interaction/callbacks/__init__.py,sha256=1XHaxDljMveu_DYIlk7n963gHffyC6r4C_RhF6HA-N8,283
151
- mx_bluesky/hyperion/external_interaction/callbacks/__main__.py,sha256=1Uu4oT-qnJb2LHQinHrLvN0zBTuz0EZ8HEmqfFrAJE4,6155
152
- mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py,sha256=Yg9i9YNeQLll9KEtic5omAqZohrlQ4DXdhp0fjGNz5U,11581
153
- mx_bluesky/hyperion/external_interaction/callbacks/robot_load/ispyb_callback.py,sha256=7xSvCd95tXjvmsbFLecI1hEwJj_rm8yGuJJ1Pmg-RKU,4142
155
+ mx_bluesky/hyperion/external_interaction/callbacks/__main__.py,sha256=QS4XSLH2KEFWINzs1BweIbDO_gxSfp8tEMa6Y83mSRY,6158
156
+ mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py,sha256=ee1ZIJGp8RQakMDYRfflXjSwi-UgxqdZNkZ1azBIDGQ,11705
157
+ mx_bluesky/hyperion/external_interaction/callbacks/robot_actions/ispyb_callback.py,sha256=Ta8w0W_3LI0PGpwxKlQsS7X0B_hsfJoZdzR2K3J0KHo,4467
154
158
  mx_bluesky/hyperion/external_interaction/callbacks/rotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
155
- mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py,sha256=KJ1lXurzvvy7eS0W3KDXfnsWzbftsjBUxR0SS0rC0Mg,7460
159
+ mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py,sha256=-0fz1Fw2zm8JXvZWkHTNRPirO2q3Ha0rb3Ug7eJ-xI4,7456
156
160
  mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py,sha256=bba5ZHoOMqvSCUXJIxbx55HGhaoC_Jqhyxxb-ttqt5g,801
157
161
  mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py,sha256=QxLjRqoKSmEC9TbTK6mufbWXRcmzLfe9xZclEhUbxIw,4736
158
162
  mx_bluesky/hyperion/parameters/__init__.py,sha256=kf2wfcILBUBpT0tJ8-W39BywQUkn67yxl9IVsfrr1LE,115
159
163
  mx_bluesky/hyperion/parameters/cli.py,sha256=zciAE1-7Ahx0B8-RNNk25hB40xBMrmrR7cK1GbEDgaM,1177
160
164
  mx_bluesky/hyperion/parameters/components.py,sha256=uXxdW6nIE1VZnh4ZXe5O-LOwsx4MbENEWfLGm2ACvsI,313
161
- mx_bluesky/hyperion/parameters/constants.py,sha256=080UlGZb4QliXyP64XsYcZRzmydPnKW83AmJodKQcs4,1815
165
+ mx_bluesky/hyperion/parameters/constants.py,sha256=_-8nlAGAWDBAFRauk2G9rQjE3raSvES6QzdIUKQDKBM,1645
162
166
  mx_bluesky/hyperion/parameters/device_composites.py,sha256=wXr0VH66Qm5xT0WBBy4hmXjONrAxieP3aAFdt0rM6kY,2139
163
- mx_bluesky/hyperion/parameters/gridscan.py,sha256=LcKfL8LUrQlEeehxawL_GebUxVyKYCJuJysMp5W0t_s,3799
164
- mx_bluesky/hyperion/parameters/load_centre_collect.py,sha256=1KsL9pk1iJAmCJIn6R560tkrh4hU2pp7dFKVbVb-zYU,3673
167
+ mx_bluesky/hyperion/parameters/gridscan.py,sha256=snER6auUYTdj31Qa_sjp7zPIpXMo_lwLq7Ugn-YlG6k,3663
168
+ mx_bluesky/hyperion/parameters/load_centre_collect.py,sha256=bT4jXBPKeOTfi3U2lECJ-bbKLkmlCz_MMydqdbCE4xI,4361
165
169
  mx_bluesky/hyperion/parameters/robot_load.py,sha256=DSOwIosO629WoXbVFokEjmgqKZz3xzv0feRQHC_ZgpI,1233
166
- mx_bluesky/hyperion/parameters/rotation.py,sha256=wziJtpx9bgBbNsqwVs8fVZlAOflOEoiRzSvgtmB_1b8,7462
170
+ mx_bluesky/hyperion/parameters/rotation.py,sha256=Ws3iic17Btmleatc5PStL_N8iO41kVe2UtZ1I8F2Uz8,7546
167
171
  mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml,sha256=mhLBJTSjHCkM9F6mjtqbhNmmrV8qSctbCUfhb0q7pYo,28085
168
172
  mx_bluesky/hyperion/utils/__init__.py,sha256=f4E8wInL1Ll4eeFtAiyKmipOBTPlUtKmVK-m_LOQG4M,35
169
- mx_bluesky/hyperion/utils/context.py,sha256=TXvARIUZNLcz-KY_-xPkQvK-tMe1sV_cjFDh6IqPgfo,568
170
- mx_bluesky/hyperion/utils/validation.py,sha256=6qsOCepeo9_Vu4byG5a4GKAaiFL2J3M_fm68FIDupDw,6661
171
- mx_bluesky-1.5.0.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
172
- mx_bluesky-1.5.0.dist-info/METADATA,sha256=qo3fn77_GrDSVi_RIq_-tk7xVcaJ0DI7g28Kckqx4_E,17361
173
- mx_bluesky-1.5.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
174
- mx_bluesky-1.5.0.dist-info/entry_points.txt,sha256=-hM2jXf6TAwgqnUHaEVx02j7sdB0L_WaeHW_tIRuj6o,600
175
- mx_bluesky-1.5.0.dist-info/top_level.txt,sha256=S4rrzXIUef58ulf_04wn01XGZ3xeJjXs4LPEJ_xoF-I,11
176
- mx_bluesky-1.5.0.dist-info/RECORD,,
173
+ mx_bluesky/hyperion/utils/context.py,sha256=yxMYn3YFET6SanFZ4YWXDmZDdp3WkaXhDc3ySxHYpAE,1033
174
+ mx_bluesky/phase1_zebra/__init__.py,sha256=Edhhn2L9MVXnjJhyD5_yKQVUDo7XW98rvuT7dlzIn58,132
175
+ mx_bluesky/phase1_zebra/device_setup_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
+ mx_bluesky/phase1_zebra/device_setup_plans/setup_zebra.py,sha256=zfEnDvh5Rh9cPmg_Q_0EnJOZNIwIGmHeIDiJ9kg9Z4c,4129
177
+ mx_bluesky-1.5.2.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
178
+ mx_bluesky-1.5.2.dist-info/METADATA,sha256=Ao71REUS-SrRGSViHIXTrKwF-wP1MRp5e5eG_H6uAoM,17392
179
+ mx_bluesky-1.5.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
180
+ mx_bluesky-1.5.2.dist-info/entry_points.txt,sha256=-hM2jXf6TAwgqnUHaEVx02j7sdB0L_WaeHW_tIRuj6o,600
181
+ mx_bluesky-1.5.2.dist-info/top_level.txt,sha256=S4rrzXIUef58ulf_04wn01XGZ3xeJjXs4LPEJ_xoF-I,11
182
+ mx_bluesky-1.5.2.dist-info/RECORD,,
@@ -1,196 +0,0 @@
1
- import gzip
2
- import json
3
- import os
4
- import shutil
5
- from pathlib import Path
6
-
7
- import bluesky.preprocessors as bpp
8
- from bluesky.run_engine import RunEngine
9
- from dodal.beamlines import i03
10
- from dodal.devices.oav.oav_detector import OAVConfigBeamCentre
11
- from ophyd_async.testing import set_mock_value
12
-
13
- from mx_bluesky.common.experiment_plans.read_hardware import (
14
- standard_read_hardware_during_collection,
15
- )
16
- from mx_bluesky.hyperion.experiment_plans.rotation_scan_plan import (
17
- RotationScanComposite,
18
- )
19
- from mx_bluesky.hyperion.external_interaction.callbacks.rotation.nexus_callback import (
20
- RotationNexusFileCallback,
21
- )
22
- from mx_bluesky.hyperion.parameters.constants import CONST
23
- from mx_bluesky.hyperion.parameters.rotation import RotationScan
24
-
25
- DISPLAY_CONFIGURATION = "tests/test_data/test_display.configuration"
26
- ZOOM_LEVELS_XML = "tests/test_data/test_jCameraManZoomLevels.xml"
27
- TEST_DATA_DIRECTORY = Path("tests/test_data/nexus_files/rotation")
28
- TEST_METAFILE = "ins_8_5_meta.h5.gz"
29
- FAKE_DATAFILE = "../fake_data.h5"
30
- FILENAME_STUB = "test_rotation_nexus"
31
-
32
-
33
- def test_params(filename_stub, dir):
34
- def get_params(filename):
35
- with open(filename) as f:
36
- return json.loads(f.read())
37
-
38
- params = RotationScan(
39
- **get_params(
40
- "tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters.json"
41
- )
42
- )
43
- for scan_params in params.rotation_scans:
44
- scan_params.x_start_um = 0
45
- scan_params.y_start_um = 0
46
- scan_params.z_start_um = 0
47
- scan_params.scan_width_deg = 360
48
- params.file_name = filename_stub
49
- params.demand_energy_ev = 12700
50
- params.storage_directory = str(dir)
51
- params.exposure_time_s = 0.004
52
- return params
53
-
54
-
55
- def fake_rotation_scan(
56
- parameters: RotationScan,
57
- subscription: RotationNexusFileCallback,
58
- rotation_devices: RotationScanComposite,
59
- ):
60
- single_scan_parameters = next(parameters.single_rotation_scans)
61
-
62
- @bpp.subs_decorator(subscription)
63
- @bpp.set_run_key_decorator("rotation_scan_with_cleanup_and_subs")
64
- @bpp.run_decorator( # attach experiment metadata to the start document
65
- md={
66
- "subplan_name": CONST.PLAN.ROTATION_OUTER,
67
- "mx_bluesky_parameters": single_scan_parameters.model_dump_json(),
68
- "activate_callbacks": "RotationNexusFileCallback",
69
- }
70
- )
71
- def plan():
72
- yield from standard_read_hardware_during_collection(
73
- rotation_devices.aperture_scatterguard,
74
- rotation_devices.attenuator,
75
- rotation_devices.flux,
76
- rotation_devices.dcm,
77
- rotation_devices.eiger,
78
- )
79
-
80
- return plan()
81
-
82
-
83
- def fake_create_rotation_devices():
84
- beamstop = i03.beamstop(connect_immediately=True, mock=True)
85
- eiger = i03.eiger(connect_immediately=True, mock=True)
86
- smargon = i03.smargon(connect_immediately=True, mock=True)
87
- zebra = i03.zebra(connect_immediately=True, mock=True)
88
- detector_motion = i03.detector_motion(connect_immediately=True, mock=True)
89
- backlight = i03.backlight(mock=True)
90
- attenuator = i03.attenuator(connect_immediately=True, mock=True)
91
- flux = i03.flux(connect_immediately=True, mock=True)
92
- undulator = i03.undulator(connect_immediately=True, mock=True)
93
- aperture_scatterguard = i03.aperture_scatterguard(
94
- connect_immediately=True, mock=True
95
- )
96
- synchrotron = i03.synchrotron(connect_immediately=True, mock=True)
97
- s4_slit_gaps = i03.s4_slit_gaps(connect_immediately=True, mock=True)
98
- dcm = i03.dcm(connect_immediately=True, mock=True)
99
- robot = i03.robot(connect_immediately=True, mock=True)
100
- oav = i03.oav(
101
- connect_immediately=True,
102
- mock=True,
103
- params=OAVConfigBeamCentre(ZOOM_LEVELS_XML, DISPLAY_CONFIGURATION),
104
- )
105
- xbpm_feedback = i03.xbpm_feedback(connect_immediately=True, mock=True)
106
-
107
- set_mock_value(smargon.omega.max_velocity, 131)
108
- set_mock_value(dcm.energy_in_kev.user_readback, 12700)
109
-
110
- return RotationScanComposite(
111
- attenuator=attenuator,
112
- backlight=backlight,
113
- beamstop=beamstop,
114
- dcm=dcm,
115
- detector_motion=detector_motion,
116
- eiger=eiger,
117
- flux=flux,
118
- smargon=smargon,
119
- undulator=undulator,
120
- aperture_scatterguard=aperture_scatterguard,
121
- synchrotron=synchrotron,
122
- s4_slit_gaps=s4_slit_gaps,
123
- zebra=zebra,
124
- robot=robot,
125
- oav=oav,
126
- sample_shutter=i03.sample_shutter(connect_immediately=True, mock=True),
127
- xbpm_feedback=xbpm_feedback,
128
- )
129
-
130
-
131
- def sim_rotation_scan_to_create_nexus(
132
- test_params: RotationScan,
133
- fake_create_rotation_devices: RotationScanComposite,
134
- filename_stub,
135
- RE,
136
- ):
137
- run_number = test_params.detector_params.run_number
138
- nexus_filename = f"{filename_stub}_{run_number}.nxs"
139
-
140
- fake_create_rotation_devices.eiger.bit_depth.sim_put(32) # type: ignore
141
-
142
- RE(
143
- fake_rotation_scan(
144
- test_params, RotationNexusFileCallback(), fake_create_rotation_devices
145
- )
146
- )
147
-
148
- nexus_path = Path(test_params.storage_directory) / nexus_filename
149
- assert os.path.isfile(nexus_path)
150
- return filename_stub, run_number
151
-
152
-
153
- def extract_metafile(input_filename, output_filename):
154
- with gzip.open(input_filename) as metafile_fo:
155
- with open(output_filename, "wb") as output_fo:
156
- output_fo.write(metafile_fo.read())
157
-
158
-
159
- def _generate_fake_nexus(filename, dir=os.getcwd()):
160
- RE = RunEngine({})
161
- params = test_params(filename, dir)
162
- run_number = params.detector_params.run_number
163
- filename_stub, run_number = sim_rotation_scan_to_create_nexus(
164
- params, fake_create_rotation_devices(), filename, RE
165
- )
166
- return filename_stub, run_number
167
-
168
-
169
- def generate_test_nexus():
170
- filename_stub, run_number = _generate_fake_nexus(FILENAME_STUB)
171
- # ugly hack because we get double free error on exit
172
- with open("OUTPUT_FILENAME", "x") as f:
173
- f.write(f"{filename_stub}_{run_number}.nxs")
174
-
175
- extract_metafile(
176
- str(TEST_DATA_DIRECTORY / TEST_METAFILE),
177
- f"{FILENAME_STUB}_{run_number}_meta.h5",
178
- )
179
-
180
- new_hyp_data = [f"{FILENAME_STUB}_{run_number}_00000{n}.h5" for n in [1, 2, 3, 4]]
181
- [shutil.copy(TEST_DATA_DIRECTORY / FAKE_DATAFILE, d) for d in new_hyp_data]
182
-
183
- exit(0)
184
-
185
-
186
- def copy_test_meta_data_files():
187
- extract_metafile(
188
- str(TEST_DATA_DIRECTORY / TEST_METAFILE),
189
- f"{TEST_DATA_DIRECTORY}/ins_8_5_meta.h5",
190
- )
191
- new_data = [f"{TEST_DATA_DIRECTORY}/ins_8_5_00000{n}.h5" for n in [1, 2, 3, 4]]
192
- [shutil.copy(TEST_DATA_DIRECTORY / FAKE_DATAFILE, d) for d in new_data]
193
-
194
-
195
- if __name__ == "__main__":
196
- generate_test_nexus()