arctrl 3.0.0__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.
- arctrl/__init__.py +23 -0
- arctrl/cwl.py +12 -0
- arctrl/py/CWL/__init__.py +0 -0
- arctrl/py/CWL/cwlprocessing_unit.py +221 -0
- arctrl/py/CWL/cwltypes.py +364 -0
- arctrl/py/CWL/decode.py +3532 -0
- arctrl/py/CWL/encode.py +1905 -0
- arctrl/py/CWL/expression_tool_description.py +192 -0
- arctrl/py/CWL/hash_helpers.py +60 -0
- arctrl/py/CWL/inputs.py +122 -0
- arctrl/py/CWL/operation_description.py +169 -0
- arctrl/py/CWL/outputs.py +171 -0
- arctrl/py/CWL/parameter_reference.py +74 -0
- arctrl/py/CWL/requirements.py +350 -0
- arctrl/py/CWL/tool_description.py +192 -0
- arctrl/py/CWL/workflow_description.py +181 -0
- arctrl/py/CWL/workflow_steps.py +354 -0
- arctrl/py/Contract/__init__.py +0 -0
- arctrl/py/Contract/arc.py +89 -0
- arctrl/py/Contract/arc_assay.py +125 -0
- arctrl/py/Contract/arc_investigation.py +88 -0
- arctrl/py/Contract/arc_run.py +291 -0
- arctrl/py/Contract/arc_study.py +126 -0
- arctrl/py/Contract/arc_workflow.py +213 -0
- arctrl/py/Contract/contract.py +153 -0
- arctrl/py/Contract/datamap.py +396 -0
- arctrl/py/Contract/git.py +116 -0
- arctrl/py/Contract/license.py +58 -0
- arctrl/py/Contract/validation_packages_config.py +107 -0
- arctrl/py/ContractIO/__init__.py +0 -0
- arctrl/py/ContractIO/contract_io.py +350 -0
- arctrl/py/ContractIO/file_system_helper.py +264 -0
- arctrl/py/Conversion/__init__.py +0 -0
- arctrl/py/Conversion/assay.py +151 -0
- arctrl/py/Conversion/basic.py +559 -0
- arctrl/py/Conversion/column_index.py +91 -0
- arctrl/py/Conversion/datamap.py +36 -0
- arctrl/py/Conversion/date_time.py +32 -0
- arctrl/py/Conversion/investigation.py +171 -0
- arctrl/py/Conversion/person.py +148 -0
- arctrl/py/Conversion/process.py +828 -0
- arctrl/py/Conversion/run.py +367 -0
- arctrl/py/Conversion/scholarly_article.py +163 -0
- arctrl/py/Conversion/study.py +99 -0
- arctrl/py/Conversion/table.py +229 -0
- arctrl/py/Conversion/workflow.py +680 -0
- arctrl/py/Core/Helper/__init__.py +0 -0
- arctrl/py/Core/Helper/collections_.py +512 -0
- arctrl/py/Core/Helper/date_time.py +26 -0
- arctrl/py/Core/Helper/hash_codes.py +60 -0
- arctrl/py/Core/Helper/identifier.py +290 -0
- arctrl/py/Core/Helper/orcid.py +42 -0
- arctrl/py/Core/Helper/printer.py +13 -0
- arctrl/py/Core/Helper/regex.py +554 -0
- arctrl/py/Core/Helper/sem_ver.py +71 -0
- arctrl/py/Core/Helper/url.py +148 -0
- arctrl/py/Core/Process/__init__.py +0 -0
- arctrl/py/Core/Process/column_index.py +280 -0
- arctrl/py/Core/Process/component.py +200 -0
- arctrl/py/Core/Process/factor.py +151 -0
- arctrl/py/Core/Process/factor_value.py +182 -0
- arctrl/py/Core/Process/material.py +74 -0
- arctrl/py/Core/Process/material_attribute.py +95 -0
- arctrl/py/Core/Process/material_attribute_value.py +184 -0
- arctrl/py/Core/Process/material_type.py +45 -0
- arctrl/py/Core/Process/process.py +477 -0
- arctrl/py/Core/Process/process_input.py +265 -0
- arctrl/py/Core/Process/process_output.py +235 -0
- arctrl/py/Core/Process/process_parameter_value.py +200 -0
- arctrl/py/Core/Process/process_sequence.py +435 -0
- arctrl/py/Core/Process/protocol.py +175 -0
- arctrl/py/Core/Process/protocol_parameter.py +98 -0
- arctrl/py/Core/Process/sample.py +82 -0
- arctrl/py/Core/Process/source.py +62 -0
- arctrl/py/Core/Table/__init__.py +0 -0
- arctrl/py/Core/Table/arc_table.py +1206 -0
- arctrl/py/Core/Table/arc_table_aux.py +1308 -0
- arctrl/py/Core/Table/arc_tables.py +574 -0
- arctrl/py/Core/Table/composite_cell.py +319 -0
- arctrl/py/Core/Table/composite_column.py +73 -0
- arctrl/py/Core/Table/composite_header.py +739 -0
- arctrl/py/Core/__init__.py +0 -0
- arctrl/py/Core/arc_types.py +5312 -0
- arctrl/py/Core/comment.py +128 -0
- arctrl/py/Core/comment_list.py +127 -0
- arctrl/py/Core/conversion.py +1375 -0
- arctrl/py/Core/data.py +247 -0
- arctrl/py/Core/data_context.py +157 -0
- arctrl/py/Core/data_file.py +112 -0
- arctrl/py/Core/datamap.py +217 -0
- arctrl/py/Core/identifier_setters.py +43 -0
- arctrl/py/Core/iproperty_value.py +36 -0
- arctrl/py/Core/ontology_annotation.py +298 -0
- arctrl/py/Core/ontology_source_reference.py +114 -0
- arctrl/py/Core/person.py +259 -0
- arctrl/py/Core/publication.py +161 -0
- arctrl/py/Core/template.py +231 -0
- arctrl/py/Core/templates.py +148 -0
- arctrl/py/Core/uri.py +11 -0
- arctrl/py/Core/value.py +188 -0
- arctrl/py/FileSystem/__init__.py +0 -0
- arctrl/py/FileSystem/commit.py +21 -0
- arctrl/py/FileSystem/default_gitattributes.py +1 -0
- arctrl/py/FileSystem/default_gitignore.py +1 -0
- arctrl/py/FileSystem/default_license.py +1 -0
- arctrl/py/FileSystem/file_system.py +58 -0
- arctrl/py/FileSystem/file_system_tree.py +483 -0
- arctrl/py/FileSystem/path.py +266 -0
- arctrl/py/Json/Datamap/__init__.py +0 -0
- arctrl/py/Json/Datamap/data_context.py +101 -0
- arctrl/py/Json/Datamap/datamap.py +53 -0
- arctrl/py/Json/Process/__init__.py +0 -0
- arctrl/py/Json/Process/assay_materials.py +46 -0
- arctrl/py/Json/Process/component.py +125 -0
- arctrl/py/Json/Process/factor.py +107 -0
- arctrl/py/Json/Process/factor_value.py +101 -0
- arctrl/py/Json/Process/material.py +226 -0
- arctrl/py/Json/Process/material_attribute.py +79 -0
- arctrl/py/Json/Process/material_attribute_value.py +101 -0
- arctrl/py/Json/Process/material_type.py +53 -0
- arctrl/py/Json/Process/process.py +296 -0
- arctrl/py/Json/Process/process_input.py +83 -0
- arctrl/py/Json/Process/process_output.py +67 -0
- arctrl/py/Json/Process/process_parameter_value.py +81 -0
- arctrl/py/Json/Process/protocol.py +354 -0
- arctrl/py/Json/Process/protocol_parameter.py +91 -0
- arctrl/py/Json/Process/sample.py +277 -0
- arctrl/py/Json/Process/source.py +214 -0
- arctrl/py/Json/Process/study_materials.py +52 -0
- arctrl/py/Json/Process/value.py +56 -0
- arctrl/py/Json/ROCrate/__init__.py +0 -0
- arctrl/py/Json/ROCrate/ldcontext.py +143 -0
- arctrl/py/Json/ROCrate/ldgraph.py +117 -0
- arctrl/py/Json/ROCrate/ldnode.py +304 -0
- arctrl/py/Json/ROCrate/ldref.py +44 -0
- arctrl/py/Json/ROCrate/ldvalue.py +102 -0
- arctrl/py/Json/Table/__init__.py +0 -0
- arctrl/py/Json/Table/arc_table.py +375 -0
- arctrl/py/Json/Table/cell_table.py +83 -0
- arctrl/py/Json/Table/composite_cell.py +136 -0
- arctrl/py/Json/Table/composite_header.py +67 -0
- arctrl/py/Json/Table/iotype.py +24 -0
- arctrl/py/Json/Table/oatable.py +82 -0
- arctrl/py/Json/Table/templates.py +281 -0
- arctrl/py/Json/__init__.py +0 -0
- arctrl/py/Json/assay.py +600 -0
- arctrl/py/Json/comment.py +206 -0
- arctrl/py/Json/context/rocrate/__init__.py +0 -0
- arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
- arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
- arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
- arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
- arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
- arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
- arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
- arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
- arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
- arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
- arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
- arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
- arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
- arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
- arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
- arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
- arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
- arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
- arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
- arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
- arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
- arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
- arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
- arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
- arctrl/py/Json/converter_options.py +23 -0
- arctrl/py/Json/data.py +356 -0
- arctrl/py/Json/data_file.py +63 -0
- arctrl/py/Json/decode.py +271 -0
- arctrl/py/Json/encode.py +140 -0
- arctrl/py/Json/idtable.py +44 -0
- arctrl/py/Json/investigation.py +695 -0
- arctrl/py/Json/ontology_annotation.py +404 -0
- arctrl/py/Json/ontology_source_reference.py +255 -0
- arctrl/py/Json/person.py +658 -0
- arctrl/py/Json/property_value.py +359 -0
- arctrl/py/Json/publication.py +279 -0
- arctrl/py/Json/run.py +275 -0
- arctrl/py/Json/string_table.py +87 -0
- arctrl/py/Json/study.py +793 -0
- arctrl/py/Json/workflow.py +307 -0
- arctrl/py/JsonIO/Process/__init__.py +0 -0
- arctrl/py/JsonIO/Process/component.py +60 -0
- arctrl/py/JsonIO/Process/factor.py +36 -0
- arctrl/py/JsonIO/Process/factor_value.py +38 -0
- arctrl/py/JsonIO/Process/material.py +60 -0
- arctrl/py/JsonIO/Process/material_attribute.py +38 -0
- arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
- arctrl/py/JsonIO/Process/material_type.py +36 -0
- arctrl/py/JsonIO/Process/process.py +60 -0
- arctrl/py/JsonIO/Process/process_input.py +38 -0
- arctrl/py/JsonIO/Process/process_output.py +60 -0
- arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
- arctrl/py/JsonIO/Process/process_sequence.py +71 -0
- arctrl/py/JsonIO/Process/protocol.py +60 -0
- arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
- arctrl/py/JsonIO/Process/sample.py +60 -0
- arctrl/py/JsonIO/Process/source.py +60 -0
- arctrl/py/JsonIO/Process/study_materials.py +52 -0
- arctrl/py/JsonIO/Process/value.py +32 -0
- arctrl/py/JsonIO/Table/__init__.py +0 -0
- arctrl/py/JsonIO/Table/arc_table.py +103 -0
- arctrl/py/JsonIO/Table/composite_cell.py +36 -0
- arctrl/py/JsonIO/Table/composite_header.py +36 -0
- arctrl/py/JsonIO/Table/compression.py +67 -0
- arctrl/py/JsonIO/Table/iotype.py +36 -0
- arctrl/py/JsonIO/Table/templates.py +113 -0
- arctrl/py/JsonIO/__init__.py +0 -0
- arctrl/py/JsonIO/assay.py +113 -0
- arctrl/py/JsonIO/comment.py +80 -0
- arctrl/py/JsonIO/data.py +60 -0
- arctrl/py/JsonIO/data_file.py +58 -0
- arctrl/py/JsonIO/datamap.py +36 -0
- arctrl/py/JsonIO/decode.py +9 -0
- arctrl/py/JsonIO/encode.py +1 -0
- arctrl/py/JsonIO/investigation.py +91 -0
- arctrl/py/JsonIO/ldobject.py +106 -0
- arctrl/py/JsonIO/ontology_annotation.py +80 -0
- arctrl/py/JsonIO/ontology_source_reference.py +80 -0
- arctrl/py/JsonIO/person.py +82 -0
- arctrl/py/JsonIO/publication.py +82 -0
- arctrl/py/JsonIO/run.py +68 -0
- arctrl/py/JsonIO/study.py +114 -0
- arctrl/py/JsonIO/workflow.py +68 -0
- arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
- arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
- arctrl/py/ROCrate/ISAProfile/data.py +65 -0
- arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
- arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
- arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
- arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
- arctrl/py/ROCrate/ISAProfile/person.py +72 -0
- arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
- arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
- arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
- arctrl/py/ROCrate/ISAProfile/study.py +74 -0
- arctrl/py/ROCrate/LDTypes/__init__.py +0 -0
- arctrl/py/ROCrate/LDTypes/comment.py +131 -0
- arctrl/py/ROCrate/LDTypes/computational_workflow.py +455 -0
- arctrl/py/ROCrate/LDTypes/computer_language.py +269 -0
- arctrl/py/ROCrate/LDTypes/create_action.py +303 -0
- arctrl/py/ROCrate/LDTypes/creative_work.py +566 -0
- arctrl/py/ROCrate/LDTypes/dataset.py +943 -0
- arctrl/py/ROCrate/LDTypes/defined_term.py +131 -0
- arctrl/py/ROCrate/LDTypes/file.py +281 -0
- arctrl/py/ROCrate/LDTypes/formal_parameter.py +431 -0
- arctrl/py/ROCrate/LDTypes/lab_process.py +352 -0
- arctrl/py/ROCrate/LDTypes/lab_protocol.py +395 -0
- arctrl/py/ROCrate/LDTypes/organization.py +83 -0
- arctrl/py/ROCrate/LDTypes/person.py +484 -0
- arctrl/py/ROCrate/LDTypes/postal_address.py +195 -0
- arctrl/py/ROCrate/LDTypes/property_value.py +952 -0
- arctrl/py/ROCrate/LDTypes/sample.py +202 -0
- arctrl/py/ROCrate/LDTypes/scholarly_article.py +229 -0
- arctrl/py/ROCrate/LDTypes/software_source_code.py +310 -0
- arctrl/py/ROCrate/LDTypes/workflow_invocation.py +48 -0
- arctrl/py/ROCrate/LDTypes/workflow_protocol.py +52 -0
- arctrl/py/ROCrate/__init__.py +0 -0
- arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
- arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
- arctrl/py/ROCrate/helper.py +8 -0
- arctrl/py/ROCrate/ldcontext.py +406 -0
- arctrl/py/ROCrate/ldobject.py +1247 -0
- arctrl/py/ROCrate/rocrate_context.py +51 -0
- arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
- arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +203 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +305 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
- arctrl/py/Spreadsheet/DatamapTable/__init__.py +0 -0
- arctrl/py/Spreadsheet/DatamapTable/datamap_column.py +114 -0
- arctrl/py/Spreadsheet/DatamapTable/datamap_header.py +621 -0
- arctrl/py/Spreadsheet/DatamapTable/datamap_table.py +118 -0
- arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
- arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
- arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
- arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
- arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
- arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
- arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
- arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
- arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
- arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
- arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
- arctrl/py/Spreadsheet/Metadata/run.py +122 -0
- arctrl/py/Spreadsheet/Metadata/sparse_table.py +499 -0
- arctrl/py/Spreadsheet/Metadata/study.py +312 -0
- arctrl/py/Spreadsheet/Metadata/workflow.py +159 -0
- arctrl/py/Spreadsheet/__init__.py +0 -0
- arctrl/py/Spreadsheet/arc_assay.py +233 -0
- arctrl/py/Spreadsheet/arc_investigation.py +435 -0
- arctrl/py/Spreadsheet/arc_run.py +190 -0
- arctrl/py/Spreadsheet/arc_study.py +144 -0
- arctrl/py/Spreadsheet/arc_workflow.py +177 -0
- arctrl/py/Spreadsheet/assembly_info.py +1 -0
- arctrl/py/Spreadsheet/collection_aux.py +167 -0
- arctrl/py/Spreadsheet/datamap.py +43 -0
- arctrl/py/Spreadsheet/template.py +460 -0
- arctrl/py/ValidationPackages/__init__.py +0 -0
- arctrl/py/ValidationPackages/validation_package.py +82 -0
- arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
- arctrl/py/WebRequest/__init__.py +0 -0
- arctrl/py/WebRequest/web_request.py +9 -0
- arctrl/py/WebRequest/web_request_py.py +135 -0
- arctrl/py/WorkflowGraph/__init__.py +0 -0
- arctrl/py/WorkflowGraph/adapters.py +141 -0
- arctrl/py/WorkflowGraph/build_options.py +45 -0
- arctrl/py/WorkflowGraph/builder.py +720 -0
- arctrl/py/WorkflowGraph/graph_types.py +260 -0
- arctrl/py/WorkflowGraph/query_helpers.py +76 -0
- arctrl/py/WorkflowGraph/reference_parsing.py +59 -0
- arctrl/py/WorkflowGraph/visualization_siren.py +574 -0
- arctrl/py/WorkflowGraph/workflow_graph.py +119 -0
- arctrl/py/Yaml/__init__.py +0 -0
- arctrl/py/Yaml/decode.py +1 -0
- arctrl/py/Yaml/encode.py +10 -0
- arctrl/py/Yaml/validation_package.py +77 -0
- arctrl/py/Yaml/validation_packages_config.py +86 -0
- arctrl/py/__init__.py +0 -0
- arctrl/py/arc.py +1891 -0
- arctrl/py/column_index.py +280 -0
- arctrl/py/conversion.py +142 -0
- arctrl/py/cross_async.py +76 -0
- arctrl/py/cwlrun_resolver.py +228 -0
- arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
- arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
- arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
- arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
- arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
- arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
- arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
- arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
- arctrl/py/fable_modules/fable_library/__init__.py +0 -0
- arctrl/py/fable_modules/fable_library/array_.py +1528 -0
- arctrl/py/fable_modules/fable_library/async_.py +377 -0
- arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
- arctrl/py/fable_modules/fable_library/big_int.py +330 -0
- arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
- arctrl/py/fable_modules/fable_library/boolean.py +26 -0
- arctrl/py/fable_modules/fable_library/char.py +237 -0
- arctrl/py/fable_modules/fable_library/choice.py +212 -0
- arctrl/py/fable_modules/fable_library/date.py +779 -0
- arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
- arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
- arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
- arctrl/py/fable_modules/fable_library/double.py +87 -0
- arctrl/py/fable_modules/fable_library/encoding.py +41 -0
- arctrl/py/fable_modules/fable_library/event.py +206 -0
- arctrl/py/fable_modules/fable_library/file.py +107 -0
- arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
- arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
- arctrl/py/fable_modules/fable_library/global_.py +63 -0
- arctrl/py/fable_modules/fable_library/guid.py +41 -0
- arctrl/py/fable_modules/fable_library/int32.py +73 -0
- arctrl/py/fable_modules/fable_library/list.py +1788 -0
- arctrl/py/fable_modules/fable_library/long.py +240 -0
- arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
- arctrl/py/fable_modules/fable_library/map.py +1854 -0
- arctrl/py/fable_modules/fable_library/map_util.py +148 -0
- arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
- arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
- arctrl/py/fable_modules/fable_library/native.py +45 -0
- arctrl/py/fable_modules/fable_library/numeric.py +46 -0
- arctrl/py/fable_modules/fable_library/observable.py +222 -0
- arctrl/py/fable_modules/fable_library/option.py +128 -0
- arctrl/py/fable_modules/fable_library/path.py +62 -0
- arctrl/py/fable_modules/fable_library/range.py +117 -0
- arctrl/py/fable_modules/fable_library/reflection.py +463 -0
- arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
- arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
- arctrl/py/fable_modules/fable_library/result.py +212 -0
- arctrl/py/fable_modules/fable_library/seq.py +1979 -0
- arctrl/py/fable_modules/fable_library/seq2.py +221 -0
- arctrl/py/fable_modules/fable_library/set.py +2414 -0
- arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
- arctrl/py/fable_modules/fable_library/string_.py +573 -0
- arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
- arctrl/py/fable_modules/fable_library/system_text.py +237 -0
- arctrl/py/fable_modules/fable_library/task.py +116 -0
- arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
- arctrl/py/fable_modules/fable_library/thread.py +5 -0
- arctrl/py/fable_modules/fable_library/time_span.py +283 -0
- arctrl/py/fable_modules/fable_library/timer.py +24 -0
- arctrl/py/fable_modules/fable_library/types.py +401 -0
- arctrl/py/fable_modules/fable_library/uri.py +109 -0
- arctrl/py/fable_modules/fable_library/util.py +2735 -0
- arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
- arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
- arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
- arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
- arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
- arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
- arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
- arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
- arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
- arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
- arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
- arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
- arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +340 -0
- arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +466 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +463 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
- arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +54 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
- arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +216 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +43 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +190 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +92 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +77 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +461 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +117 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
- arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +236 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +192 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +610 -0
- arctrl/py/fable_modules/fs_spreadsheet/hash_codes.py +60 -0
- arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +329 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +60 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/table.py +54 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +41 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +52 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
- arctrl/py/fable_modules/siren/__init__.py +0 -0
- arctrl/py/fable_modules/siren/config.py +1038 -0
- arctrl/py/fable_modules/siren/formatting.py +1121 -0
- arctrl/py/fable_modules/siren/siren.py +1941 -0
- arctrl/py/fable_modules/siren/siren_types.py +1229 -0
- arctrl/py/fable_modules/siren/theme_variables.py +517 -0
- arctrl/py/fable_modules/siren/util.py +37 -0
- arctrl/py/fable_modules/siren/yaml.py +101 -0
- arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
- arctrl/py/fable_modules/thoth_json_core/decode.py +1614 -0
- arctrl/py/fable_modules/thoth_json_core/encode.py +305 -0
- arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
- arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
- arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
- arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
- arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
- arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
- arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
- arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
- arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
- arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
- arctrl/py/fable_modules/yamlicious/encode.py +84 -0
- arctrl/py/fable_modules/yamlicious/flow_to_block.py +994 -0
- arctrl/py/fable_modules/yamlicious/library.py +10 -0
- arctrl/py/fable_modules/yamlicious/persil.py +57 -0
- arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
- arctrl/py/fable_modules/yamlicious/reader.py +739 -0
- arctrl/py/fable_modules/yamlicious/regex.py +29 -0
- arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +265 -0
- arctrl/py/fable_modules/yamlicious/writer.py +175 -0
- arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
- arctrl/py/json.py +389 -0
- arctrl/py/license.py +169 -0
- arctrl/py/rocrate_io.py +242 -0
- arctrl/py/template_web.py +23 -0
- arctrl/py/xlsx.py +212 -0
- arctrl/py/yaml.py +79 -0
- arctrl/rocrate.py +21 -0
- arctrl-3.0.0.dist-info/METADATA +157 -0
- arctrl-3.0.0.dist-info/RECORD +511 -0
- arctrl-3.0.0.dist-info/WHEEL +4 -0
- arctrl-3.0.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from typing import Any
|
|
4
|
+
from ..fable_modules.fable_library.list import (FSharpList, empty, of_seq)
|
|
5
|
+
from ..fable_modules.fable_library.seq import (delay, append, singleton, iterate_indexed, map, try_find, choose, try_pick, is_empty)
|
|
6
|
+
from ..fable_modules.fable_library.string_ import (to_fail, printf, to_console)
|
|
7
|
+
from ..fable_modules.fable_library.types import Array
|
|
8
|
+
from ..fable_modules.fable_library.util import (get_enumerator, IEnumerable_1, IEnumerator, to_enumerable)
|
|
9
|
+
from ..fable_modules.fs_spreadsheet.fs_row import FsRow
|
|
10
|
+
from ..fable_modules.fs_spreadsheet.fs_workbook import FsWorkbook
|
|
11
|
+
from ..fable_modules.fs_spreadsheet.fs_worksheet import FsWorksheet
|
|
12
|
+
from ..Core.arc_types import ArcRun
|
|
13
|
+
from ..Core.comment import Remark
|
|
14
|
+
from ..Core.datamap import Datamap
|
|
15
|
+
from ..Core.Helper.identifier import create_missing_identifier
|
|
16
|
+
from ..Core.person import Person
|
|
17
|
+
from ..Core.Table.arc_table import ArcTable
|
|
18
|
+
from .AnnotationTable.arc_table import (try_from_fs_worksheet, to_fs_worksheet)
|
|
19
|
+
from .DatamapTable.datamap_table import try_from_fs_worksheet as try_from_fs_worksheet_1
|
|
20
|
+
from .Metadata.contacts import (from_rows as from_rows_1, to_rows as to_rows_1)
|
|
21
|
+
from .Metadata.run import (from_rows, to_rows)
|
|
22
|
+
from .Metadata.sparse_table import (SparseRowModule_tryGetValueAt, SparseRowModule_fromValues, SparseRowModule_writeToSheet, SparseRowModule_fromFsRow, SparseRowModule_getAllValues, SparseRowModule_fromAllValues)
|
|
23
|
+
|
|
24
|
+
def ArcRun_fromRows(rows: IEnumerable_1[IEnumerable_1[tuple[int, str]]]) -> ArcRun:
|
|
25
|
+
en: IEnumerator[IEnumerable_1[tuple[int, str]]] = get_enumerator(rows)
|
|
26
|
+
def loop(last_row_mut: str | None, run_mut: ArcRun | None, performers_mut: FSharpList[Person], row_number_mut: int, rows: Any=rows) -> ArcRun:
|
|
27
|
+
while True:
|
|
28
|
+
(last_row, run, performers, row_number) = (last_row_mut, run_mut, performers_mut, row_number_mut)
|
|
29
|
+
(pattern_matching_result,) = (None,)
|
|
30
|
+
if last_row is not None:
|
|
31
|
+
if last_row == "RUN":
|
|
32
|
+
pattern_matching_result = 0
|
|
33
|
+
|
|
34
|
+
elif last_row == "RUN PERFORMERS":
|
|
35
|
+
pattern_matching_result = 1
|
|
36
|
+
|
|
37
|
+
else:
|
|
38
|
+
pattern_matching_result = 2
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
else:
|
|
42
|
+
pattern_matching_result = 2
|
|
43
|
+
|
|
44
|
+
if pattern_matching_result == 0:
|
|
45
|
+
pattern_input: tuple[str | None, int, FSharpList[Remark], ArcRun] = from_rows(row_number + 1, en)
|
|
46
|
+
last_row_mut = pattern_input[0]
|
|
47
|
+
run_mut = pattern_input[3]
|
|
48
|
+
performers_mut = performers
|
|
49
|
+
row_number_mut = pattern_input[1]
|
|
50
|
+
continue
|
|
51
|
+
|
|
52
|
+
elif pattern_matching_result == 1:
|
|
53
|
+
pattern_input_1: tuple[str | None, int, FSharpList[Remark], FSharpList[Person]] = from_rows_1("Run Person", row_number + 1, en)
|
|
54
|
+
last_row_mut = pattern_input_1[0]
|
|
55
|
+
run_mut = run
|
|
56
|
+
performers_mut = pattern_input_1[3]
|
|
57
|
+
row_number_mut = pattern_input_1[1]
|
|
58
|
+
continue
|
|
59
|
+
|
|
60
|
+
elif pattern_matching_result == 2:
|
|
61
|
+
if run is not None:
|
|
62
|
+
run_2: ArcRun = run
|
|
63
|
+
run_2.Performers = list(performers)
|
|
64
|
+
return run_2
|
|
65
|
+
|
|
66
|
+
else:
|
|
67
|
+
return ArcRun.create(create_missing_identifier(), None, None, None, None, None, None, None, None, list(performers))
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
break
|
|
71
|
+
|
|
72
|
+
if en.System_Collections_IEnumerator_MoveNext():
|
|
73
|
+
return loop(SparseRowModule_tryGetValueAt(0, en.System_Collections_Generic_IEnumerator_1_get_Current()), None, empty(), 1)
|
|
74
|
+
|
|
75
|
+
else:
|
|
76
|
+
raise Exception("empty run metadata sheet")
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def ArcRun_toRows(run: ArcRun) -> IEnumerable_1[IEnumerable_1[tuple[int, str]]]:
|
|
81
|
+
def _arrow2015(__unit: None=None, run: Any=run) -> IEnumerable_1[IEnumerable_1[tuple[int, str]]]:
|
|
82
|
+
def _arrow2014(__unit: None=None) -> IEnumerable_1[IEnumerable_1[tuple[int, str]]]:
|
|
83
|
+
def _arrow2013(__unit: None=None) -> IEnumerable_1[IEnumerable_1[tuple[int, str]]]:
|
|
84
|
+
def _arrow2012(__unit: None=None) -> IEnumerable_1[IEnumerable_1[tuple[int, str]]]:
|
|
85
|
+
return to_rows_1("Run Person", of_seq(run.Performers))
|
|
86
|
+
|
|
87
|
+
return append(singleton(SparseRowModule_fromValues(to_enumerable(["RUN PERFORMERS"]))), delay(_arrow2012))
|
|
88
|
+
|
|
89
|
+
return append(to_rows(run), delay(_arrow2013))
|
|
90
|
+
|
|
91
|
+
return append(singleton(SparseRowModule_fromValues(to_enumerable(["RUN"]))), delay(_arrow2014))
|
|
92
|
+
|
|
93
|
+
return delay(_arrow2015)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def ArcRun_toMetadataSheet(run: ArcRun) -> FsWorksheet:
|
|
97
|
+
sheet: FsWorksheet = FsWorksheet("isa_run")
|
|
98
|
+
def action(row_i: int, r: IEnumerable_1[tuple[int, str]], run: Any=run) -> None:
|
|
99
|
+
SparseRowModule_writeToSheet(row_i + 1, r, sheet)
|
|
100
|
+
|
|
101
|
+
iterate_indexed(action, ArcRun_toRows(run))
|
|
102
|
+
return sheet
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
def ArcRun_fromMetadataSheet(sheet: FsWorksheet) -> ArcRun:
|
|
106
|
+
try:
|
|
107
|
+
return ArcRun_fromRows(map(SparseRowModule_fromFsRow, sheet.Rows))
|
|
108
|
+
|
|
109
|
+
except Exception as err:
|
|
110
|
+
arg: str = str(err)
|
|
111
|
+
return to_fail(printf("Failed while parsing metadatasheet: %s"))(arg)
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def ArcRun_toMetadataCollection(run: ArcRun) -> IEnumerable_1[IEnumerable_1[str | None]]:
|
|
116
|
+
def mapping(row: IEnumerable_1[tuple[int, str]], run: Any=run) -> IEnumerable_1[str | None]:
|
|
117
|
+
return SparseRowModule_getAllValues(row)
|
|
118
|
+
|
|
119
|
+
return map(mapping, ArcRun_toRows(run))
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
def ArcRun_fromMetadataCollection(collection: IEnumerable_1[IEnumerable_1[str | None]]) -> ArcRun:
|
|
123
|
+
try:
|
|
124
|
+
return ArcRun_fromRows(map(SparseRowModule_fromAllValues, collection))
|
|
125
|
+
|
|
126
|
+
except Exception as err:
|
|
127
|
+
arg: str = str(err)
|
|
128
|
+
return to_fail(printf("Failed while parsing metadatasheet: %s"))(arg)
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
def ArcRun_isMetadataSheetName(name: str) -> bool:
|
|
133
|
+
return name == "isa_run"
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
def ArcRun_isMetadataSheet(sheet: FsWorksheet) -> bool:
|
|
137
|
+
return ArcRun_isMetadataSheetName(sheet.Name)
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
def ArcRun_tryGetMetadataSheet(doc: FsWorkbook) -> FsWorksheet | None:
|
|
141
|
+
def predicate(sheet: FsWorksheet, doc: Any=doc) -> bool:
|
|
142
|
+
return ArcRun_isMetadataSheet(sheet)
|
|
143
|
+
|
|
144
|
+
return try_find(predicate, doc.GetWorksheets())
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
def ARCtrl_ArcRun__ArcRun_fromFsWorkbook_Static_32154C9D(doc: FsWorkbook) -> ArcRun:
|
|
148
|
+
try:
|
|
149
|
+
run_metadata: ArcRun
|
|
150
|
+
match_value: FsWorksheet | None = ArcRun_tryGetMetadataSheet(doc)
|
|
151
|
+
if match_value is None:
|
|
152
|
+
to_console(printf("Cannot retrieve metadata: Run file does not contain \"%s\" sheet."))("isa_run")
|
|
153
|
+
run_metadata = ArcRun.create(create_missing_identifier())
|
|
154
|
+
|
|
155
|
+
else:
|
|
156
|
+
run_metadata = ArcRun_fromMetadataSheet(match_value)
|
|
157
|
+
|
|
158
|
+
sheets: Array[FsWorksheet] = doc.GetWorksheets()
|
|
159
|
+
annotation_tables: IEnumerable_1[ArcTable] = choose(try_from_fs_worksheet, sheets)
|
|
160
|
+
datamap_sheet: Datamap | None = try_pick(try_from_fs_worksheet_1, sheets)
|
|
161
|
+
run_metadata.Datamap = datamap_sheet
|
|
162
|
+
if not is_empty(annotation_tables):
|
|
163
|
+
run_metadata.Tables = list(annotation_tables)
|
|
164
|
+
|
|
165
|
+
return run_metadata
|
|
166
|
+
|
|
167
|
+
except Exception as err:
|
|
168
|
+
arg_1: str = str(err)
|
|
169
|
+
return to_fail(printf("Could not parse assay: \n%s"))(arg_1)
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
def ARCtrl_ArcRun__ArcRun_toFsWorkbook_Static_Z3EFAF6F8(run: ArcRun) -> FsWorkbook:
|
|
174
|
+
doc: FsWorkbook = FsWorkbook()
|
|
175
|
+
metadata_sheet: FsWorksheet = ArcRun_toMetadataSheet(run)
|
|
176
|
+
doc.AddWorksheet(metadata_sheet)
|
|
177
|
+
def action(i: int, arg: ArcTable, run: Any=run) -> None:
|
|
178
|
+
sheet: FsWorksheet = to_fs_worksheet(i, arg)
|
|
179
|
+
doc.AddWorksheet(sheet)
|
|
180
|
+
|
|
181
|
+
iterate_indexed(action, run.Tables)
|
|
182
|
+
return doc
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
def ARCtrl_ArcRun__ArcRun_ToFsWorkbook(this: ArcRun) -> FsWorkbook:
|
|
186
|
+
return ARCtrl_ArcRun__ArcRun_toFsWorkbook_Static_Z3EFAF6F8(this)
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
__all__ = ["ArcRun_fromRows", "ArcRun_toRows", "ArcRun_toMetadataSheet", "ArcRun_fromMetadataSheet", "ArcRun_toMetadataCollection", "ArcRun_fromMetadataCollection", "ArcRun_isMetadataSheetName", "ArcRun_isMetadataSheet", "ArcRun_tryGetMetadataSheet", "ARCtrl_ArcRun__ArcRun_fromFsWorkbook_Static_32154C9D", "ARCtrl_ArcRun__ArcRun_toFsWorkbook_Static_Z3EFAF6F8", "ARCtrl_ArcRun__ArcRun_ToFsWorkbook"]
|
|
190
|
+
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from typing import Any
|
|
3
|
+
from ..fable_modules.fable_library.list import (FSharpList, empty)
|
|
4
|
+
from ..fable_modules.fable_library.option import (default_arg, to_array)
|
|
5
|
+
from ..fable_modules.fable_library.seq import (iterate_indexed, append, map, try_find, try_pick, iterate)
|
|
6
|
+
from ..fable_modules.fable_library.string_ import (to_fail, printf, to_console)
|
|
7
|
+
from ..fable_modules.fable_library.types import Array
|
|
8
|
+
from ..fable_modules.fable_library.util import (IEnumerable_1, to_enumerable, get_enumerator, IEnumerator, ignore)
|
|
9
|
+
from ..fable_modules.fs_spreadsheet.fs_row import FsRow
|
|
10
|
+
from ..fable_modules.fs_spreadsheet.fs_workbook import FsWorkbook
|
|
11
|
+
from ..fable_modules.fs_spreadsheet.fs_worksheet import FsWorksheet
|
|
12
|
+
from ..Core.arc_types import (ArcStudy, ArcAssay)
|
|
13
|
+
from ..Core.datamap import Datamap
|
|
14
|
+
from ..Core.Helper.collections_ import (ResizeArray_choose, ResizeArray_isEmpty)
|
|
15
|
+
from ..Core.Helper.identifier import create_missing_identifier
|
|
16
|
+
from ..Core.Table.arc_table import ArcTable
|
|
17
|
+
from .AnnotationTable.arc_table import (try_from_fs_worksheet, to_fs_worksheet as to_fs_worksheet_1)
|
|
18
|
+
from .DatamapTable.datamap_table import (try_from_fs_worksheet as try_from_fs_worksheet_1, to_fs_worksheet)
|
|
19
|
+
from .Metadata.sparse_table import (SparseRowModule_writeToSheet, SparseRowModule_fromValues, SparseRowModule_fromFsRow, SparseRowModule_getAllValues, SparseRowModule_fromAllValues)
|
|
20
|
+
from .Metadata.study import (to_rows, from_rows)
|
|
21
|
+
|
|
22
|
+
def ArcStudy_toMetadataSheet(study: ArcStudy, assays: FSharpList[ArcAssay] | None=None) -> FsWorksheet:
|
|
23
|
+
sheet: FsWorksheet = FsWorksheet("isa_study")
|
|
24
|
+
def action(row_i: int, r: IEnumerable_1[tuple[int, str]], study: Any=study, assays: Any=assays) -> None:
|
|
25
|
+
SparseRowModule_writeToSheet(row_i + 1, r, sheet)
|
|
26
|
+
|
|
27
|
+
def _arrow2006(__unit: None=None, study: Any=study, assays: Any=assays) -> IEnumerable_1[IEnumerable_1[tuple[int, str]]]:
|
|
28
|
+
source_1: IEnumerable_1[IEnumerable_1[tuple[int, str]]] = to_rows(study, assays)
|
|
29
|
+
return append(to_enumerable([SparseRowModule_fromValues(to_enumerable(["STUDY"]))]), source_1)
|
|
30
|
+
|
|
31
|
+
iterate_indexed(action, _arrow2006())
|
|
32
|
+
return sheet
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def ArcStudy_fromRows(rows: IEnumerable_1[IEnumerable_1[tuple[int, str]]]) -> tuple[ArcStudy, FSharpList[ArcAssay]] | None:
|
|
36
|
+
en: IEnumerator[IEnumerable_1[tuple[int, str]]] = get_enumerator(rows)
|
|
37
|
+
ignore(en.System_Collections_IEnumerator_MoveNext())
|
|
38
|
+
return from_rows(2, en)[3]
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def ArcStudy_fromMetadataSheet(sheet: FsWorksheet) -> tuple[ArcStudy, FSharpList[ArcAssay]]:
|
|
42
|
+
try:
|
|
43
|
+
return default_arg(ArcStudy_fromRows(map(SparseRowModule_fromFsRow, sheet.Rows)), (ArcStudy.create(create_missing_identifier()), empty()))
|
|
44
|
+
|
|
45
|
+
except Exception as err:
|
|
46
|
+
arg: str = str(err)
|
|
47
|
+
return to_fail(printf("Failed while parsing metadatasheet: %s"))(arg)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def ArcStudy_toMetadataCollection(study: ArcStudy, assays: FSharpList[ArcAssay] | None=None) -> IEnumerable_1[IEnumerable_1[str | None]]:
|
|
52
|
+
def mapping(row: IEnumerable_1[tuple[int, str]], study: Any=study, assays: Any=assays) -> IEnumerable_1[str | None]:
|
|
53
|
+
return SparseRowModule_getAllValues(row)
|
|
54
|
+
|
|
55
|
+
def _arrow2007(__unit: None=None, study: Any=study, assays: Any=assays) -> IEnumerable_1[IEnumerable_1[tuple[int, str]]]:
|
|
56
|
+
source_1: IEnumerable_1[IEnumerable_1[tuple[int, str]]] = to_rows(study, assays)
|
|
57
|
+
return append(to_enumerable([SparseRowModule_fromValues(to_enumerable(["STUDY"]))]), source_1)
|
|
58
|
+
|
|
59
|
+
return map(mapping, _arrow2007())
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
def ArcStudy_fromMetadataCollection(collection: IEnumerable_1[IEnumerable_1[str | None]]) -> tuple[ArcStudy, FSharpList[ArcAssay]]:
|
|
63
|
+
try:
|
|
64
|
+
return default_arg(ArcStudy_fromRows(map(SparseRowModule_fromAllValues, collection)), (ArcStudy.create(create_missing_identifier()), empty()))
|
|
65
|
+
|
|
66
|
+
except Exception as err:
|
|
67
|
+
arg: str = str(err)
|
|
68
|
+
return to_fail(printf("Failed while parsing metadatasheet: %s"))(arg)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def ArcStudy_isMetadataSheetName(name: str) -> bool:
|
|
73
|
+
if name == "isa_study":
|
|
74
|
+
return True
|
|
75
|
+
|
|
76
|
+
else:
|
|
77
|
+
return name == "Study"
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def ArcStudy_isMetadataSheet(sheet: FsWorksheet) -> bool:
|
|
82
|
+
return ArcStudy_isMetadataSheetName(sheet.Name)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def ArcStudy_tryGetMetadataSheet(doc: FsWorkbook) -> FsWorksheet | None:
|
|
86
|
+
def predicate(sheet: FsWorksheet, doc: Any=doc) -> bool:
|
|
87
|
+
return ArcStudy_isMetadataSheet(sheet)
|
|
88
|
+
|
|
89
|
+
return try_find(predicate, doc.GetWorksheets())
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def ARCtrl_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D(doc: FsWorkbook) -> tuple[ArcStudy, FSharpList[ArcAssay]]:
|
|
93
|
+
try:
|
|
94
|
+
pattern_input: tuple[ArcStudy, FSharpList[ArcAssay]]
|
|
95
|
+
match_value: FsWorksheet | None = ArcStudy_tryGetMetadataSheet(doc)
|
|
96
|
+
if match_value is None:
|
|
97
|
+
to_console(printf("Cannot retrieve metadata: Study file does not contain \"%s\" or \"%s\" sheet."))("isa_study")("Study")
|
|
98
|
+
pattern_input = (ArcStudy.create(create_missing_identifier()), empty())
|
|
99
|
+
|
|
100
|
+
else:
|
|
101
|
+
pattern_input = ArcStudy_fromMetadataSheet(match_value)
|
|
102
|
+
|
|
103
|
+
study_metadata: ArcStudy = pattern_input[0]
|
|
104
|
+
sheets: Array[FsWorksheet] = doc.GetWorksheets()
|
|
105
|
+
annotation_tables: Array[ArcTable] = ResizeArray_choose(try_from_fs_worksheet, sheets)
|
|
106
|
+
datamap_sheet: Datamap | None = try_pick(try_from_fs_worksheet_1, sheets)
|
|
107
|
+
if not ResizeArray_isEmpty(annotation_tables):
|
|
108
|
+
study_metadata.Tables = annotation_tables
|
|
109
|
+
|
|
110
|
+
study_metadata.Datamap = datamap_sheet
|
|
111
|
+
return (study_metadata, pattern_input[1])
|
|
112
|
+
|
|
113
|
+
except Exception as err:
|
|
114
|
+
arg_2: str = str(err)
|
|
115
|
+
return to_fail(printf("Could not parse study: \n%s"))(arg_2)
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
def ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522(study: ArcStudy, assays: FSharpList[ArcAssay] | None=None, datamap_sheet: bool | None=None) -> FsWorkbook:
|
|
120
|
+
datamap_sheet_1: bool = default_arg(datamap_sheet, True)
|
|
121
|
+
doc: FsWorkbook = FsWorkbook()
|
|
122
|
+
metadata_sheet: FsWorksheet = ArcStudy_toMetadataSheet(study, assays)
|
|
123
|
+
doc.AddWorksheet(metadata_sheet)
|
|
124
|
+
if datamap_sheet_1:
|
|
125
|
+
def action(arg: Datamap, study: Any=study, assays: Any=assays, datamap_sheet: Any=datamap_sheet) -> None:
|
|
126
|
+
sheet: FsWorksheet = to_fs_worksheet(arg)
|
|
127
|
+
doc.AddWorksheet(sheet)
|
|
128
|
+
|
|
129
|
+
iterate(action, to_array(study.Datamap))
|
|
130
|
+
|
|
131
|
+
def action_1(i: int, arg_1: ArcTable, study: Any=study, assays: Any=assays, datamap_sheet: Any=datamap_sheet) -> None:
|
|
132
|
+
sheet_1: FsWorksheet = to_fs_worksheet_1(i, arg_1)
|
|
133
|
+
doc.AddWorksheet(sheet_1)
|
|
134
|
+
|
|
135
|
+
iterate_indexed(action_1, study.Tables)
|
|
136
|
+
return doc
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
def ARCtrl_ArcStudy__ArcStudy_ToFsWorkbook_257FC1F0(this: ArcStudy, assays: FSharpList[ArcAssay] | None=None, datamap_sheet: bool | None=None) -> FsWorkbook:
|
|
140
|
+
return ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522(this, assays, datamap_sheet)
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
__all__ = ["ArcStudy_toMetadataSheet", "ArcStudy_fromRows", "ArcStudy_fromMetadataSheet", "ArcStudy_toMetadataCollection", "ArcStudy_fromMetadataCollection", "ArcStudy_isMetadataSheetName", "ArcStudy_isMetadataSheet", "ArcStudy_tryGetMetadataSheet", "ARCtrl_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D", "ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522", "ARCtrl_ArcStudy__ArcStudy_ToFsWorkbook_257FC1F0"]
|
|
144
|
+
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from typing import Any
|
|
4
|
+
from ..fable_modules.fable_library.list import (FSharpList, empty, of_seq)
|
|
5
|
+
from ..fable_modules.fable_library.seq import (delay, append, singleton, iterate_indexed, map, try_find, try_pick)
|
|
6
|
+
from ..fable_modules.fable_library.string_ import (to_fail, printf, to_console)
|
|
7
|
+
from ..fable_modules.fable_library.util import (get_enumerator, IEnumerable_1, IEnumerator, to_enumerable)
|
|
8
|
+
from ..fable_modules.fs_spreadsheet.fs_row import FsRow
|
|
9
|
+
from ..fable_modules.fs_spreadsheet.fs_workbook import FsWorkbook
|
|
10
|
+
from ..fable_modules.fs_spreadsheet.fs_worksheet import FsWorksheet
|
|
11
|
+
from ..Core.arc_types import ArcWorkflow
|
|
12
|
+
from ..Core.comment import Remark
|
|
13
|
+
from ..Core.datamap import Datamap
|
|
14
|
+
from ..Core.Helper.identifier import create_missing_identifier
|
|
15
|
+
from ..Core.person import Person
|
|
16
|
+
from .DatamapTable.datamap_table import try_from_fs_worksheet
|
|
17
|
+
from .Metadata.contacts import (from_rows as from_rows_1, to_rows as to_rows_1)
|
|
18
|
+
from .Metadata.sparse_table import (SparseRowModule_tryGetValueAt, SparseRowModule_fromValues, SparseRowModule_writeToSheet, SparseRowModule_fromFsRow, SparseRowModule_getAllValues, SparseRowModule_fromAllValues)
|
|
19
|
+
from .Metadata.workflow import (from_rows, to_rows)
|
|
20
|
+
|
|
21
|
+
def ArcWorkflow_fromRows(rows: IEnumerable_1[IEnumerable_1[tuple[int, str]]]) -> ArcWorkflow:
|
|
22
|
+
en: IEnumerator[IEnumerable_1[tuple[int, str]]] = get_enumerator(rows)
|
|
23
|
+
def loop(last_row_mut: str | None, workflow_mut: ArcWorkflow | None, contacts_mut: FSharpList[Person], row_number_mut: int, rows: Any=rows) -> ArcWorkflow:
|
|
24
|
+
while True:
|
|
25
|
+
(last_row, workflow, contacts, row_number) = (last_row_mut, workflow_mut, contacts_mut, row_number_mut)
|
|
26
|
+
(pattern_matching_result,) = (None,)
|
|
27
|
+
if last_row is not None:
|
|
28
|
+
if last_row == "WORKFLOW":
|
|
29
|
+
pattern_matching_result = 0
|
|
30
|
+
|
|
31
|
+
elif last_row == "WORKFLOW CONTACTS":
|
|
32
|
+
pattern_matching_result = 1
|
|
33
|
+
|
|
34
|
+
else:
|
|
35
|
+
pattern_matching_result = 2
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
else:
|
|
39
|
+
pattern_matching_result = 2
|
|
40
|
+
|
|
41
|
+
if pattern_matching_result == 0:
|
|
42
|
+
pattern_input: tuple[str | None, int, FSharpList[Remark], ArcWorkflow] = from_rows(row_number + 1, en)
|
|
43
|
+
last_row_mut = pattern_input[0]
|
|
44
|
+
workflow_mut = pattern_input[3]
|
|
45
|
+
contacts_mut = contacts
|
|
46
|
+
row_number_mut = pattern_input[1]
|
|
47
|
+
continue
|
|
48
|
+
|
|
49
|
+
elif pattern_matching_result == 1:
|
|
50
|
+
pattern_input_1: tuple[str | None, int, FSharpList[Remark], FSharpList[Person]] = from_rows_1("Workflow Person", row_number + 1, en)
|
|
51
|
+
last_row_mut = pattern_input_1[0]
|
|
52
|
+
workflow_mut = workflow
|
|
53
|
+
contacts_mut = pattern_input_1[3]
|
|
54
|
+
row_number_mut = pattern_input_1[1]
|
|
55
|
+
continue
|
|
56
|
+
|
|
57
|
+
elif pattern_matching_result == 2:
|
|
58
|
+
if workflow is not None:
|
|
59
|
+
workflow_2: ArcWorkflow = workflow
|
|
60
|
+
workflow_2.Contacts = list(contacts)
|
|
61
|
+
return workflow_2
|
|
62
|
+
|
|
63
|
+
else:
|
|
64
|
+
return ArcWorkflow.create(create_missing_identifier(), None, None, None, None, None, None, None, None, None, list(contacts))
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
break
|
|
68
|
+
|
|
69
|
+
if en.System_Collections_IEnumerator_MoveNext():
|
|
70
|
+
return loop(SparseRowModule_tryGetValueAt(0, en.System_Collections_Generic_IEnumerator_1_get_Current()), None, empty(), 1)
|
|
71
|
+
|
|
72
|
+
else:
|
|
73
|
+
raise Exception("empty workflow metadata sheet")
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
def ArcWorkflow_toRows(workflow: ArcWorkflow) -> IEnumerable_1[IEnumerable_1[tuple[int, str]]]:
|
|
78
|
+
def _arrow2011(__unit: None=None, workflow: Any=workflow) -> IEnumerable_1[IEnumerable_1[tuple[int, str]]]:
|
|
79
|
+
def _arrow2010(__unit: None=None) -> IEnumerable_1[IEnumerable_1[tuple[int, str]]]:
|
|
80
|
+
def _arrow2009(__unit: None=None) -> IEnumerable_1[IEnumerable_1[tuple[int, str]]]:
|
|
81
|
+
def _arrow2008(__unit: None=None) -> IEnumerable_1[IEnumerable_1[tuple[int, str]]]:
|
|
82
|
+
return to_rows_1("Workflow Person", of_seq(workflow.Contacts))
|
|
83
|
+
|
|
84
|
+
return append(singleton(SparseRowModule_fromValues(to_enumerable(["WORKFLOW CONTACTS"]))), delay(_arrow2008))
|
|
85
|
+
|
|
86
|
+
return append(to_rows(workflow), delay(_arrow2009))
|
|
87
|
+
|
|
88
|
+
return append(singleton(SparseRowModule_fromValues(to_enumerable(["WORKFLOW"]))), delay(_arrow2010))
|
|
89
|
+
|
|
90
|
+
return delay(_arrow2011)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
def ArcWorkflow_toMetadataSheet(workflow: ArcWorkflow) -> FsWorksheet:
|
|
94
|
+
sheet: FsWorksheet = FsWorksheet("isa_workflow")
|
|
95
|
+
def action(row_i: int, r: IEnumerable_1[tuple[int, str]], workflow: Any=workflow) -> None:
|
|
96
|
+
SparseRowModule_writeToSheet(row_i + 1, r, sheet)
|
|
97
|
+
|
|
98
|
+
iterate_indexed(action, ArcWorkflow_toRows(workflow))
|
|
99
|
+
return sheet
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
def ArcWorkflow_fromMetadataSheet(sheet: FsWorksheet) -> ArcWorkflow:
|
|
103
|
+
try:
|
|
104
|
+
return ArcWorkflow_fromRows(map(SparseRowModule_fromFsRow, sheet.Rows))
|
|
105
|
+
|
|
106
|
+
except Exception as err:
|
|
107
|
+
arg: str = str(err)
|
|
108
|
+
return to_fail(printf("Failed while parsing metadatasheet: %s"))(arg)
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
def ArcWorkflow_toMetadataCollection(workflow: ArcWorkflow) -> IEnumerable_1[IEnumerable_1[str | None]]:
|
|
113
|
+
def mapping(row: IEnumerable_1[tuple[int, str]], workflow: Any=workflow) -> IEnumerable_1[str | None]:
|
|
114
|
+
return SparseRowModule_getAllValues(row)
|
|
115
|
+
|
|
116
|
+
return map(mapping, ArcWorkflow_toRows(workflow))
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
def ArcWorkflow_fromMetadataCollection(collection: IEnumerable_1[IEnumerable_1[str | None]]) -> ArcWorkflow:
|
|
120
|
+
try:
|
|
121
|
+
return ArcWorkflow_fromRows(map(SparseRowModule_fromAllValues, collection))
|
|
122
|
+
|
|
123
|
+
except Exception as err:
|
|
124
|
+
arg: str = str(err)
|
|
125
|
+
return to_fail(printf("Failed while parsing metadatasheet: %s"))(arg)
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
def ArcWorkflow_isMetadataSheetName(name: str) -> bool:
|
|
130
|
+
return name == "isa_workflow"
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
def ArcWorkflow_isMetadataSheet(sheet: FsWorksheet) -> bool:
|
|
134
|
+
return ArcWorkflow_isMetadataSheetName(sheet.Name)
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
def ArcWorkflow_tryGetMetadataSheet(doc: FsWorkbook) -> FsWorksheet | None:
|
|
138
|
+
def predicate(sheet: FsWorksheet, doc: Any=doc) -> bool:
|
|
139
|
+
return ArcWorkflow_isMetadataSheet(sheet)
|
|
140
|
+
|
|
141
|
+
return try_find(predicate, doc.GetWorksheets())
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
def ARCtrl_ArcWorkflow__ArcWorkflow_fromFsWorkbook_Static_32154C9D(doc: FsWorkbook) -> ArcWorkflow:
|
|
145
|
+
try:
|
|
146
|
+
workflow_metadata: ArcWorkflow
|
|
147
|
+
match_value: FsWorksheet | None = ArcWorkflow_tryGetMetadataSheet(doc)
|
|
148
|
+
if match_value is None:
|
|
149
|
+
to_console(printf("Cannot retrieve metadata: Workflow file does not contain \"%s\" sheet."))("isa_workflow")
|
|
150
|
+
workflow_metadata = ArcWorkflow.create(create_missing_identifier())
|
|
151
|
+
|
|
152
|
+
else:
|
|
153
|
+
workflow_metadata = ArcWorkflow_fromMetadataSheet(match_value)
|
|
154
|
+
|
|
155
|
+
datamap_sheet: Datamap | None = try_pick(try_from_fs_worksheet, doc.GetWorksheets())
|
|
156
|
+
workflow_metadata.Datamap = datamap_sheet
|
|
157
|
+
return workflow_metadata
|
|
158
|
+
|
|
159
|
+
except Exception as err:
|
|
160
|
+
arg_1: str = str(err)
|
|
161
|
+
return to_fail(printf("Could not parse assay: \n%s"))(arg_1)
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
def ARCtrl_ArcWorkflow__ArcWorkflow_toFsWorkbook_Static_Z1C75CB0E(workflow: ArcWorkflow) -> FsWorkbook:
|
|
166
|
+
doc: FsWorkbook = FsWorkbook()
|
|
167
|
+
metadata_sheet: FsWorksheet = ArcWorkflow_toMetadataSheet(workflow)
|
|
168
|
+
doc.AddWorksheet(metadata_sheet)
|
|
169
|
+
return doc
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
def ARCtrl_ArcWorkflow__ArcWorkflow_ToFsWorkbook(this: ArcWorkflow) -> FsWorkbook:
|
|
173
|
+
return ARCtrl_ArcWorkflow__ArcWorkflow_toFsWorkbook_Static_Z1C75CB0E(this)
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
__all__ = ["ArcWorkflow_fromRows", "ArcWorkflow_toRows", "ArcWorkflow_toMetadataSheet", "ArcWorkflow_fromMetadataSheet", "ArcWorkflow_toMetadataCollection", "ArcWorkflow_fromMetadataCollection", "ArcWorkflow_isMetadataSheetName", "ArcWorkflow_isMetadataSheet", "ArcWorkflow_tryGetMetadataSheet", "ARCtrl_ArcWorkflow__ArcWorkflow_fromFsWorkbook_Static_32154C9D", "ARCtrl_ArcWorkflow__ArcWorkflow_toFsWorkbook_Static_Z1C75CB0E", "ARCtrl_ArcWorkflow__ArcWorkflow_ToFsWorkbook"]
|
|
177
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from typing import (Any, TypeVar)
|
|
4
|
+
from ..fable_modules.fable_library.array_ import (initialize, skip as skip_1, try_item)
|
|
5
|
+
from ..fable_modules.fable_library.list import (try_pick, FSharpList, is_empty, reverse, head, cons, tail, empty)
|
|
6
|
+
from ..fable_modules.fable_library.map_util import try_get_value
|
|
7
|
+
from ..fable_modules.fable_library.option import (value, some)
|
|
8
|
+
from ..fable_modules.fable_library.seq import (skip, max_by, try_find)
|
|
9
|
+
from ..fable_modules.fable_library.types import (Array, FSharpRef)
|
|
10
|
+
from ..fable_modules.fable_library.util import (IEnumerable_1, compare_primitives)
|
|
11
|
+
|
|
12
|
+
__A = TypeVar("__A")
|
|
13
|
+
|
|
14
|
+
_T = TypeVar("_T")
|
|
15
|
+
|
|
16
|
+
_A = TypeVar("_A")
|
|
17
|
+
|
|
18
|
+
_B = TypeVar("_B")
|
|
19
|
+
|
|
20
|
+
_C = TypeVar("_C")
|
|
21
|
+
|
|
22
|
+
_D = TypeVar("_D")
|
|
23
|
+
|
|
24
|
+
_U = TypeVar("_U")
|
|
25
|
+
|
|
26
|
+
__B = TypeVar("__B")
|
|
27
|
+
|
|
28
|
+
__C = TypeVar("__C")
|
|
29
|
+
|
|
30
|
+
__D = TypeVar("__D")
|
|
31
|
+
|
|
32
|
+
_V = TypeVar("_V")
|
|
33
|
+
|
|
34
|
+
def Seq_trySkip(i: int, s: IEnumerable_1[Any]) -> IEnumerable_1[Any] | None:
|
|
35
|
+
try:
|
|
36
|
+
return skip(i, s)
|
|
37
|
+
|
|
38
|
+
except Exception as match_value:
|
|
39
|
+
return None
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def Array_ofIndexedSeq(s: IEnumerable_1[tuple[int, str]]) -> Array[str]:
|
|
44
|
+
def _arrow1456(tuple: tuple[int, str], s: Any=s) -> int:
|
|
45
|
+
return tuple[0]
|
|
46
|
+
|
|
47
|
+
class ObjectExpr1457:
|
|
48
|
+
@property
|
|
49
|
+
def Compare(self) -> Callable[[int, int], int]:
|
|
50
|
+
return compare_primitives
|
|
51
|
+
|
|
52
|
+
def _arrow1459(i: int, s: Any=s) -> str:
|
|
53
|
+
def _arrow1458(arg: tuple[int, str]) -> bool:
|
|
54
|
+
return i == arg[0]
|
|
55
|
+
|
|
56
|
+
match_value: tuple[int, str] | None = try_find(_arrow1458, s)
|
|
57
|
+
if match_value is None:
|
|
58
|
+
return ""
|
|
59
|
+
|
|
60
|
+
else:
|
|
61
|
+
i_1: int = match_value[0] or 0
|
|
62
|
+
return match_value[1]
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
return initialize(1 + max_by(_arrow1456, s, ObjectExpr1457())[0], _arrow1459, None)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def Array_trySkip(i: int, a: Array[Any]) -> Array[Any] | None:
|
|
69
|
+
try:
|
|
70
|
+
return skip_1(i, a, None)
|
|
71
|
+
|
|
72
|
+
except Exception as match_value:
|
|
73
|
+
return None
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
def Array_tryItemDefault(i: int, d: Any, a: Array[Any]) -> Any:
|
|
78
|
+
match_value: __A | None = try_item(i, a)
|
|
79
|
+
if match_value is None:
|
|
80
|
+
return d
|
|
81
|
+
|
|
82
|
+
else:
|
|
83
|
+
return value(match_value)
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def Array_map4(f: Callable[[_A, _B, _C, _D], _T], aa: Array[Any], ba: Array[Any], ca: Array[Any], da: Array[Any]) -> Array[Any]:
|
|
88
|
+
if not ((len(ca) == len(da)) if ((len(ba) == len(ca)) if (len(aa) == len(ba)) else False) else False):
|
|
89
|
+
raise Exception("")
|
|
90
|
+
|
|
91
|
+
def _arrow1461(i: int, f: Any=f, aa: Any=aa, ba: Any=ba, ca: Any=ca, da: Any=da) -> _T:
|
|
92
|
+
return f(aa[i], ba[i], ca[i], da[i])
|
|
93
|
+
|
|
94
|
+
return initialize(len(aa), _arrow1461, None)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
def List_tryPickDefault(chooser: Callable[[_T], _U | None], d: Any, list_1: FSharpList[Any]) -> Any:
|
|
98
|
+
match_value: _U | None = try_pick(chooser, list_1)
|
|
99
|
+
if match_value is None:
|
|
100
|
+
return d
|
|
101
|
+
|
|
102
|
+
else:
|
|
103
|
+
return value(match_value)
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
def List_unzip4(l: FSharpList[tuple[_A, _B, _C, _D]]) -> tuple[FSharpList[_A], FSharpList[_B], FSharpList[_C], FSharpList[_D]]:
|
|
108
|
+
def loop(la_mut: FSharpList[Any], lb_mut: FSharpList[Any], lc_mut: FSharpList[Any], ld_mut: FSharpList[Any], l_1_mut: FSharpList[tuple[__A, __B, __C, __D]], l: Any=l) -> tuple[FSharpList[__A], FSharpList[__B], FSharpList[__C], FSharpList[__D]]:
|
|
109
|
+
while True:
|
|
110
|
+
(la, lb, lc, ld, l_1) = (la_mut, lb_mut, lc_mut, ld_mut, l_1_mut)
|
|
111
|
+
if is_empty(l_1):
|
|
112
|
+
return (reverse(la), reverse(lb), reverse(lc), reverse(ld))
|
|
113
|
+
|
|
114
|
+
else:
|
|
115
|
+
la_mut = cons(head(l_1)[0], la)
|
|
116
|
+
lb_mut = cons(head(l_1)[1], lb)
|
|
117
|
+
lc_mut = cons(head(l_1)[2], lc)
|
|
118
|
+
ld_mut = cons(head(l_1)[3], ld)
|
|
119
|
+
l_1_mut = tail(l_1)
|
|
120
|
+
continue
|
|
121
|
+
|
|
122
|
+
break
|
|
123
|
+
|
|
124
|
+
return loop(empty(), empty(), empty(), empty(), l)
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
def Dictionary_tryGetValue(k: Any, dict_1: Any) -> Any | None:
|
|
128
|
+
pattern_input: tuple[bool, _V]
|
|
129
|
+
out_arg: _V = None
|
|
130
|
+
def _arrow1466(__unit: None=None, k: Any=k, dict_1: Any=dict_1) -> _V:
|
|
131
|
+
return out_arg
|
|
132
|
+
|
|
133
|
+
def _arrow1467(v: _V | None=None, k: Any=k, dict_1: Any=dict_1) -> None:
|
|
134
|
+
nonlocal out_arg
|
|
135
|
+
out_arg = v
|
|
136
|
+
|
|
137
|
+
pattern_input = (try_get_value(dict_1, k, FSharpRef(_arrow1466, _arrow1467)), out_arg)
|
|
138
|
+
if pattern_input[0]:
|
|
139
|
+
return some(pattern_input[1])
|
|
140
|
+
|
|
141
|
+
else:
|
|
142
|
+
return None
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
def Dictionary_tryGetString(k: Any, dict_1: Any) -> str | None:
|
|
147
|
+
pattern_input: tuple[bool, str]
|
|
148
|
+
out_arg: str = None
|
|
149
|
+
def _arrow1468(__unit: None=None, k: Any=k, dict_1: Any=dict_1) -> str:
|
|
150
|
+
return out_arg
|
|
151
|
+
|
|
152
|
+
def _arrow1469(v: str, k: Any=k, dict_1: Any=dict_1) -> None:
|
|
153
|
+
nonlocal out_arg
|
|
154
|
+
out_arg = v
|
|
155
|
+
|
|
156
|
+
pattern_input = (try_get_value(dict_1, k, FSharpRef(_arrow1468, _arrow1469)), out_arg)
|
|
157
|
+
v_1: str = pattern_input[1]
|
|
158
|
+
if (v_1.strip() != "") if pattern_input[0] else False:
|
|
159
|
+
return v_1.strip()
|
|
160
|
+
|
|
161
|
+
else:
|
|
162
|
+
return None
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
__all__ = ["Seq_trySkip", "Array_ofIndexedSeq", "Array_trySkip", "Array_tryItemDefault", "Array_map4", "List_tryPickDefault", "List_unzip4", "Dictionary_tryGetValue", "Dictionary_tryGetString"]
|
|
167
|
+
|