pychemstation 0.10.10__tar.gz → 0.10.12__tar.gz
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.
- pychemstation-0.10.12/.git +1 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/.pre-commit-config.yaml +7 -1
- {pychemstation-0.10.10 → pychemstation-0.10.12}/PKG-INFO +2 -2
- {pychemstation-0.10.10 → pychemstation-0.10.12}/README.md +1 -1
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/control/controllers/comm.py +1 -1
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/control/controllers/data_aq/method.py +128 -211
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/control/controllers/data_aq/sequence.py +74 -51
- pychemstation-0.10.12/pychemstation/control/controllers/devices/column.py +61 -0
- pychemstation-0.10.12/pychemstation/control/controllers/devices/dad.py +85 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/control/controllers/devices/injector.py +20 -12
- pychemstation-0.10.12/pychemstation/control/controllers/devices/pump.py +131 -0
- pychemstation-0.10.12/pychemstation/control/controllers/devices/sample_info.py +27 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/control/hplc.py +36 -12
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/abc_tables/device.py +17 -3
- pychemstation-0.10.12/pychemstation/utils/abc_tables/table.py +324 -0
- pychemstation-0.10.12/pychemstation/utils/device_types.py +73 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/macro.py +2 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/table_types.py +65 -8
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pyproject.toml +1 -1
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/constants.py +2 -14
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/dtypes/test_abc.py +3 -1
- pychemstation-0.10.12/tests/edit/test_edit_col.py +63 -0
- pychemstation-0.10.12/tests/edit/test_edit_dad.py +50 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/edit/test_edit_method.py +3 -5
- pychemstation-0.10.12/tests/load/test_load_column.py +48 -0
- pychemstation-0.10.12/tests/load/test_load_dad.py +41 -0
- pychemstation-0.10.12/tests/load/test_load_pump.py +46 -0
- pychemstation-0.10.12/tests/load/test_load_sample_info.py +37 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/load/test_switch_sequence.py +3 -5
- {pychemstation-0.10.10 → pychemstation-0.10.12}/uv.lock +546 -517
- pychemstation-0.10.10/out.txt +0 -511
- pychemstation-0.10.10/pychemstation/utils/abc_tables/table.py +0 -233
- pychemstation-0.10.10/pychemstation/utils/device_types.py +0 -7
- pychemstation-0.10.10/tests/comm/out.txt +0 -309
- pychemstation-0.10.10/tests/load/test_load_dad.py +0 -0
- pychemstation-0.10.10/tests/load/test_load_sample_info.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/.gitignore +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/.gitlab-ci.yml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/CHANGELOG.md +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/CONTRIBUTING.md +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/LICENSE +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/branch-rename.sh +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/doc/index.html +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/doc/pychemstation/analysis/base_spectrum.html +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/doc/pychemstation/analysis/spec_utils.html +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/doc/pychemstation/analysis/utils.html +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/doc/pychemstation/analysis.html +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/doc/pychemstation/control/chromatogram.html +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/doc/pychemstation/control/hplc.html +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/doc/pychemstation/control.html +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/doc/pychemstation/generated.html +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/doc/pychemstation/utils/chemstation.html +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/doc/pychemstation/utils/constants.html +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/doc/pychemstation/utils/hplc_param_types.html +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/doc/pychemstation/utils.html +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/doc/pychemstation.html +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/doc/search.js +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/__init__.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/analysis/__init__.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/analysis/base_spectrum.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/analysis/chromatogram.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/analysis/process_report.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/control/README.md +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/control/__init__.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/control/controllers/README.md +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/control/controllers/__init__.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/control/controllers/data_aq/__init__.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/control/controllers/devices/__init__.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/generated/__init__.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/generated/dad_method.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/generated/pump_method.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/__init__.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/abc_tables/__init__.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/abc_tables/abc_comm.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/abc_tables/run.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/injector_types.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/method_types.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/mocking/__init__.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/mocking/mock_comm.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/mocking/mock_hplc.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/num_utils.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/parsing.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/sequence_types.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/spec_utils.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/utils/tray_types.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation.egg-info/PKG-INFO +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation.egg-info/SOURCES.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation.egg-info/dependency_links.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation.egg-info/requires.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation.egg-info/top_level.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/__init__.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/comm/test_dirs.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/comm/test_hplc_comm.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/edit/test_edit_sequence.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/0_2025-03-15 19-14-35.PDF +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/ACQRES.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/CSlbk.ini +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DA.M/DAMETHOD.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DA.M/INFO.MTH +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DA.M/RECALIB.MTH +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DA.M/rpthead.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DAD1.UV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DAD1A.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DAD1A.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DAD1B.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DAD1B.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DAD1C.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DAD1C.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DAD1D.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DAD1D.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DAD1E.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DAD1E.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/DiagResults.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/PMP1.AnalyticalResults.drvml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/REPORT01.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/REPORT02.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/REPORT03.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/REPORT04.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/REPORT05.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/RUN.LOG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/Report.TXT +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/Report00.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/Report01.xls +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/SAMPLE.XML +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/SAMPLE.XML.bak +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/WLS1.Sampler.scml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/acq.macaml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/acq.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/acq_MethHist.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/acq_damethod.reg +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/da.macaml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/lcdiag.reg +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/sample.acaml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/0_2025-03-15 19-14-35.D/single.B +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/ACQRES.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/AUTOMATICALLY_GENERATED_REPORT01.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/AUTOMATICALLY_GENERATED_REPORT02.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/AUTOMATICALLY_GENERATED_REPORT03.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/AUTOMATICALLY_GENERATED_REPORT04.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/AUTOMATICALLY_GENERATED_REPORT05.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/Automatically_Generated_Report.TXT +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/Automatically_Generated_Report00.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/CSlbk.ini +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DA.M/DAMETHOD.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DA.M/INFO.MTH +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DA.M/RECALIB.MTH +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DA.M/rpthead.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1.UV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1A.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1A.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1B.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1B.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1C.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1C.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1D.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1D.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1E.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1E.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1F.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1F.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1G.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1G.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1H.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DAD1H.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/DiagResults.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/Limsinf.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/PMP1.AnalyticalResults.drvml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/RUN.LOG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/SAMPLE.XML +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/SAMPLE.XML.bak +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/WLS1.Sampler.scml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/acq.macaml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/acq.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/acq_MethHist.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/acq_damethod.reg +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/da.macaml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/lcdiag.reg +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/sample.acaml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/10 IS 2025-02-10 23-41-33_10_2025-02-11 02-21-44.D/single.B +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/CSlbk.ini +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/ACQ.MS +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/Agilent1200erDadDriver1.RapidControl.ConfigXML.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/Agilent1200erDadDriver1.RapidControl.MethodMetaData.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/Agilent1200erDadDriver1.RapidControl.MethodXML.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentColumnCompDriver1.RapidControl.ConfigXML.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentColumnCompDriver1.RapidControl.MethodMetaData.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentColumnCompDriver1.RapidControl.MethodXML.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentPumpDriver1.RapidControl.ConfigXML.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentPumpDriver1.RapidControl.MethodMetaData.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentPumpDriver1.RapidControl.MethodXML.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentSamplerDriver1.RapidControl.ConfigXML.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentSamplerDriver1.RapidControl.MethodMetaData.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentSamplerDriver1.RapidControl.MethodXML.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/AgilentSamplerDriver1.RapidControl.PretreatXML.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/DAMETHOD.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/FIA.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/INFO.MTH +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/INJECTOR.MTH +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/MassHunterIntegration.ini +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/RECALIB.MTH +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/RapidControl.InstrumentConfig.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/rpthead.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/GENERAL-POROSHELL-OPT.M/smpl_pur.mth +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/Methods.Reg +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/hplc_testing.B +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/hplc_testing.LOG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/hplc_testing.S +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/hplc_testing.Start +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/ACQRES.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/CSlbk.ini +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DA.M/DAMETHOD.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DA.M/INFO.MTH +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DA.M/RECALIB.MTH +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DA.M/rpthead.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1.UV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1A.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1A.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1B.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1B.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1C.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1C.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1D.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1D.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1E.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DAD1E.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/DiagResults.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/Limsinf.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/PMP1.AnalyticalResults.drvml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/REPORT01.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/REPORT02.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/REPORT03.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/REPORT04.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/REPORT05.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/RUN.LOG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/Report.TXT +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/Report00.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/Report01.xls +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/SAMPLE.XML +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/SAMPLE.XML.bak +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/WLS1.Sampler.scml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/acq.macaml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/acq.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/acq_MethHist.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/acq_damethod.reg +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/da.macaml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/hplc_testing 2025-03-27 17-13-47_run seq with new method.PDF +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/lcdiag.reg +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method.D/sequence.acam_ +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/ACQRES.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/CSlbk.ini +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DA.M/DAMETHOD.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DA.M/INFO.MTH +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DA.M/RECALIB.MTH +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DA.M/rpthead.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DAD1.UV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DAD1A.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DAD1A.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DAD1B.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DAD1B.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DAD1C.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DAD1C.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DAD1D.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DAD1D.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DAD1E.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DAD1E.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/DiagResults.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/Limsinf.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/PMP1.AnalyticalResults.drvml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/REPORT01.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/REPORT02.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/REPORT03.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/REPORT04.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/REPORT05.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/RUN.LOG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/Report.TXT +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/Report00.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/Report01.xls +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/SAMPLE.XML +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/SAMPLE.XML.bak +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/WLS1.Sampler.scml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/acq.macaml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/acq.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/acq_MethHist.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/acq_damethod.reg +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/da.macaml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/hplc_testing 2025-03-27 17-13-47_run seq with new method.PDF +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/lcdiag.reg +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method1.D/sequence.acam_ +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/ACQRES.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/CSlbk.ini +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DA.M/DAMETHOD.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DA.M/INFO.MTH +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DA.M/RECALIB.MTH +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DA.M/rpthead.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DAD1.UV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DAD1A.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DAD1A.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DAD1B.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DAD1B.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DAD1C.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DAD1C.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DAD1D.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DAD1D.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DAD1E.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DAD1E.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/DiagResults.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/Limsinf.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/PMP1.AnalyticalResults.drvml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/REPORT01.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/REPORT02.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/REPORT03.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/REPORT04.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/REPORT05.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/RUN.LOG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/Report.TXT +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/Report00.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/Report01.xls +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/SAMPLE.XML +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/SAMPLE.XML.bak +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/WLS1.Sampler.scml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/acq.macaml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/acq.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/acq_MethHist.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/acq_damethod.reg +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/da.macaml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/hplc_testing 2025-03-27 17-13-47_run seq with new method.PDF +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/lcdiag.reg +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method2.D/sequence.acam_ +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/ACQRES.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/CSlbk.ini +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DA.M/DAMETHOD.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DA.M/INFO.MTH +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DA.M/RECALIB.MTH +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DA.M/rpthead.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DAD1.UV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DAD1A.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DAD1A.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DAD1B.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DAD1B.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DAD1C.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DAD1C.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DAD1D.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DAD1D.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DAD1E.ch +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DAD1E.npz +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/DiagResults.REG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/Limsinf.xml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/PMP1.AnalyticalResults.drvml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/REPORT01.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/REPORT02.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/REPORT03.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/REPORT04.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/REPORT05.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/RUN.LOG +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/Report.TXT +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/Report00.CSV +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/Report01.xls +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/SAMPLE.XML +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/SAMPLE.XML.bak +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/WLS1.Sampler.scml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/acq.macaml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/acq.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/acq_MethHist.txt +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/acq_damethod.reg +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/da.macaml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/hplc_testing 2025-03-27 17-13-47_run seq with new method.PDF +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/lcdiag.reg +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/run seq with new method3.D/sequence.acam_ +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/hplc_testing 2025-03-27 17-13-47/sequence.acaml +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/files/test_offline.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/hplc_talk.mac +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/load/test_load_bottles.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/load/test_load_injector.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/load/test_switch_method.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/run/test_run_method.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/run/test_run_sequence.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/tests/test_integration.py +0 -0
- {pychemstation-0.10.10 → pychemstation-0.10.12}/update-lib.sh +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
gitdir: /Users/lucyhao/Codes/hein-lab/pychemstation-worktree/pychemstation/.git/worktrees/v0.10.x
|
@@ -11,4 +11,10 @@ repos:
|
|
11
11
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
12
12
|
rev: v1.15.0
|
13
13
|
hooks:
|
14
|
-
- id: mypy
|
14
|
+
- id: mypy
|
15
|
+
- repo: local
|
16
|
+
hooks:
|
17
|
+
- id: delete-debug-files
|
18
|
+
name: delete-debug-files
|
19
|
+
entry: bash -c 'find . -name "out.txt" -type f -delete'
|
20
|
+
language: system
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: pychemstation
|
3
|
-
Version: 0.10.
|
3
|
+
Version: 0.10.12
|
4
4
|
Summary: Library to interact with Chemstation software, primarily used in Hein lab
|
5
5
|
Project-URL: Documentation, https://pychemstation-e5a086.gitlab.io/pychemstation.html
|
6
6
|
Project-URL: Repository, https://gitlab.com/heingroup/device-api/pychemstation
|
@@ -23,7 +23,7 @@ Requires-Dist: scipy>=1.10.1
|
|
23
23
|
Requires-Dist: xsdata>=24.9
|
24
24
|
Description-Content-Type: text/markdown
|
25
25
|
|
26
|
-
#
|
26
|
+
# pychemstation: A Python package for automated control of Chemstation using MACROs
|
27
27
|
|
28
28
|

