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,54 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from typing import (Any, TypeVar)
|
|
3
|
+
from ...fable_library.seq import map
|
|
4
|
+
from ...fable_library.util import (to_enumerable, IEnumerable_1)
|
|
5
|
+
from ...thoth_json_core.decode import (object, IRequiredGetter, string, IGetters)
|
|
6
|
+
from ...thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
|
|
7
|
+
from ..Ranges.fs_range_address import FsRangeAddress
|
|
8
|
+
from ..Tables.fs_table import FsTable
|
|
9
|
+
|
|
10
|
+
__A_ = TypeVar("__A_")
|
|
11
|
+
|
|
12
|
+
def encode(sheet: FsTable) -> IEncodable:
|
|
13
|
+
def _arrow530(__unit: None=None, sheet: Any=sheet) -> IEncodable:
|
|
14
|
+
value: str = sheet.Name
|
|
15
|
+
class ObjectExpr529(IEncodable):
|
|
16
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
|
|
17
|
+
return helpers.encode_string(value)
|
|
18
|
+
|
|
19
|
+
return ObjectExpr529()
|
|
20
|
+
|
|
21
|
+
def _arrow532(__unit: None=None, sheet: Any=sheet) -> IEncodable:
|
|
22
|
+
value_1: str = sheet.RangeAddress.Range
|
|
23
|
+
class ObjectExpr531(IEncodable):
|
|
24
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
|
|
25
|
+
return helpers_1.encode_string(value_1)
|
|
26
|
+
|
|
27
|
+
return ObjectExpr531()
|
|
28
|
+
|
|
29
|
+
values: IEnumerable_1[tuple[str, IEncodable]] = to_enumerable([("name", _arrow530()), ("range", _arrow532())])
|
|
30
|
+
class ObjectExpr533(IEncodable):
|
|
31
|
+
def Encode(self, helpers_2: IEncoderHelpers_1[Any], sheet: Any=sheet) -> Any:
|
|
32
|
+
def mapping(tupled_arg: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
33
|
+
return (tupled_arg[0], tupled_arg[1].Encode(helpers_2))
|
|
34
|
+
|
|
35
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map(mapping, values)
|
|
36
|
+
return helpers_2.encode_object(arg)
|
|
37
|
+
|
|
38
|
+
return ObjectExpr533()
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def _arrow534(builder: IGetters) -> FsTable:
|
|
42
|
+
n: str
|
|
43
|
+
object_arg: IRequiredGetter = builder.Required
|
|
44
|
+
n = object_arg.Field("name", string)
|
|
45
|
+
r: str
|
|
46
|
+
object_arg_1: IRequiredGetter = builder.Required
|
|
47
|
+
r = object_arg_1.Field("range", string)
|
|
48
|
+
return FsTable(n, FsRangeAddress.from_string(r))
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
decode: Decoder_1[FsTable] = object(_arrow534)
|
|
52
|
+
|
|
53
|
+
__all__ = ["encode", "decode"]
|
|
54
|
+
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from abc import abstractmethod
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from typing import (Any, Protocol)
|
|
5
|
+
from ...fable_library.date import (to_universal_time, to_string)
|
|
6
|
+
from ...fable_library.list import of_array
|
|
7
|
+
from ...thoth_json_core.decode import (map, datetime_local, one_of, bool_1, int_1, float_1, string)
|
|
8
|
+
from ...thoth_json_core.types import (Decoder_1, IEncodable, IEncoderHelpers_1)
|
|
9
|
+
from ..Cells.fs_cell import DataType
|
|
10
|
+
|
|
11
|
+
class DateTimeStatic(Protocol):
|
|
12
|
+
@abstractmethod
|
|
13
|
+
def from_time_stamp(self, timestamp: float) -> Any:
|
|
14
|
+
...
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def PyTime_toUniversalTimePy(dt: Any) -> Any:
|
|
18
|
+
timestamp: float = to_universal_time(dt).timestamp()
|
|
19
|
+
return datetime.fromtimestamp(timestamp=timestamp)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
Decode_datetime: Decoder_1[Any] = map(PyTime_toUniversalTimePy, datetime_local)
|
|
23
|
+
|
|
24
|
+
def encode(value: Any=None) -> IEncodable:
|
|
25
|
+
if str(type(value)) == "<class \'str\'>":
|
|
26
|
+
class ObjectExpr498(IEncodable):
|
|
27
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any], value: Any=value) -> Any:
|
|
28
|
+
return helpers.encode_string(value)
|
|
29
|
+
|
|
30
|
+
return ObjectExpr498()
|
|
31
|
+
|
|
32
|
+
elif str(type(value)) == "<class \'float\'>":
|
|
33
|
+
class ObjectExpr499(IEncodable):
|
|
34
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any], value: Any=value) -> Any:
|
|
35
|
+
return helpers_1.encode_decimal_number(value)
|
|
36
|
+
|
|
37
|
+
return ObjectExpr499()
|
|
38
|
+
|
|
39
|
+
elif str(type(value)) == "<class \'int\'>":
|
|
40
|
+
class ObjectExpr500(IEncodable):
|
|
41
|
+
def Encode(self, helpers_2: IEncoderHelpers_1[Any], value: Any=value) -> Any:
|
|
42
|
+
return helpers_2.encode_signed_integral_number(value)
|
|
43
|
+
|
|
44
|
+
return ObjectExpr500()
|
|
45
|
+
|
|
46
|
+
elif str(type(value)) == "<class \'bool\'>":
|
|
47
|
+
class ObjectExpr501(IEncodable):
|
|
48
|
+
def Encode(self, helpers_3: IEncoderHelpers_1[Any], value: Any=value) -> Any:
|
|
49
|
+
return helpers_3.encode_bool(value)
|
|
50
|
+
|
|
51
|
+
return ObjectExpr501()
|
|
52
|
+
|
|
53
|
+
elif isinstance(value, datetime):
|
|
54
|
+
value_5: str = to_string(value, "O", {}).split("+")[0]
|
|
55
|
+
class ObjectExpr502(IEncodable):
|
|
56
|
+
def Encode(self, helpers_4: IEncoderHelpers_1[Any], value: Any=value) -> Any:
|
|
57
|
+
return helpers_4.encode_string(value_5)
|
|
58
|
+
|
|
59
|
+
return ObjectExpr502()
|
|
60
|
+
|
|
61
|
+
else:
|
|
62
|
+
class ObjectExpr503(IEncodable):
|
|
63
|
+
def Encode(self, helpers_5: IEncoderHelpers_1[Any], value: Any=value) -> Any:
|
|
64
|
+
return helpers_5.encode_null()
|
|
65
|
+
|
|
66
|
+
return ObjectExpr503()
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def ctor(b: bool) -> tuple[Any, DataType]:
|
|
71
|
+
return (b, DataType(1))
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def ctor_1(i: int) -> tuple[Any, DataType]:
|
|
75
|
+
return (i, DataType(2))
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def ctor_2(f: float) -> tuple[Any, DataType]:
|
|
79
|
+
return (f, DataType(2))
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
def ctor_3(d_3: Any) -> tuple[Any, DataType]:
|
|
83
|
+
return (d_3, DataType(3))
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def ctor_4(s: str) -> tuple[Any, DataType]:
|
|
87
|
+
return (s, DataType(0))
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
decode: Decoder_1[tuple[Any, DataType]] = one_of(of_array([map(ctor, bool_1), map(ctor_1, int_1), map(ctor_2, float_1), map(ctor_3, Decode_datetime), map(ctor_4, string)]))
|
|
91
|
+
|
|
92
|
+
__all__ = ["PyTime_toUniversalTimePy", "Decode_datetime", "encode", "decode"]
|
|
93
|
+
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from typing import (Any, TypeVar)
|
|
3
|
+
from ...fable_library.seq import map
|
|
4
|
+
from ...fable_library.util import (to_enumerable, IEnumerable_1)
|
|
5
|
+
from ...thoth_json_core.decode import (object, seq as seq_1, IRequiredGetter, IGetters)
|
|
6
|
+
from ...thoth_json_core.encode import seq
|
|
7
|
+
from ...thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
|
|
8
|
+
from ..fs_workbook import FsWorkbook
|
|
9
|
+
from ..fs_worksheet import FsWorksheet
|
|
10
|
+
from .worksheet import (encode_rows as encode_rows_1, decode_rows as decode_rows_1, encode_columns as encode_columns_1, decode_columns as decode_columns_1)
|
|
11
|
+
|
|
12
|
+
__A_ = TypeVar("__A_")
|
|
13
|
+
|
|
14
|
+
def encode_rows(no_numbering: bool, wb: FsWorkbook) -> IEncodable:
|
|
15
|
+
def mapping(sheet: FsWorksheet, no_numbering: Any=no_numbering, wb: Any=wb) -> IEncodable:
|
|
16
|
+
return encode_rows_1(no_numbering, sheet)
|
|
17
|
+
|
|
18
|
+
values: IEnumerable_1[tuple[str, IEncodable]] = to_enumerable([("sheets", seq(map(mapping, wb.GetWorksheets())))])
|
|
19
|
+
class ObjectExpr535(IEncodable):
|
|
20
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any], no_numbering: Any=no_numbering, wb: Any=wb) -> Any:
|
|
21
|
+
def mapping_1(tupled_arg: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
22
|
+
return (tupled_arg[0], tupled_arg[1].Encode(helpers))
|
|
23
|
+
|
|
24
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map(mapping_1, values)
|
|
25
|
+
return helpers.encode_object(arg)
|
|
26
|
+
|
|
27
|
+
return ObjectExpr535()
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def _arrow536(builder: IGetters) -> FsWorkbook:
|
|
31
|
+
wb: FsWorkbook = FsWorkbook()
|
|
32
|
+
ws: IEnumerable_1[FsWorksheet]
|
|
33
|
+
arg_1: Decoder_1[IEnumerable_1[FsWorksheet]] = seq_1(decode_rows_1)
|
|
34
|
+
object_arg: IRequiredGetter = builder.Required
|
|
35
|
+
ws = object_arg.Field("sheets", arg_1)
|
|
36
|
+
wb.AddWorksheets(ws)
|
|
37
|
+
return wb
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
decode_rows: Decoder_1[FsWorkbook] = object(_arrow536)
|
|
41
|
+
|
|
42
|
+
def encode_columns(no_numbering: bool, wb: FsWorkbook) -> IEncodable:
|
|
43
|
+
def mapping(sheet: FsWorksheet, no_numbering: Any=no_numbering, wb: Any=wb) -> IEncodable:
|
|
44
|
+
return encode_columns_1(no_numbering, sheet)
|
|
45
|
+
|
|
46
|
+
values: IEnumerable_1[tuple[str, IEncodable]] = to_enumerable([("sheets", seq(map(mapping, wb.GetWorksheets())))])
|
|
47
|
+
class ObjectExpr537(IEncodable):
|
|
48
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any], no_numbering: Any=no_numbering, wb: Any=wb) -> Any:
|
|
49
|
+
def mapping_1(tupled_arg: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
50
|
+
return (tupled_arg[0], tupled_arg[1].Encode(helpers))
|
|
51
|
+
|
|
52
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map(mapping_1, values)
|
|
53
|
+
return helpers.encode_object(arg)
|
|
54
|
+
|
|
55
|
+
return ObjectExpr537()
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def _arrow538(builder: IGetters) -> FsWorkbook:
|
|
59
|
+
wb: FsWorkbook = FsWorkbook()
|
|
60
|
+
ws: IEnumerable_1[FsWorksheet]
|
|
61
|
+
arg_1: Decoder_1[IEnumerable_1[FsWorksheet]] = seq_1(decode_columns_1)
|
|
62
|
+
object_arg: IRequiredGetter = builder.Required
|
|
63
|
+
ws = object_arg.Field("sheets", arg_1)
|
|
64
|
+
wb.AddWorksheets(ws)
|
|
65
|
+
return wb
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
decode_columns: Decoder_1[FsWorkbook] = object(_arrow538)
|
|
69
|
+
|
|
70
|
+
__all__ = ["encode_rows", "decode_rows", "encode_columns", "decode_columns"]
|
|
71
|
+
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from typing import (Any, TypeVar)
|
|
3
|
+
from ...fable_library.option import default_arg
|
|
4
|
+
from ...fable_library.range import range_big_int
|
|
5
|
+
from ...fable_library.seq import (to_list, delay, map, collect, singleton, append, is_empty, empty, iterate)
|
|
6
|
+
from ...fable_library.util import (IEnumerable_1, ignore)
|
|
7
|
+
from ...thoth_json_core.decode import (object, IRequiredGetter, string, seq as seq_1, IOptionalGetter, IGetters)
|
|
8
|
+
from ...thoth_json_core.encode import seq
|
|
9
|
+
from ...thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
|
|
10
|
+
from ..Cells.fs_cell import FsCell
|
|
11
|
+
from ..fs_column import FsColumn
|
|
12
|
+
from ..fs_row import FsRow
|
|
13
|
+
from ..fs_worksheet import FsWorksheet
|
|
14
|
+
from ..Tables.fs_table import FsTable
|
|
15
|
+
from .column import (encode_no_numbers as encode_no_numbers_1, encode as encode_2, decode as decode_2)
|
|
16
|
+
from .row import (encode_no_numbers, encode, decode as decode_1)
|
|
17
|
+
from .table import (encode as encode_1, decode)
|
|
18
|
+
|
|
19
|
+
__A_ = TypeVar("__A_")
|
|
20
|
+
|
|
21
|
+
def encode_rows(no_numbering: bool, sheet: FsWorksheet) -> IEncodable:
|
|
22
|
+
sheet.RescanRows()
|
|
23
|
+
def _arrow542(__unit: None=None, no_numbering: Any=no_numbering, sheet: Any=sheet) -> IEnumerable_1[IEncodable]:
|
|
24
|
+
def _arrow541(r: int) -> IEncodable:
|
|
25
|
+
def _arrow540(__unit: None=None) -> IEnumerable_1[FsCell]:
|
|
26
|
+
def _arrow539(c: int) -> IEnumerable_1[FsCell]:
|
|
27
|
+
match_value: FsCell | None = sheet.CellCollection.TryGetCell(r, c)
|
|
28
|
+
return singleton(FsCell("")) if (match_value is None) else singleton(match_value)
|
|
29
|
+
|
|
30
|
+
return collect(_arrow539, range_big_int(1, 1, sheet.MaxColumnIndex))
|
|
31
|
+
|
|
32
|
+
return encode_no_numbers(to_list(delay(_arrow540)))
|
|
33
|
+
|
|
34
|
+
return map(_arrow541, range_big_int(1, 1, sheet.MaxRowIndex))
|
|
35
|
+
|
|
36
|
+
def mapping(row_1: FsRow, no_numbering: Any=no_numbering, sheet: Any=sheet) -> IEncodable:
|
|
37
|
+
return encode(row_1)
|
|
38
|
+
|
|
39
|
+
j_rows: IEncodable = seq(to_list(delay(_arrow542))) if no_numbering else seq(map(mapping, sheet.Rows))
|
|
40
|
+
def _arrow547(__unit: None=None, no_numbering: Any=no_numbering, sheet: Any=sheet) -> IEnumerable_1[tuple[str, IEncodable]]:
|
|
41
|
+
def _arrow544(__unit: None=None) -> IEncodable:
|
|
42
|
+
value: str = sheet.Name
|
|
43
|
+
class ObjectExpr543(IEncodable):
|
|
44
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
|
|
45
|
+
return helpers.encode_string(value)
|
|
46
|
+
|
|
47
|
+
return ObjectExpr543()
|
|
48
|
+
|
|
49
|
+
def _arrow546(__unit: None=None) -> IEnumerable_1[tuple[str, IEncodable]]:
|
|
50
|
+
def _arrow545(__unit: None=None) -> IEnumerable_1[tuple[str, IEncodable]]:
|
|
51
|
+
return singleton(("rows", j_rows))
|
|
52
|
+
|
|
53
|
+
return append(singleton(("tables", seq(map(encode_1, sheet.Tables)))) if (not is_empty(sheet.Tables)) else empty(), delay(_arrow545))
|
|
54
|
+
|
|
55
|
+
return append(singleton(("name", _arrow544())), delay(_arrow546))
|
|
56
|
+
|
|
57
|
+
values_1: IEnumerable_1[tuple[str, IEncodable]] = to_list(delay(_arrow547))
|
|
58
|
+
class ObjectExpr548(IEncodable):
|
|
59
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any], no_numbering: Any=no_numbering, sheet: Any=sheet) -> Any:
|
|
60
|
+
def mapping_2(tupled_arg: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
61
|
+
return (tupled_arg[0], tupled_arg[1].Encode(helpers_1))
|
|
62
|
+
|
|
63
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map(mapping_2, values_1)
|
|
64
|
+
return helpers_1.encode_object(arg)
|
|
65
|
+
|
|
66
|
+
return ObjectExpr548()
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def _arrow550(builder: IGetters) -> FsWorksheet:
|
|
70
|
+
row_index: int = 0
|
|
71
|
+
n: str
|
|
72
|
+
object_arg: IRequiredGetter = builder.Required
|
|
73
|
+
n = object_arg.Field("name", string)
|
|
74
|
+
ts: IEnumerable_1[FsTable] | None
|
|
75
|
+
arg_3: Decoder_1[IEnumerable_1[FsTable]] = seq_1(decode)
|
|
76
|
+
object_arg_1: IOptionalGetter = builder.Optional
|
|
77
|
+
ts = object_arg_1.Field("tables", arg_3)
|
|
78
|
+
def _arrow549(__unit: None=None) -> IEnumerable_1[tuple[int | None, IEnumerable_1[FsCell]]] | None:
|
|
79
|
+
arg_5: Decoder_1[IEnumerable_1[tuple[int | None, IEnumerable_1[FsCell]]]] = seq_1(decode_1)
|
|
80
|
+
object_arg_2: IOptionalGetter = builder.Optional
|
|
81
|
+
return object_arg_2.Field("rows", arg_5)
|
|
82
|
+
|
|
83
|
+
rs: IEnumerable_1[tuple[int | None, IEnumerable_1[FsCell]]] = default_arg(_arrow549(), empty())
|
|
84
|
+
sheet: FsWorksheet = FsWorksheet(n)
|
|
85
|
+
def action_1(tupled_arg: tuple[int | None, IEnumerable_1[FsCell]]) -> None:
|
|
86
|
+
nonlocal row_index
|
|
87
|
+
row_i: int | None = tupled_arg[0]
|
|
88
|
+
col_index: int = 0
|
|
89
|
+
row_i_1: int = ((row_index + 1) if (row_i is None) else row_i) or 0
|
|
90
|
+
row_index = row_i_1 or 0
|
|
91
|
+
r: FsRow = sheet.Row(row_i_1)
|
|
92
|
+
def action(cell: FsCell, tupled_arg: Any=tupled_arg) -> None:
|
|
93
|
+
nonlocal col_index
|
|
94
|
+
col_i: int
|
|
95
|
+
match_value: int = cell.ColumnNumber or 0
|
|
96
|
+
col_i = (col_index + 1) if (match_value == 0) else match_value
|
|
97
|
+
col_index = col_i or 0
|
|
98
|
+
c: FsCell = r.Item(col_i)
|
|
99
|
+
c.Value = cell.Value
|
|
100
|
+
c.DataType = cell.DataType
|
|
101
|
+
|
|
102
|
+
iterate(action, tupled_arg[1])
|
|
103
|
+
|
|
104
|
+
iterate(action_1, rs)
|
|
105
|
+
if ts is None:
|
|
106
|
+
pass
|
|
107
|
+
|
|
108
|
+
else:
|
|
109
|
+
def action_2(t: FsTable) -> None:
|
|
110
|
+
ignore(sheet.AddTable(t))
|
|
111
|
+
|
|
112
|
+
iterate(action_2, ts)
|
|
113
|
+
|
|
114
|
+
return sheet
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
decode_rows: Decoder_1[FsWorksheet] = object(_arrow550)
|
|
118
|
+
|
|
119
|
+
def encode_columns(no_numbering: bool, sheet: FsWorksheet) -> IEncodable:
|
|
120
|
+
sheet.RescanRows()
|
|
121
|
+
def _arrow554(__unit: None=None, no_numbering: Any=no_numbering, sheet: Any=sheet) -> IEnumerable_1[IEncodable]:
|
|
122
|
+
def _arrow553(c: int) -> IEncodable:
|
|
123
|
+
def _arrow552(__unit: None=None) -> IEnumerable_1[FsCell]:
|
|
124
|
+
def _arrow551(r: int) -> IEnumerable_1[FsCell]:
|
|
125
|
+
match_value: FsCell | None = sheet.CellCollection.TryGetCell(r, c)
|
|
126
|
+
return singleton(FsCell("")) if (match_value is None) else singleton(match_value)
|
|
127
|
+
|
|
128
|
+
return collect(_arrow551, range_big_int(1, 1, sheet.MaxRowIndex))
|
|
129
|
+
|
|
130
|
+
return encode_no_numbers_1(to_list(delay(_arrow552)))
|
|
131
|
+
|
|
132
|
+
return map(_arrow553, range_big_int(1, 1, sheet.MaxColumnIndex))
|
|
133
|
+
|
|
134
|
+
def mapping(col_1: FsColumn, no_numbering: Any=no_numbering, sheet: Any=sheet) -> IEncodable:
|
|
135
|
+
return encode_2(col_1)
|
|
136
|
+
|
|
137
|
+
j_columns: IEncodable = seq(to_list(delay(_arrow554))) if no_numbering else seq(map(mapping, sheet.Columns))
|
|
138
|
+
def _arrow559(__unit: None=None, no_numbering: Any=no_numbering, sheet: Any=sheet) -> IEnumerable_1[tuple[str, IEncodable]]:
|
|
139
|
+
def _arrow556(__unit: None=None) -> IEncodable:
|
|
140
|
+
value: str = sheet.Name
|
|
141
|
+
class ObjectExpr555(IEncodable):
|
|
142
|
+
def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
|
|
143
|
+
return helpers.encode_string(value)
|
|
144
|
+
|
|
145
|
+
return ObjectExpr555()
|
|
146
|
+
|
|
147
|
+
def _arrow558(__unit: None=None) -> IEnumerable_1[tuple[str, IEncodable]]:
|
|
148
|
+
def _arrow557(__unit: None=None) -> IEnumerable_1[tuple[str, IEncodable]]:
|
|
149
|
+
return singleton(("columns", j_columns))
|
|
150
|
+
|
|
151
|
+
return append(singleton(("tables", seq(map(encode_1, sheet.Tables)))) if (not is_empty(sheet.Tables)) else empty(), delay(_arrow557))
|
|
152
|
+
|
|
153
|
+
return append(singleton(("name", _arrow556())), delay(_arrow558))
|
|
154
|
+
|
|
155
|
+
values_1: IEnumerable_1[tuple[str, IEncodable]] = to_list(delay(_arrow559))
|
|
156
|
+
class ObjectExpr560(IEncodable):
|
|
157
|
+
def Encode(self, helpers_1: IEncoderHelpers_1[Any], no_numbering: Any=no_numbering, sheet: Any=sheet) -> Any:
|
|
158
|
+
def mapping_2(tupled_arg: tuple[str, IEncodable]) -> tuple[str, __A_]:
|
|
159
|
+
return (tupled_arg[0], tupled_arg[1].Encode(helpers_1))
|
|
160
|
+
|
|
161
|
+
arg: IEnumerable_1[tuple[str, __A_]] = map(mapping_2, values_1)
|
|
162
|
+
return helpers_1.encode_object(arg)
|
|
163
|
+
|
|
164
|
+
return ObjectExpr560()
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
def _arrow563(builder: IGetters) -> FsWorksheet:
|
|
168
|
+
col_index: int = 0
|
|
169
|
+
n: str
|
|
170
|
+
object_arg: IRequiredGetter = builder.Required
|
|
171
|
+
n = object_arg.Field("name", string)
|
|
172
|
+
ts: IEnumerable_1[FsTable] | None
|
|
173
|
+
arg_3: Decoder_1[IEnumerable_1[FsTable]] = seq_1(decode)
|
|
174
|
+
object_arg_1: IOptionalGetter = builder.Optional
|
|
175
|
+
ts = object_arg_1.Field("tables", arg_3)
|
|
176
|
+
cs: IEnumerable_1[tuple[int | None, IEnumerable_1[FsCell]]]
|
|
177
|
+
arg_5: Decoder_1[IEnumerable_1[tuple[int | None, IEnumerable_1[FsCell]]]] = seq_1(decode_2)
|
|
178
|
+
object_arg_2: IRequiredGetter = builder.Required
|
|
179
|
+
cs = object_arg_2.Field("columns", arg_5)
|
|
180
|
+
sheet: FsWorksheet = FsWorksheet(n)
|
|
181
|
+
def action_1(tupled_arg: tuple[int | None, IEnumerable_1[FsCell]]) -> None:
|
|
182
|
+
nonlocal col_index
|
|
183
|
+
col_i: int | None = tupled_arg[0]
|
|
184
|
+
row_index: int = 0
|
|
185
|
+
col_i_1: int = ((col_index + 1) if (col_i is None) else col_i) or 0
|
|
186
|
+
col_index = col_i_1 or 0
|
|
187
|
+
col: FsColumn = sheet.Column(col_i_1)
|
|
188
|
+
def action(cell: FsCell, tupled_arg: Any=tupled_arg) -> None:
|
|
189
|
+
nonlocal row_index
|
|
190
|
+
row_i: int
|
|
191
|
+
match_value: int = cell.RowNumber or 0
|
|
192
|
+
row_i = (row_index + 1) if (match_value == 0) else match_value
|
|
193
|
+
row_index = row_i or 0
|
|
194
|
+
c: FsCell = col.Item(row_index)
|
|
195
|
+
c.Value = cell.Value
|
|
196
|
+
c.DataType = cell.DataType
|
|
197
|
+
|
|
198
|
+
iterate(action, tupled_arg[1])
|
|
199
|
+
|
|
200
|
+
iterate(action_1, cs)
|
|
201
|
+
if ts is None:
|
|
202
|
+
pass
|
|
203
|
+
|
|
204
|
+
else:
|
|
205
|
+
def action_2(t: FsTable) -> None:
|
|
206
|
+
ignore(sheet.AddTable(t))
|
|
207
|
+
|
|
208
|
+
iterate(action_2, ts)
|
|
209
|
+
|
|
210
|
+
return sheet
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
decode_columns: Decoder_1[FsWorksheet] = object(_arrow563)
|
|
214
|
+
|
|
215
|
+
__all__ = ["encode_rows", "decode_rows", "encode_columns", "decode_columns"]
|
|
216
|
+
|
|
File without changes
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from typing import Any
|
|
3
|
+
from ...fable_library.option import some
|
|
4
|
+
from ...fable_library.reflection import (TypeInfo, class_type)
|
|
5
|
+
from ...fable_library.string_ import (to_text, printf)
|
|
6
|
+
from ...fable_library.util import int32_to_string
|
|
7
|
+
from ..fs_address import FsAddress
|
|
8
|
+
from .fs_range_address import FsRangeAddress
|
|
9
|
+
from .fs_range_base import (FsRangeBase, FsRangeBase_reflection)
|
|
10
|
+
from .fs_range_row import FsRangeRow
|
|
11
|
+
|
|
12
|
+
def _expr392() -> TypeInfo:
|
|
13
|
+
return class_type("FsSpreadsheet.FsRange", None, FsRange, FsRangeBase_reflection())
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class FsRange(FsRangeBase):
|
|
17
|
+
def __init__(self, range_address: FsRangeAddress, style_value: Any | None=None) -> None:
|
|
18
|
+
super().__init__(range_address)
|
|
19
|
+
pass
|
|
20
|
+
|
|
21
|
+
@staticmethod
|
|
22
|
+
def from_range_base(range_base: FsRangeBase) -> FsRange:
|
|
23
|
+
return FsRange(range_base.RangeAddress, some(None))
|
|
24
|
+
|
|
25
|
+
def Row(self, row: int) -> FsRangeRow:
|
|
26
|
+
if True if (row <= 0) else (((row + super().RangeAddress.FirstAddress.RowNumber) - 1) > 1048576):
|
|
27
|
+
raise Exception(int32_to_string(row), to_text(printf("Row number must be between 1 and %i"))(1048576))
|
|
28
|
+
|
|
29
|
+
return FsRangeRow(FsRangeAddress(FsAddress((super().RangeAddress.FirstAddress.RowNumber + row) - 1, super().RangeAddress.FirstAddress.ColumnNumber), FsAddress((super().RangeAddress.FirstAddress.RowNumber + row) - 1, super().RangeAddress.LastAddress.ColumnNumber)))
|
|
30
|
+
|
|
31
|
+
def FirstRow(self, __unit: None=None) -> FsRangeRow:
|
|
32
|
+
self_1: FsRange = self
|
|
33
|
+
return self_1.Row(1)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
FsRange_reflection = _expr392
|
|
37
|
+
|
|
38
|
+
def FsRange__ctor_Z15E90CDC(range_address: FsRangeAddress, style_value: Any | None=None) -> FsRange:
|
|
39
|
+
return FsRange(range_address, style_value)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
__all__ = ["FsRange_reflection"]
|
|
43
|
+
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from ...fable_library.reflection import (TypeInfo, class_type)
|
|
3
|
+
from ...fable_library.string_ import (to_text, printf, to_console)
|
|
4
|
+
from ...fable_library.types import (Array, uint32)
|
|
5
|
+
from ..fs_address import (FsAddress, CellReference_toIndices, CellReference_moveHorizontal)
|
|
6
|
+
|
|
7
|
+
def _expr375() -> TypeInfo:
|
|
8
|
+
return class_type("FsSpreadsheet.FsRangeAddress", None, FsRangeAddress)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class FsRangeAddress:
|
|
12
|
+
def __init__(self, first_address: FsAddress, last_address: FsAddress) -> None:
|
|
13
|
+
self.first_address: FsAddress = first_address
|
|
14
|
+
self.last_address: FsAddress = last_address
|
|
15
|
+
self._firstAddress: FsAddress = self.first_address
|
|
16
|
+
self._lastAddress: FsAddress = self.last_address
|
|
17
|
+
|
|
18
|
+
@staticmethod
|
|
19
|
+
def from_string(range_address: str) -> FsRangeAddress:
|
|
20
|
+
pattern_input: tuple[str, str] = Range_toBoundaries(range_address)
|
|
21
|
+
return FsRangeAddress(FsAddress.from_string(pattern_input[0]), FsAddress.from_string(pattern_input[1]))
|
|
22
|
+
|
|
23
|
+
def Copy(self, __unit: None=None) -> FsRangeAddress:
|
|
24
|
+
self_1: FsRangeAddress = self
|
|
25
|
+
return FsRangeAddress.from_string(self_1.Range)
|
|
26
|
+
|
|
27
|
+
@staticmethod
|
|
28
|
+
def copy(range_address: FsRangeAddress) -> FsRangeAddress:
|
|
29
|
+
return range_address.Copy()
|
|
30
|
+
|
|
31
|
+
def Extend(self, address: FsAddress) -> None:
|
|
32
|
+
self_1: FsRangeAddress = self
|
|
33
|
+
if address.RowNumber < self_1._firstAddress.RowNumber:
|
|
34
|
+
self_1._firstAddress.RowNumber = address.RowNumber or 0
|
|
35
|
+
|
|
36
|
+
if address.RowNumber > self_1._lastAddress.RowNumber:
|
|
37
|
+
self_1._lastAddress.RowNumber = address.RowNumber or 0
|
|
38
|
+
|
|
39
|
+
if address.ColumnNumber < self_1._firstAddress.ColumnNumber:
|
|
40
|
+
self_1._firstAddress.ColumnNumber = address.ColumnNumber or 0
|
|
41
|
+
|
|
42
|
+
if address.ColumnNumber > self_1._lastAddress.ColumnNumber:
|
|
43
|
+
self_1._lastAddress.ColumnNumber = address.ColumnNumber or 0
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def Normalize(self, __unit: None=None) -> None:
|
|
47
|
+
self_1: FsRangeAddress = self
|
|
48
|
+
pattern_input: tuple[int, int] = ((self_1.first_address.RowNumber, self_1.last_address.RowNumber)) if (self_1.first_address.RowNumber < self_1.last_address.RowNumber) else ((self_1.last_address.RowNumber, self_1.first_address.RowNumber))
|
|
49
|
+
pattern_input_1: tuple[int, int] = ((self_1.first_address.RowNumber, self_1.last_address.RowNumber)) if (self_1.first_address.RowNumber < self_1.last_address.RowNumber) else ((self_1.last_address.RowNumber, self_1.first_address.RowNumber))
|
|
50
|
+
self_1._firstAddress = FsAddress(pattern_input[0], pattern_input_1[0])
|
|
51
|
+
self_1._lastAddress = FsAddress(pattern_input[1], pattern_input_1[1])
|
|
52
|
+
|
|
53
|
+
@property
|
|
54
|
+
def Range(self, __unit: None=None) -> str:
|
|
55
|
+
self_1: FsRangeAddress = self
|
|
56
|
+
return Range_ofBoundaries(self_1._firstAddress.Address, self_1._lastAddress.Address)
|
|
57
|
+
|
|
58
|
+
@Range.setter
|
|
59
|
+
def Range(self, address: str) -> None:
|
|
60
|
+
self_1: FsRangeAddress = self
|
|
61
|
+
pattern_input: tuple[str, str] = Range_toBoundaries(address)
|
|
62
|
+
self_1._firstAddress = FsAddress.from_string(pattern_input[0])
|
|
63
|
+
self_1._lastAddress = FsAddress.from_string(pattern_input[1])
|
|
64
|
+
|
|
65
|
+
def __str__(self, __unit: None=None) -> str:
|
|
66
|
+
self_1: FsRangeAddress = self
|
|
67
|
+
return self_1.Range
|
|
68
|
+
|
|
69
|
+
@property
|
|
70
|
+
def FirstAddress(self, __unit: None=None) -> FsAddress:
|
|
71
|
+
self_1: FsRangeAddress = self
|
|
72
|
+
return self_1._firstAddress
|
|
73
|
+
|
|
74
|
+
@property
|
|
75
|
+
def LastAddress(self, __unit: None=None) -> FsAddress:
|
|
76
|
+
self_1: FsRangeAddress = self
|
|
77
|
+
return self_1._lastAddress
|
|
78
|
+
|
|
79
|
+
def Union(self, range_address: FsRangeAddress) -> FsRangeAddress:
|
|
80
|
+
self_1: FsRangeAddress = self
|
|
81
|
+
self_1.Extend(range_address.FirstAddress)
|
|
82
|
+
self_1.Extend(range_address.LastAddress)
|
|
83
|
+
return self_1
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
FsRangeAddress_reflection = _expr375
|
|
87
|
+
|
|
88
|
+
def FsRangeAddress__ctor_7E77A4A0(first_address: FsAddress, last_address: FsAddress) -> FsRangeAddress:
|
|
89
|
+
return FsRangeAddress(first_address, last_address)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def Range_ofBoundaries(from_cell_reference: str, to_cell_reference: str) -> str:
|
|
93
|
+
return to_text(printf("%s:%s"))(from_cell_reference)(to_cell_reference)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def Range_toBoundaries(area: str) -> tuple[str, str]:
|
|
97
|
+
a: Array[str] = area.split(":")
|
|
98
|
+
return (a[0], a[1])
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
def Range_rightBoundary(area: str) -> uint32:
|
|
102
|
+
return CellReference_toIndices(Range_toBoundaries(area)[1])[0]
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
def Range_leftBoundary(area: str) -> uint32:
|
|
106
|
+
return CellReference_toIndices(Range_toBoundaries(area)[0])[0]
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
def Range_upperBoundary(area: str) -> uint32:
|
|
110
|
+
return CellReference_toIndices(Range_toBoundaries(area)[0])[1]
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
def Range_lowerBoundary(area: str) -> uint32:
|
|
114
|
+
return CellReference_toIndices(Range_toBoundaries(area)[1])[1]
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
def Range_moveHorizontal(amount: int, area: str) -> str:
|
|
118
|
+
tupled_arg_1: tuple[str, str]
|
|
119
|
+
tupled_arg: tuple[str, str] = Range_toBoundaries(area)
|
|
120
|
+
tupled_arg_1 = (CellReference_moveHorizontal(amount, tupled_arg[0]), CellReference_moveHorizontal(amount, tupled_arg[1]))
|
|
121
|
+
return Range_ofBoundaries(tupled_arg_1[0], tupled_arg_1[1])
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
def Range_moveVertical(amount: int, area: str) -> str:
|
|
125
|
+
tupled_arg_1: tuple[str, str]
|
|
126
|
+
tupled_arg: tuple[str, str] = Range_toBoundaries(area)
|
|
127
|
+
tupled_arg_1 = (CellReference_moveHorizontal(amount, tupled_arg[0]), CellReference_moveHorizontal(amount, tupled_arg[1]))
|
|
128
|
+
return Range_ofBoundaries(tupled_arg_1[0], tupled_arg_1[1])
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
def Range_extendRight(amount: int, area: str) -> str:
|
|
132
|
+
tupled_arg_1: tuple[str, str]
|
|
133
|
+
tupled_arg: tuple[str, str] = Range_toBoundaries(area)
|
|
134
|
+
tupled_arg_1 = (tupled_arg[0], CellReference_moveHorizontal(amount, tupled_arg[1]))
|
|
135
|
+
return Range_ofBoundaries(tupled_arg_1[0], tupled_arg_1[1])
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
def Range_extendLeft(amount: int, area: str) -> str:
|
|
139
|
+
tupled_arg_1: tuple[str, str]
|
|
140
|
+
tupled_arg: tuple[str, str] = Range_toBoundaries(area)
|
|
141
|
+
tupled_arg_1 = (CellReference_moveHorizontal(amount, tupled_arg[0]), tupled_arg[1])
|
|
142
|
+
return Range_ofBoundaries(tupled_arg_1[0], tupled_arg_1[1])
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
def Range_referenceExceedsAreaRight(reference: str, area: str) -> bool:
|
|
146
|
+
return CellReference_toIndices(reference)[0] > Range_rightBoundary(area)
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
def Range_referenceExceedsAreaLeft(reference: str, area: str) -> bool:
|
|
150
|
+
return CellReference_toIndices(reference)[0] < Range_leftBoundary(area)
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
def Range_referenceExceedsAreaAbove(reference: str, area: str) -> bool:
|
|
154
|
+
return CellReference_toIndices(reference)[1] > Range_upperBoundary(area)
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
def Range_referenceExceedsAreaBelow(reference: str, area: str) -> bool:
|
|
158
|
+
return CellReference_toIndices(reference)[1] < Range_lowerBoundary(area)
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
def Range_referenceExceedsArea(reference: str, area: str) -> bool:
|
|
162
|
+
if True if (True if Range_referenceExceedsAreaRight(reference, area) else Range_referenceExceedsAreaLeft(reference, area)) else Range_referenceExceedsAreaAbove(reference, area):
|
|
163
|
+
return True
|
|
164
|
+
|
|
165
|
+
else:
|
|
166
|
+
return Range_referenceExceedsAreaBelow(reference, area)
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
def Range_isCorrect(area: str) -> bool:
|
|
171
|
+
try:
|
|
172
|
+
hor: bool = Range_leftBoundary(area) <= Range_rightBoundary(area)
|
|
173
|
+
ver: bool = Range_upperBoundary(area) <= Range_lowerBoundary(area)
|
|
174
|
+
if not hor:
|
|
175
|
+
to_console(printf("Right area boundary must be higher or equal to left area boundary."))
|
|
176
|
+
|
|
177
|
+
if not ver:
|
|
178
|
+
to_console(printf("Lower area boundary must be higher or equal to upper area boundary."))
|
|
179
|
+
|
|
180
|
+
return ver if hor else False
|
|
181
|
+
|
|
182
|
+
except Exception as err:
|
|
183
|
+
arg_1: str = str(err)
|
|
184
|
+
to_console(printf("Area \"%s\" could not be parsed: %s"))(area)(arg_1)
|
|
185
|
+
return False
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
__all__ = ["FsRangeAddress_reflection", "Range_ofBoundaries", "Range_toBoundaries", "Range_rightBoundary", "Range_leftBoundary", "Range_upperBoundary", "Range_lowerBoundary", "Range_moveHorizontal", "Range_moveVertical", "Range_extendRight", "Range_extendLeft", "Range_referenceExceedsAreaRight", "Range_referenceExceedsAreaLeft", "Range_referenceExceedsAreaAbove", "Range_referenceExceedsAreaBelow", "Range_referenceExceedsArea", "Range_isCorrect"]
|
|
190
|
+
|