|
29
29
|
|
@@ -54,7 +54,7 @@ class CommunicationController(ABCCommunicationController):
|
|
54
54
|
raise RuntimeError("Failed to get number.")
|
55
55
|
|
56
56
|
def get_text_val(self, cmd: str) -> str:
|
57
|
-
tries =
|
57
|
+
tries = 5
|
58
58
|
for _ in range(tries):
|
59
59
|
self.send(Command.GET_TEXT_VAL_CMD.value.format(cmd=cmd))
|
60
60
|
res = self.receive()
|
{pychemstation-0.10.10 → pychemstation-0.10.12}/pychemstation/control/controllers/data_aq/method.py
RENAMED
@@ -5,12 +5,16 @@ import time
|
|
5
5
|
import warnings
|
6
6
|
from typing import Dict, List, Optional, Union, Tuple
|
7
7
|
|
8
|
-
from result import Err,
|
8
|
+
from result import Err, Result, Ok
|
9
9
|
|
10
|
-
from
|
10
|
+
from ..devices.column import ColumnController
|
11
|
+
from ..devices.dad import DADController
|
12
|
+
from ..devices.pump import PumpController
|
13
|
+
from ..devices.sample_info import SampleInfo
|
14
|
+
from ....analysis.chromatogram import (
|
11
15
|
TIME_FORMAT,
|
12
|
-
AgilentChannelChromatogramData,
|
13
16
|
AgilentHPLCChromatogram,
|
17
|
+
AgilentChannelChromatogramData,
|
14
18
|
)
|
15
19
|
|
16
20
|
from ....analysis.process_report import AgilentReport, ReportType
|
@@ -20,12 +24,13 @@ from ....utils.macro import Command
|
|
20
24
|
from ....utils.method_types import (
|
21
25
|
HPLCMethodParams,
|
22
26
|
MethodDetails,
|
27
|
+
TimeTableEntry,
|
23
28
|
Param,
|
24
29
|
PType,
|
25
|
-
TimeTableEntry,
|
26
30
|
)
|
27
|
-
from ....utils.table_types import RegisterFlag, T, Table
|
31
|
+
from ....utils.table_types import RegisterFlag, T, Table
|
28
32
|
from ..devices.injector import InjectorController
|
33
|
+
from ....utils.tray_types import Tray
|
29
34
|
|
30
35
|
|
31
36
|
class MethodController(RunController):
|
@@ -38,9 +43,17 @@ class MethodController(RunController):
|
|
38
43
|
data_dirs: Optional[List[str]],
|
39
44
|
table: Table,
|
40
45
|
offline: bool,
|
41
|
-
|
46
|
+
injector: InjectorController,
|
47
|
+
pump: PumpController,
|
48
|
+
dad: DADController,
|
49
|
+
column: ColumnController,
|
50
|
+
sample_info: SampleInfo,
|
42
51
|
):
|
43
|
-
self.
|
52
|
+
self.injector = injector
|
53
|
+
self.pump = pump
|
54
|
+
self.dad = dad
|
55
|
+
self.column = column
|
56
|
+
self.sample_info = sample_info
|
44
57
|
self.data_files: List[str] = []
|
45
58
|
super().__init__(
|
46
59
|
controller=controller,
|
@@ -50,6 +63,9 @@ class MethodController(RunController):
|
|
50
63
|
offline=offline,
|
51
64
|
)
|
52
65
|
|
66
|
+
def get_sample_location(self) -> Tray:
|
67
|
+
return self.sample_info.get_location()
|
68
|
+
|
53
69
|
def get_current_method_name(self) -> str:
|
54
70
|
self.sleepy_send(Command.GET_METHOD_CMD)
|
55
71
|
res = self.receive()
|
@@ -60,18 +76,8 @@ class MethodController(RunController):
|
|
60
76
|
def get_method_params(self) -> HPLCMethodParams:
|
61
77
|
if self.controller:
|
62
78
|
return HPLCMethodParams(
|
63
|
-
organic_modifier=self.
|
64
|
-
|
65
|
-
register=self.table_locator.register,
|
66
|
-
register_flag=RegisterFlag.SOLVENT_B_COMPOSITION,
|
67
|
-
)
|
68
|
-
),
|
69
|
-
flow=self.controller.get_num_val(
|
70
|
-
cmd=TableOperation.GET_OBJ_HDR_VAL.value.format(
|
71
|
-
register=self.table_locator.register,
|
72
|
-
register_flag=RegisterFlag.FLOW,
|
73
|
-
)
|
74
|
-
),
|
79
|
+
organic_modifier=self.get_om(),
|
80
|
+
flow=self.get_flow(),
|
75
81
|
)
|
76
82
|
raise ValueError("Communication controller is offline!")
|
77
83
|
|
@@ -114,23 +120,20 @@ class MethodController(RunController):
|
|
114
120
|
return entries
|
115
121
|
|
116
122
|
def load(self) -> MethodDetails:
|
117
|
-
rows = self.
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
return self.table_state
|
132
|
-
else:
|
133
|
-
raise RuntimeError(rows.err_value)
|
123
|
+
rows = self.get_row_count_safely()
|
124
|
+
method_name = self.get_method_name()
|
125
|
+
timetable_rows = self.get_timetable(rows)
|
126
|
+
params = self.get_method_params()
|
127
|
+
stop_time = self.get_stop_time()
|
128
|
+
post_time = self.get_post_time()
|
129
|
+
self.table_state = MethodDetails(
|
130
|
+
name=method_name,
|
131
|
+
timetable=timetable_rows,
|
132
|
+
stop_time=stop_time,
|
133
|
+
post_time=post_time,
|
134
|
+
params=params,
|
135
|
+
)
|
136
|
+
return self.table_state
|
134
137
|
|
135
138
|
def get_method_name(self):
|
136
139
|
self.send(Command.GET_METHOD_CMD)
|
@@ -138,26 +141,6 @@ class MethodController(RunController):
|
|
138
141
|
method_name = res.ok_value.string_response
|
139
142
|
return method_name
|
140
143
|
|
141
|
-
def get_post_time(self) -> Union[int, float]:
|
142
|
-
if self.controller:
|
143
|
-
return self.controller.get_num_val(
|
144
|
-
cmd=TableOperation.GET_OBJ_HDR_VAL.value.format(
|
145
|
-
register=self.table_locator.register,
|
146
|
-
register_flag=RegisterFlag.POST_TIME,
|
147
|
-
)
|
148
|
-
)
|
149
|
-
raise ValueError("Communication controller is not online!")
|
150
|
-
|
151
|
-
def get_stop_time(self) -> Union[int, float]:
|
152
|
-
if self.controller:
|
153
|
-
return self.controller.get_num_val(
|
154
|
-
cmd=TableOperation.GET_OBJ_HDR_VAL.value.format(
|
155
|
-
register=self.table_locator.register,
|
156
|
-
register_flag=RegisterFlag.MAX_TIME,
|
157
|
-
)
|
158
|
-
)
|
159
|
-
raise ValueError("Communication controller is not online!")
|
160
|
-
|
161
144
|
def get_total_runtime(self) -> Union[int, float]:
|
162
145
|
"""Returns total method runtime in minutes."""
|
163
146
|
return self.get_post_time() + self.get_stop_time()
|
@@ -217,20 +200,14 @@ class MethodController(RunController):
|
|
217
200
|
self.edit_method_timetable(updated_method.timetable)
|
218
201
|
|
219
202
|
if save:
|
220
|
-
self.
|
221
|
-
Command.SAVE_METHOD_CMD.value.format(
|
222
|
-
commit_msg=f"saved method at {str(time.time())}"
|
223
|
-
)
|
224
|
-
)
|
203
|
+
self.save_method()
|
225
204
|
|
226
|
-
def
|
227
|
-
self.
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
ptype=PType.NUM,
|
205
|
+
def save_method(self):
|
206
|
+
self.send(
|
207
|
+
Command.SAVE_METHOD_CMD.value.format(
|
208
|
+
commit_msg=f"saved method at {str(time.time())}"
|
209
|
+
)
|
232
210
|
)
|
233
|
-
self._update_param(initial_organic_modifier)
|
234
211
|
|
235
212
|
def _validate_organic_modifier(self, new_om):
|
236
213
|
if not (isinstance(new_om, int) or isinstance(new_om, float)):
|
@@ -240,13 +217,6 @@ class MethodController(RunController):
|
|
240
217
|
if new_om > 100:
|
241
218
|
raise ValueError("Organic modifer must be less than 100.")
|
242
219
|
|
243
|
-
def edit_flow(self, new_flow: Union[int, float]):
|
244
|
-
self._validate_flow(new_flow)
|
245
|
-
flow: Param = Param(
|
246
|
-
val=new_flow, chemstation_key=RegisterFlag.FLOW, ptype=PType.NUM
|
247
|
-
)
|
248
|
-
self._update_param(flow)
|
249
|
-
|
250
220
|
def _validate_flow(self, new_flow):
|
251
221
|
if not (isinstance(new_flow, int) or isinstance(new_flow, float)):
|
252
222
|
raise ValueError("Flow must be int or float")
|
@@ -255,38 +225,12 @@ class MethodController(RunController):
|
|
255
225
|
if new_flow >= 5.0:
|
256
226
|
raise ValueError("Flow must be less than 5.0")
|
257
227
|
|
258
|
-
def edit_stop_time(self, new_stop_time: Union[int, float]):
|
259
|
-
self.validate_stop_time(new_stop_time)
|
260
|
-
stop_time: Param = Param(
|
261
|
-
val=new_stop_time,
|
262
|
-
chemstation_key=RegisterFlag.MAX_TIME,
|
263
|
-
ptype=PType.NUM,
|
264
|
-
)
|
265
|
-
self._update_param(
|
266
|
-
Param(
|
267
|
-
val="Set", chemstation_key=RegisterFlag.STOPTIME_MODE, ptype=PType.STR
|
268
|
-
)
|
269
|
-
)
|
270
|
-
self._update_param(stop_time)
|
271
|
-
|
272
228
|
def validate_stop_time(self, new_stop_time):
|
273
229
|
if not (isinstance(new_stop_time, int) or isinstance(new_stop_time, float)):
|
274
230
|
raise ValueError("Stop time must be int or float")
|
275
231
|
if new_stop_time < 0:
|
276
232
|
raise ValueError("Stop time must be positive")
|
277
233
|
|
278
|
-
def edit_post_time(self, new_post_time: Union[int, float]):
|
279
|
-
self.validate_post_time(new_post_time)
|
280
|
-
post_time: Param = Param(
|
281
|
-
val=new_post_time,
|
282
|
-
chemstation_key=RegisterFlag.POST_TIME,
|
283
|
-
ptype=PType.NUM,
|
284
|
-
)
|
285
|
-
self._update_param(
|
286
|
-
Param(val="Set", chemstation_key=RegisterFlag.POSTIME_MODE, ptype=PType.STR)
|
287
|
-
)
|
288
|
-
self._update_param(post_time)
|
289
|
-
|
290
234
|
def validate_post_time(self, new_post_time):
|
291
235
|
if not (isinstance(new_post_time, int) or isinstance(new_post_time, float)):
|
292
236
|
raise ValueError("Post time must be int or float")
|
@@ -301,59 +245,14 @@ class MethodController(RunController):
|
|
301
245
|
new_post_time: Union[int, float] | None,
|
302
246
|
):
|
303
247
|
self.delete_table()
|
304
|
-
self.
|
248
|
+
self._validate_flow(new_flow)
|
249
|
+
self.validate_post_time(new_post_time)
|
250
|
+
self._validate_organic_modifier(new_initial_om)
|
251
|
+
self.validate_stop_time(new_stop_time)
|
305
252
|
self.edit_flow(new_flow)
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
self._update_param(
|
310
|
-
Param(
|
311
|
-
val="Off",
|
312
|
-
chemstation_key=RegisterFlag.STOPTIME_MODE,
|
313
|
-
ptype=PType.STR,
|
314
|
-
)
|
315
|
-
)
|
316
|
-
if new_post_time:
|
317
|
-
self.edit_post_time(new_post_time)
|
318
|
-
else:
|
319
|
-
self._update_param(
|
320
|
-
Param(
|
321
|
-
val="Off",
|
322
|
-
chemstation_key=RegisterFlag.POSTIME_MODE,
|
323
|
-
ptype=PType.STR,
|
324
|
-
)
|
325
|
-
)
|
326
|
-
|
327
|
-
def _update_param(self, method_param: Param):
|
328
|
-
"""Change a method parameter, changes what is visibly seen in Chemstation GUI.
|
329
|
-
(changes the first row in the timetable)
|
330
|
-
|
331
|
-
:param method_param: a parameter to update for currently loaded method.
|
332
|
-
"""
|
333
|
-
register = self.table_locator.register
|
334
|
-
setting_command = (
|
335
|
-
TableOperation.UPDATE_OBJ_HDR_VAL
|
336
|
-
if method_param.ptype == PType.NUM
|
337
|
-
else TableOperation.UPDATE_OBJ_HDR_TEXT
|
338
|
-
)
|
339
|
-
if isinstance(method_param.chemstation_key, list):
|
340
|
-
for register_flag in method_param.chemstation_key:
|
341
|
-
self.sleepy_send(
|
342
|
-
setting_command.value.format(
|
343
|
-
register=register,
|
344
|
-
register_flag=register_flag,
|
345
|
-
val=method_param.val,
|
346
|
-
)
|
347
|
-
)
|
348
|
-
else:
|
349
|
-
self.sleepy_send(
|
350
|
-
setting_command.value.format(
|
351
|
-
register=register,
|
352
|
-
register_flag=method_param.chemstation_key,
|
353
|
-
val=method_param.val,
|
354
|
-
)
|
355
|
-
)
|
356
|
-
self.download()
|
253
|
+
self.edit_initial_om(new_initial_om)
|
254
|
+
self.edit_stop_time(new_stop_time)
|
255
|
+
self.edit_post_time(new_post_time)
|
357
256
|
|
358
257
|
def download(self):
|
359
258
|
self.sleepy_send("DownloadRCMethod PMP1")
|
@@ -443,62 +342,6 @@ class MethodController(RunController):
|
|
443
342
|
self.download()
|
444
343
|
return time_added, flow_added, om_added, function_added
|
445
344
|
|
446
|
-
# if first_row:
|
447
|
-
# time_added = False
|
448
|
-
# flow_row_method: Callable = (
|
449
|
-
# self.add_new_col_text
|
450
|
-
# if row.flow and not row.organic_modifer
|
451
|
-
# else self._edit_row_text
|
452
|
-
# )
|
453
|
-
# if row.organic_modifer:
|
454
|
-
# self.add_row()
|
455
|
-
# self.add_new_col_text(
|
456
|
-
# col_name=RegisterFlag.FUNCTION,
|
457
|
-
# val=RegisterFlag.SOLVENT_COMPOSITION.value,
|
458
|
-
# )
|
459
|
-
# if not time_added:
|
460
|
-
# time_added = True
|
461
|
-
# self.add_new_col_num(col_name=RegisterFlag.TIME, val=row.start_time)
|
462
|
-
# self.add_new_col_num(
|
463
|
-
# col_name=RegisterFlag.TIMETABLE_SOLVENT_B_COMPOSITION,
|
464
|
-
# val=row.organic_modifer,
|
465
|
-
# )
|
466
|
-
# if row.flow:
|
467
|
-
# self.add_row()
|
468
|
-
# self.get_num_rows()
|
469
|
-
# flow_row_method(
|
470
|
-
# col_name=RegisterFlag.FUNCTION, val=RegisterFlag.FLOW.value
|
471
|
-
# )
|
472
|
-
# if not time_added:
|
473
|
-
# time_added = True
|
474
|
-
# self.add_new_col_num(col_name=RegisterFlag.TIME, val=row.start_time)
|
475
|
-
# self.add_new_col_num(col_name=RegisterFlag.TIMETABLE_FLOW, val=row.flow)
|
476
|
-
# self._edit_row_num(col_name=RegisterFlag.TIMETABLE_FLOW, val=row.flow)
|
477
|
-
# self.download()
|
478
|
-
# else:
|
479
|
-
# if row.organic_modifer:
|
480
|
-
# self.add_row()
|
481
|
-
# self.get_num_rows()
|
482
|
-
# self._edit_row_text(
|
483
|
-
# col_name=RegisterFlag.FUNCTION,
|
484
|
-
# val=RegisterFlag.SOLVENT_COMPOSITION.value,
|
485
|
-
# )
|
486
|
-
# self._edit_row_num(col_name=RegisterFlag.TIME, val=row.start_time)
|
487
|
-
# self._edit_row_num(
|
488
|
-
# col_name=RegisterFlag.TIMETABLE_SOLVENT_B_COMPOSITION,
|
489
|
-
# val=row.organic_modifer,
|
490
|
-
# )
|
491
|
-
# self.download()
|
492
|
-
# if row.flow:
|
493
|
-
# self.add_row()
|
494
|
-
# self.get_num_rows()
|
495
|
-
# self._edit_row_text(
|
496
|
-
# col_name=RegisterFlag.FUNCTION, val=RegisterFlag.FLOW.value
|
497
|
-
# )
|
498
|
-
# self._edit_row_num(col_name=RegisterFlag.TIMETABLE_FLOW, val=row.flow)
|
499
|
-
# self._edit_row_num(col_name=RegisterFlag.TIME, val=row.start_time)
|
500
|
-
# self.download()
|
501
|
-
|
502
345
|
def edit_method_timetable(self, timetable_rows: List[TimeTableEntry]):
|
503
346
|
self.get_num_rows()
|
504
347
|
self.delete_table()
|
@@ -508,8 +351,8 @@ class MethodController(RunController):
|
|
508
351
|
res = self.get_num_rows()
|
509
352
|
|
510
353
|
self.new_table()
|
511
|
-
num_rows = self.
|
512
|
-
if num_rows
|
354
|
+
num_rows = self.get_row_count_safely()
|
355
|
+
if num_rows != 0:
|
513
356
|
raise ValueError("Should be zero rows!")
|
514
357
|
|
515
358
|
time_added = False
|
@@ -644,3 +487,77 @@ class MethodController(RunController):
|
|
644
487
|
Row {i + 1} ({timetable[i].start_time}) has a smaller or equal starttime than row {i} ({start_time})"""
|
645
488
|
)
|
646
489
|
self._validate_row(row)
|
490
|
+
|
491
|
+
def get_om(self):
|
492
|
+
return self._read_num_param(RegisterFlag.SOLVENT_B_COMPOSITION)
|
493
|
+
|
494
|
+
def get_flow(self):
|
495
|
+
return self._read_num_param(RegisterFlag.FLOW)
|
496
|
+
|
497
|
+
def get_post_time(self) -> Union[int, float]:
|
498
|
+
return self._read_num_param(RegisterFlag.POST_TIME)
|
499
|
+
|
500
|
+
def get_stop_time(self) -> Union[int, float]:
|
501
|
+
return self._read_num_param(RegisterFlag.MAX_TIME)
|
502
|
+
|
503
|
+
def edit_post_time(self, new_post_time: Optional[int | float]):
|
504
|
+
if new_post_time:
|
505
|
+
post_time: Param = Param(
|
506
|
+
val=new_post_time,
|
507
|
+
chemstation_key=RegisterFlag.POST_TIME,
|
508
|
+
ptype=PType.NUM,
|
509
|
+
)
|
510
|
+
self._update_param(
|
511
|
+
Param(
|
512
|
+
val="Set",
|
513
|
+
chemstation_key=RegisterFlag.POSTIME_MODE,
|
514
|
+
ptype=PType.STR,
|
515
|
+
)
|
516
|
+
)
|
517
|
+
self._update_param(post_time)
|
518
|
+
else:
|
519
|
+
self._update_param(
|
520
|
+
Param(
|
521
|
+
val="Off",
|
522
|
+
chemstation_key=RegisterFlag.POSTIME_MODE,
|
523
|
+
ptype=PType.STR,
|
524
|
+
)
|
525
|
+
)
|
526
|
+
|
527
|
+
def edit_stop_time(self, new_stop_time: Optional[int | float]):
|
528
|
+
if new_stop_time:
|
529
|
+
stop_time: Param = Param(
|
530
|
+
val=new_stop_time,
|
531
|
+
chemstation_key=RegisterFlag.MAX_TIME,
|
532
|
+
ptype=PType.NUM,
|
533
|
+
)
|
534
|
+
self._update_param(
|
535
|
+
Param(
|
536
|
+
val="Set",
|
537
|
+
chemstation_key=RegisterFlag.STOPTIME_MODE,
|
538
|
+
ptype=PType.STR,
|
539
|
+
)
|
540
|
+
)
|
541
|
+
self._update_param(stop_time)
|
542
|
+
else:
|
543
|
+
self._update_param(
|
544
|
+
Param(
|
545
|
+
val="Off",
|
546
|
+
chemstation_key=RegisterFlag.STOPTIME_MODE,
|
547
|
+
ptype=PType.STR,
|
548
|
+
)
|
549
|
+
)
|
550
|
+
|
551
|
+
def edit_flow(self, new_flow: Union[int, float]):
|
552
|
+
flow: Param = Param(
|
553
|
+
val=new_flow, chemstation_key=RegisterFlag.FLOW, ptype=PType.NUM
|
554
|
+
)
|
555
|
+
self._update_param(flow)
|
556
|
+
|
557
|
+
def edit_initial_om(self, new_om: Union[int, float]):
|
558
|
+
initial_organic_modifier: Param = Param(
|
559
|
+
val=new_om,
|
560
|
+
chemstation_key=RegisterFlag.SOLVENT_B_COMPOSITION,
|
561
|
+
ptype=PType.NUM,
|
562
|
+
)
|
563
|
+
self._update_param(initial_organic_modifier)
|