arctrl 3.0.0a3__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 +18 -0
- arctrl/py/CWL/__init__.py +0 -0
- arctrl/py/CWL/cwltypes.py +150 -0
- arctrl/py/CWL/decode.py +973 -0
- arctrl/py/CWL/encode.py +1 -0
- arctrl/py/CWL/inputs.py +88 -0
- arctrl/py/CWL/outputs.py +85 -0
- arctrl/py/CWL/requirements.py +77 -0
- arctrl/py/CWL/tool_description.py +103 -0
- arctrl/py/CWL/workflow_description.py +104 -0
- arctrl/py/CWL/workflow_steps.py +113 -0
- arctrl/py/Contract/__init__.py +0 -0
- arctrl/py/Contract/arc.py +60 -0
- arctrl/py/Contract/arc_assay.py +125 -0
- arctrl/py/Contract/arc_investigation.py +88 -0
- arctrl/py/Contract/arc_run.py +125 -0
- arctrl/py/Contract/arc_study.py +126 -0
- arctrl/py/Contract/arc_workflow.py +125 -0
- arctrl/py/Contract/contract.py +153 -0
- arctrl/py/Contract/datamap.py +372 -0
- arctrl/py/Contract/git.py +118 -0
- arctrl/py/Contract/validation_packages_config.py +107 -0
- arctrl/py/ContractIO/__init__.py +0 -0
- arctrl/py/ContractIO/contract_io.py +344 -0
- arctrl/py/ContractIO/file_system_helper.py +264 -0
- arctrl/py/Core/Helper/__init__.py +0 -0
- arctrl/py/Core/Helper/collections_.py +438 -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 +248 -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 +1264 -0
- arctrl/py/Core/Table/arc_table_aux.py +575 -0
- arctrl/py/Core/Table/arc_tables.py +591 -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 +5064 -0
- arctrl/py/Core/comment.py +128 -0
- arctrl/py/Core/comment_list.py +127 -0
- arctrl/py/Core/conversion.py +1313 -0
- arctrl/py/Core/data.py +245 -0
- arctrl/py/Core/data_context.py +157 -0
- arctrl/py/Core/data_file.py +112 -0
- arctrl/py/Core/data_map.py +225 -0
- arctrl/py/Core/identifier_setters.py +31 -0
- arctrl/py/Core/iproperty_value.py +36 -0
- arctrl/py/Core/ontology_annotation.py +299 -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 +5 -0
- arctrl/py/FileSystem/default_gitignore.py +5 -0
- arctrl/py/FileSystem/file_system.py +58 -0
- arctrl/py/FileSystem/file_system_tree.py +426 -0
- arctrl/py/FileSystem/path.py +64 -0
- arctrl/py/Json/DataMap/__init__.py +0 -0
- arctrl/py/Json/DataMap/data_context.py +101 -0
- arctrl/py/Json/DataMap/data_map.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 +79 -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 +79 -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 +133 -0
- arctrl/py/Json/ROCrate/ldgraph.py +111 -0
- arctrl/py/Json/ROCrate/ldnode.py +290 -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 +393 -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 +155 -0
- arctrl/py/Json/encode.py +92 -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/string_table.py +76 -0
- arctrl/py/Json/study.py +793 -0
- arctrl/py/JsonIO/DataMap/__init__.py +0 -0
- arctrl/py/JsonIO/DataMap/data_map.py +53 -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 +121 -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 +85 -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/decode.py +9 -0
- arctrl/py/JsonIO/encode.py +1 -0
- arctrl/py/JsonIO/investigation.py +113 -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/study.py +114 -0
- arctrl/py/ROCrate/Generic/__init__.py +0 -0
- arctrl/py/ROCrate/Generic/comment.py +131 -0
- arctrl/py/ROCrate/Generic/dataset.py +817 -0
- arctrl/py/ROCrate/Generic/defined_term.py +131 -0
- arctrl/py/ROCrate/Generic/file.py +237 -0
- arctrl/py/ROCrate/Generic/lab_process.py +324 -0
- arctrl/py/ROCrate/Generic/lab_protocol.py +338 -0
- arctrl/py/ROCrate/Generic/organization.py +83 -0
- arctrl/py/ROCrate/Generic/person.py +484 -0
- arctrl/py/ROCrate/Generic/postal_address.py +195 -0
- arctrl/py/ROCrate/Generic/property_value.py +696 -0
- arctrl/py/ROCrate/Generic/sample.py +202 -0
- arctrl/py/ROCrate/Generic/scholarly_article.py +229 -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/__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 +362 -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 +193 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +210 -0
- arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
- arctrl/py/Spreadsheet/DataMapTable/__init__.py +0 -0
- arctrl/py/Spreadsheet/DataMapTable/data_map_column.py +114 -0
- arctrl/py/Spreadsheet/DataMapTable/data_map_header.py +618 -0
- arctrl/py/Spreadsheet/DataMapTable/data_map_table.py +119 -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 +508 -0
- arctrl/py/Spreadsheet/Metadata/study.py +312 -0
- arctrl/py/Spreadsheet/Metadata/workflow.py +151 -0
- arctrl/py/Spreadsheet/__init__.py +0 -0
- arctrl/py/Spreadsheet/arc_assay.py +233 -0
- arctrl/py/Spreadsheet/arc_investigation.py +418 -0
- arctrl/py/Spreadsheet/arc_run.py +190 -0
- arctrl/py/Spreadsheet/arc_study.py +144 -0
- arctrl/py/Spreadsheet/arc_workflow.py +176 -0
- arctrl/py/Spreadsheet/assembly_info.py +1 -0
- arctrl/py/Spreadsheet/collection_aux.py +167 -0
- arctrl/py/Spreadsheet/data_map.py +44 -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/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 +1400 -0
- arctrl/py/column_index.py +280 -0
- arctrl/py/conversion.py +2184 -0
- arctrl/py/cross_async.py +76 -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 +338 -0
- arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +469 -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 +464 -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 +57 -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 +217 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +47 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +186 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +90 -0
- arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +78 -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 +393 -0
- arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +127 -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 +218 -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 +180 -0
- arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +600 -0
- arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +330 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +63 -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 +53 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +40 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +54 -0
- arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
- arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
- arctrl/py/fable_modules/thoth_json_core/decode.py +1588 -0
- arctrl/py/fable_modules/thoth_json_core/encode.py +261 -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/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 +665 -0
- arctrl/py/fable_modules/yamlicious/regex.py +21 -0
- arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +256 -0
- arctrl/py/fable_modules/yamlicious/writer.py +175 -0
- arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
- arctrl/py/json.py +213 -0
- arctrl/py/rocrate_io.py +72 -0
- arctrl/py/template_web.py +23 -0
- arctrl/py/xlsx.py +148 -0
- arctrl/rocrate.py +21 -0
- arctrl-3.0.0a3.dist-info/LICENSE +21 -0
- arctrl-3.0.0a3.dist-info/METADATA +119 -0
- arctrl-3.0.0a3.dist-info/RECORD +456 -0
- arctrl-3.0.0a3.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
from typing import (Any, Generic, TypeVar)
|
|
5
|
+
from ..fable_library.guid import new_guid
|
|
6
|
+
from ..fable_library.list import (FSharpList, empty as empty_1, append, singleton, concat, map as map_1, is_empty, iterate)
|
|
7
|
+
from ..fable_library.map_util import (try_get_value, add_to_dict)
|
|
8
|
+
from ..fable_library.option import (some, to_nullable)
|
|
9
|
+
from ..fable_library.reflection import (TypeInfo, lambda_type, list_type, float64_type, option_type, bool_type, string_type, record_type)
|
|
10
|
+
from ..fable_library.seq import (indexed, find)
|
|
11
|
+
from ..fable_library.types import (FSharpRef, Record)
|
|
12
|
+
from ..fable_library.util import (curry2, ignore, get_enumerator, IEnumerable_1, equals)
|
|
13
|
+
from .Cells.fs_cell import (FsCell, FsCell_reflection)
|
|
14
|
+
from .Cells.fs_cells_collection import FsCellsCollection
|
|
15
|
+
from .fs_address import (FsAddress, FsAddress__get_RowNumber, FsAddress__ctor_Z37302880)
|
|
16
|
+
from .fs_row import FsRow
|
|
17
|
+
from .fs_workbook import FsWorkbook
|
|
18
|
+
from .fs_worksheet import FsWorksheet
|
|
19
|
+
from .Ranges.fs_range_address import (FsRangeAddress__get_FirstAddress, FsRangeAddress__ctor_7E77A4A0)
|
|
20
|
+
from .Ranges.fs_range_base import FsRangeBase__get_RangeAddress
|
|
21
|
+
from .Ranges.fs_range_column import FsRangeColumn__Cell_Z4232C216
|
|
22
|
+
from .Tables.fs_table import FsTable
|
|
23
|
+
from .Tables.fs_table_field import FsTableField__get_Column
|
|
24
|
+
|
|
25
|
+
_V = TypeVar("_V")
|
|
26
|
+
|
|
27
|
+
_T = TypeVar("_T")
|
|
28
|
+
|
|
29
|
+
def Dictionary_tryGetValue(k: Any, dict_1: Any) -> Any | None:
|
|
30
|
+
pattern_input: tuple[bool, _V]
|
|
31
|
+
out_arg: _V = None
|
|
32
|
+
def _arrow225(__unit: None=None, k: Any=k, dict_1: Any=dict_1) -> _V:
|
|
33
|
+
return out_arg
|
|
34
|
+
|
|
35
|
+
def _arrow226(v: _V | None=None, k: Any=k, dict_1: Any=dict_1) -> None:
|
|
36
|
+
nonlocal out_arg
|
|
37
|
+
out_arg = v
|
|
38
|
+
|
|
39
|
+
pattern_input = (try_get_value(dict_1, k, FSharpRef(_arrow225, _arrow226)), out_arg)
|
|
40
|
+
if pattern_input[0]:
|
|
41
|
+
return some(pattern_input[1])
|
|
42
|
+
|
|
43
|
+
else:
|
|
44
|
+
return None
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def Dictionary_length(dict_1: Any) -> int:
|
|
49
|
+
return len(dict_1)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def _expr227(gen0: TypeInfo) -> TypeInfo:
|
|
53
|
+
return record_type("FsSpreadsheet.SheetBuilder.FieldMap`1", [gen0], FieldMap_1, lambda: [("CellTransformers", list_type(lambda_type(gen0, lambda_type(FsCell_reflection(), FsCell_reflection())))), ("HeaderTransformers", list_type(lambda_type(gen0, lambda_type(FsCell_reflection(), FsCell_reflection())))), ("ColumnWidth", option_type(float64_type)), ("RowHeight", option_type(lambda_type(gen0, option_type(float64_type)))), ("AdjustToContents", bool_type), ("Hash", string_type)])
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
@dataclass(eq = False, repr = False, slots = True)
|
|
57
|
+
class FieldMap_1(Record, Generic[_T]):
|
|
58
|
+
CellTransformers: FSharpList[Callable[[_T, FsCell], FsCell]]
|
|
59
|
+
HeaderTransformers: FSharpList[Callable[[_T, FsCell], FsCell]]
|
|
60
|
+
ColumnWidth: float | None
|
|
61
|
+
RowHeight: Callable[[_T], float | None] | None
|
|
62
|
+
AdjustToContents: bool
|
|
63
|
+
Hash: str
|
|
64
|
+
|
|
65
|
+
FieldMap_1_reflection = _expr227
|
|
66
|
+
|
|
67
|
+
def FieldMap_1_empty(__unit: None=None) -> FieldMap_1[Any]:
|
|
68
|
+
def _arrow228(__unit: None=None) -> str:
|
|
69
|
+
copy_of_struct: str = new_guid()
|
|
70
|
+
return str(copy_of_struct)
|
|
71
|
+
|
|
72
|
+
return FieldMap_1(empty_1(), empty_1(), None, None, False, _arrow228())
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def FieldMap_1_create_Z3BCCB7EB(map_row: Callable[[_T, FsCell], FsCell]) -> FieldMap_1[Any]:
|
|
76
|
+
empty: FieldMap_1[_T] = FieldMap_1_empty()
|
|
77
|
+
return FieldMap_1(append(empty.CellTransformers, singleton(curry2(map_row))), empty.HeaderTransformers, empty.ColumnWidth, empty.RowHeight, empty.AdjustToContents, empty.Hash)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
def FieldMap_1__header_Z721C83C5(self_1: FieldMap_1[Any], name: str) -> FieldMap_1[Any]:
|
|
81
|
+
def transformer(_arg: _T | None=None, self_1: Any=self_1, name: Any=name) -> Callable[[FsCell], FsCell]:
|
|
82
|
+
def _arrow229(cell: FsCell, _arg: Any=_arg) -> FsCell:
|
|
83
|
+
cell.SetValueAs(name)
|
|
84
|
+
return cell
|
|
85
|
+
|
|
86
|
+
return _arrow229
|
|
87
|
+
|
|
88
|
+
return FieldMap_1(self_1.CellTransformers, append(self_1.HeaderTransformers, singleton(transformer)), self_1.ColumnWidth, self_1.RowHeight, self_1.AdjustToContents, self_1.Hash)
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
def FieldMap_1__header_54F19B58(self_1: FieldMap_1[Any], map_header: Callable[[_T], str]) -> FieldMap_1[Any]:
|
|
92
|
+
def transformer(value: _T | None=None, self_1: Any=self_1, map_header: Any=map_header) -> Callable[[FsCell], FsCell]:
|
|
93
|
+
def _arrow230(cell: FsCell, value: Any=value) -> FsCell:
|
|
94
|
+
cell.SetValueAs(map_header(value))
|
|
95
|
+
return cell
|
|
96
|
+
|
|
97
|
+
return _arrow230
|
|
98
|
+
|
|
99
|
+
return FieldMap_1(self_1.CellTransformers, append(self_1.HeaderTransformers, singleton(transformer)), self_1.ColumnWidth, self_1.RowHeight, self_1.AdjustToContents, self_1.Hash)
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
def FieldMap_1__adjustToContents(self_1: FieldMap_1[Any]) -> FieldMap_1[Any]:
|
|
103
|
+
return FieldMap_1(self_1.CellTransformers, self_1.HeaderTransformers, self_1.ColumnWidth, self_1.RowHeight, True, self_1.Hash)
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
def FieldMap_1_field_Z5C94BCA1(map: Callable[[_T], int]) -> FieldMap_1[Any]:
|
|
107
|
+
def _arrow231(row: Any, cell: FsCell, map: Any=map) -> FsCell:
|
|
108
|
+
cell.SetValueAs(map(row))
|
|
109
|
+
return cell
|
|
110
|
+
|
|
111
|
+
return FieldMap_1_create_Z3BCCB7EB(_arrow231)
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
def FieldMap_1_field_54F19B58(map: Callable[[_T], str]) -> FieldMap_1[Any]:
|
|
115
|
+
def _arrow232(row: Any, cell: FsCell, map: Any=map) -> FsCell:
|
|
116
|
+
cell.SetValueAs(map(row))
|
|
117
|
+
return cell
|
|
118
|
+
|
|
119
|
+
return FieldMap_1_create_Z3BCCB7EB(_arrow232)
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
def FieldMap_1_field_477D79EC(map: Callable[[_T], Any]) -> FieldMap_1[Any]:
|
|
123
|
+
def _arrow233(row: Any, cell: FsCell, map: Any=map) -> FsCell:
|
|
124
|
+
cell.SetValueAs(map(row))
|
|
125
|
+
return cell
|
|
126
|
+
|
|
127
|
+
return FieldMap_1_create_Z3BCCB7EB(_arrow233)
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
def FieldMap_1_field_Z1D55A0D7(map: Callable[[_T], bool]) -> FieldMap_1[Any]:
|
|
131
|
+
def _arrow234(row: Any, cell: FsCell, map: Any=map) -> FsCell:
|
|
132
|
+
cell.SetValueAs(map(row))
|
|
133
|
+
return cell
|
|
134
|
+
|
|
135
|
+
return FieldMap_1_create_Z3BCCB7EB(_arrow234)
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
def FieldMap_1_field_298D8758(map: Callable[[_T], float]) -> FieldMap_1[Any]:
|
|
139
|
+
def _arrow235(row: Any, cell: FsCell, map: Any=map) -> FsCell:
|
|
140
|
+
cell.SetValueAs(map(row))
|
|
141
|
+
return cell
|
|
142
|
+
|
|
143
|
+
return FieldMap_1_create_Z3BCCB7EB(_arrow235)
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
def FieldMap_1_field_Z78848E24(map: Callable[[_T], int | None]) -> FieldMap_1[Any]:
|
|
147
|
+
def _arrow236(row: Any, cell: FsCell, map: Any=map) -> FsCell:
|
|
148
|
+
cell.SetValueAs(to_nullable(map(row)))
|
|
149
|
+
return cell
|
|
150
|
+
|
|
151
|
+
return FieldMap_1_create_Z3BCCB7EB(_arrow236)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
def FieldMap_1_field_4C14CE8F(map: Callable[[_T], Any | None]) -> FieldMap_1[Any]:
|
|
155
|
+
def _arrow237(row: Any, cell: FsCell, map: Any=map) -> FsCell:
|
|
156
|
+
cell.SetValueAs(to_nullable(map(row)))
|
|
157
|
+
return cell
|
|
158
|
+
|
|
159
|
+
return FieldMap_1_create_Z3BCCB7EB(_arrow237)
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
def FieldMap_1_field_Z404517D6(map: Callable[[_T], bool | None]) -> FieldMap_1[Any]:
|
|
163
|
+
def _arrow238(row: Any, cell: FsCell, map: Any=map) -> FsCell:
|
|
164
|
+
cell.SetValueAs(to_nullable(map(row)))
|
|
165
|
+
return cell
|
|
166
|
+
|
|
167
|
+
return FieldMap_1_create_Z3BCCB7EB(_arrow238)
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
def FieldMap_1_field_Z14464045(map: Callable[[_T], float | None]) -> FieldMap_1[Any]:
|
|
171
|
+
def _arrow239(row: Any, cell: FsCell, map: Any=map) -> FsCell:
|
|
172
|
+
cell.SetValueAs(to_nullable(map(row)))
|
|
173
|
+
return cell
|
|
174
|
+
|
|
175
|
+
return FieldMap_1_create_Z3BCCB7EB(_arrow239)
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
def FieldMap_1_field_33F53BB(map: Callable[[_T], str | None]) -> FieldMap_1[Any]:
|
|
179
|
+
def _arrow240(row: Any, cell: FsCell, map: Any=map) -> FsCell:
|
|
180
|
+
match_value: str | None = map(row)
|
|
181
|
+
if match_value is not None:
|
|
182
|
+
text: str = match_value
|
|
183
|
+
cell.SetValueAs(text)
|
|
184
|
+
return cell
|
|
185
|
+
|
|
186
|
+
else:
|
|
187
|
+
return cell
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
return FieldMap_1_create_Z3BCCB7EB(_arrow240)
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
def FsSpreadsheet_FsTable__FsTable_Populate_526F9CF7(self_1: FsTable, cells: FsCellsCollection, data: IEnumerable_1[Any], fields: FSharpList[FieldMap_1[Any]]) -> None:
|
|
194
|
+
def mapping(field: FieldMap_1[_T], self_1: Any=self_1, cells: Any=cells, data: Any=data, fields: Any=fields) -> FSharpList[Callable[[_T, FsCell], FsCell]]:
|
|
195
|
+
return field.HeaderTransformers
|
|
196
|
+
|
|
197
|
+
headers_available: bool = not is_empty(concat(map_1(mapping, fields)))
|
|
198
|
+
if (self_1.ShowHeaderRow == False) if headers_available else False:
|
|
199
|
+
self_1.ShowHeaderRow = headers_available
|
|
200
|
+
|
|
201
|
+
start_address: FsAddress = FsRangeAddress__get_FirstAddress(FsRangeBase__get_RangeAddress(self_1))
|
|
202
|
+
start_row_index: int = ((FsAddress__get_RowNumber(start_address) + 1) if headers_available else FsAddress__get_RowNumber(start_address)) or 0
|
|
203
|
+
with get_enumerator(indexed(data)) as enumerator:
|
|
204
|
+
while enumerator.System_Collections_IEnumerator_MoveNext():
|
|
205
|
+
for_loop_var: tuple[int, _T] = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
|
|
206
|
+
row: _T = for_loop_var[1]
|
|
207
|
+
active_row_index: int = (for_loop_var[0] + start_row_index) or 0
|
|
208
|
+
with get_enumerator(fields) as enumerator_1:
|
|
209
|
+
while enumerator_1.System_Collections_IEnumerator_MoveNext():
|
|
210
|
+
field_1: FieldMap_1[_T] = enumerator_1.System_Collections_Generic_IEnumerator_1_get_Current()
|
|
211
|
+
header_cell: FsCell = FsCell.create_empty()
|
|
212
|
+
with get_enumerator(field_1.HeaderTransformers) as enumerator_2:
|
|
213
|
+
while enumerator_2.System_Collections_IEnumerator_MoveNext():
|
|
214
|
+
ignore(enumerator_2.System_Collections_Generic_IEnumerator_1_get_Current()(row)(header_cell))
|
|
215
|
+
header_string: str = field_1.Hash if (header_cell.ValueAsString() == "") else header_cell.ValueAsString()
|
|
216
|
+
active_cell: FsCell = FsRangeColumn__Cell_Z4232C216(FsTableField__get_Column(self_1.Field(header_string, cells)), active_row_index, cells)
|
|
217
|
+
with get_enumerator(field_1.CellTransformers) as enumerator_3:
|
|
218
|
+
while enumerator_3.System_Collections_IEnumerator_MoveNext():
|
|
219
|
+
ignore(enumerator_3.System_Collections_Generic_IEnumerator_1_get_Current()(row)(active_cell))
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
def FsSpreadsheet_FsTable__FsTable_populate_Static_Z735E4C44(table: FsTable, cells: FsCellsCollection, data: IEnumerable_1[Any], fields: FSharpList[FieldMap_1[Any]]) -> None:
|
|
223
|
+
FsSpreadsheet_FsTable__FsTable_Populate_526F9CF7(table, cells, data, fields)
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
def FsSpreadsheet_FsWorksheet__FsWorksheet_Populate_Z2A1350BF(self_1: FsWorksheet, data: IEnumerable_1[Any], fields: FSharpList[FieldMap_1[Any]]) -> None:
|
|
227
|
+
def mapping(field: FieldMap_1[_T], self_1: Any=self_1, data: Any=data, fields: Any=fields) -> FSharpList[Callable[[_T, FsCell], FsCell]]:
|
|
228
|
+
return field.HeaderTransformers
|
|
229
|
+
|
|
230
|
+
headers_available: bool = not is_empty(concat(map_1(mapping, fields)))
|
|
231
|
+
headers: Any = dict([])
|
|
232
|
+
with get_enumerator(indexed(data)) as enumerator:
|
|
233
|
+
while enumerator.System_Collections_IEnumerator_MoveNext():
|
|
234
|
+
for_loop_var: tuple[int, _T] = enumerator.System_Collections_Generic_IEnumerator_1_get_Current()
|
|
235
|
+
row: _T = for_loop_var[1]
|
|
236
|
+
start_row_index: int = (2 if headers_available else 1) or 0
|
|
237
|
+
active_row: FsRow = self_1.Row(for_loop_var[0] + start_row_index)
|
|
238
|
+
with get_enumerator(fields) as enumerator_1:
|
|
239
|
+
while enumerator_1.System_Collections_IEnumerator_MoveNext():
|
|
240
|
+
field_1: FieldMap_1[_T] = enumerator_1.System_Collections_Generic_IEnumerator_1_get_Current()
|
|
241
|
+
header_cell: FsCell = FsCell.create_empty()
|
|
242
|
+
with get_enumerator(field_1.HeaderTransformers) as enumerator_2:
|
|
243
|
+
while enumerator_2.System_Collections_IEnumerator_MoveNext():
|
|
244
|
+
ignore(enumerator_2.System_Collections_Generic_IEnumerator_1_get_Current()(row)(header_cell))
|
|
245
|
+
index: int
|
|
246
|
+
pattern_input: tuple[bool, str] = ((False, field_1.Hash)) if equals(header_cell.Value, "") else ((True, header_cell.ValueAsString()))
|
|
247
|
+
header_string: str = pattern_input[1]
|
|
248
|
+
match_value: int | None = Dictionary_tryGetValue(header_string, headers)
|
|
249
|
+
if match_value is None:
|
|
250
|
+
i: int = (len(headers) + 1) or 0
|
|
251
|
+
add_to_dict(headers, header_string, i)
|
|
252
|
+
if pattern_input[0]:
|
|
253
|
+
value: None = self_1.Row(1).Item(i).CopyFrom(header_cell)
|
|
254
|
+
ignore(None)
|
|
255
|
+
|
|
256
|
+
index = i
|
|
257
|
+
|
|
258
|
+
else:
|
|
259
|
+
index = match_value
|
|
260
|
+
|
|
261
|
+
active_cell: FsCell = active_row.Item(index)
|
|
262
|
+
with get_enumerator(field_1.CellTransformers) as enumerator_3:
|
|
263
|
+
while enumerator_3.System_Collections_IEnumerator_MoveNext():
|
|
264
|
+
ignore(enumerator_3.System_Collections_Generic_IEnumerator_1_get_Current()(row)(active_cell))
|
|
265
|
+
self_1.SortRows()
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
def FsSpreadsheet_FsWorksheet__FsWorksheet_populate_Static_Z2578A106(sheet: FsWorksheet, data: IEnumerable_1[Any], fields: FSharpList[FieldMap_1[Any]]) -> None:
|
|
269
|
+
FsSpreadsheet_FsWorksheet__FsWorksheet_Populate_Z2A1350BF(sheet, data, fields)
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
def FsSpreadsheet_FsWorksheet__FsWorksheet_createFrom_Static_Z2DEFA746(name: str, data: IEnumerable_1[Any], fields: FSharpList[FieldMap_1[Any]]) -> FsWorksheet:
|
|
273
|
+
sheet: FsWorksheet = FsWorksheet(name)
|
|
274
|
+
FsSpreadsheet_FsWorksheet__FsWorksheet_populate_Static_Z2578A106(sheet, data, fields)
|
|
275
|
+
return sheet
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
def FsSpreadsheet_FsWorksheet__FsWorksheet_createFrom_Static_Z2A1350BF(data: IEnumerable_1[Any], fields: FSharpList[FieldMap_1[Any]]) -> FsWorksheet:
|
|
279
|
+
return FsSpreadsheet_FsWorksheet__FsWorksheet_createFrom_Static_Z2DEFA746("Sheet1", data, fields)
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
def FsSpreadsheet_FsWorksheet__FsWorksheet_PopulateTable_59F260F9(self_1: FsWorksheet, table_name: str, start_address: FsAddress, data: IEnumerable_1[Any], fields: FSharpList[FieldMap_1[Any]]) -> None:
|
|
283
|
+
def mapping(field: FieldMap_1[_T], self_1: Any=self_1, table_name: Any=table_name, start_address: Any=start_address, data: Any=data, fields: Any=fields) -> FSharpList[Callable[[_T, FsCell], FsCell]]:
|
|
284
|
+
return field.HeaderTransformers
|
|
285
|
+
|
|
286
|
+
headers_available: bool = not is_empty(concat(map_1(mapping, fields)))
|
|
287
|
+
FsSpreadsheet_FsTable__FsTable_Populate_526F9CF7(self_1.Table(table_name, FsRangeAddress__ctor_7E77A4A0(start_address, start_address), headers_available), self_1.CellCollection, data, fields)
|
|
288
|
+
self_1.SortRows()
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
def FsSpreadsheet_FsWorksheet__FsWorksheet_createTableFrom_Static_30234BE1(name: str, table_name: str, data: IEnumerable_1[Any], fields: FSharpList[FieldMap_1[Any]]) -> FsWorksheet:
|
|
292
|
+
sheet: FsWorksheet = FsWorksheet(name)
|
|
293
|
+
FsSpreadsheet_FsWorksheet__FsWorksheet_PopulateTable_59F260F9(sheet, table_name, FsAddress__ctor_Z37302880(1, 1), data, fields)
|
|
294
|
+
return sheet
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_Populate_Z2DEFA746(self_1: FsWorkbook, name: str, data: IEnumerable_1[Any], fields: FSharpList[FieldMap_1[Any]]) -> None:
|
|
298
|
+
ignore(self_1.InitWorksheet(name))
|
|
299
|
+
def predicate(s: FsWorksheet, self_1: Any=self_1, name: Any=name, data: Any=data, fields: Any=fields) -> bool:
|
|
300
|
+
return s.Name == name
|
|
301
|
+
|
|
302
|
+
FsSpreadsheet_FsWorksheet__FsWorksheet_populate_Static_Z2578A106(find(predicate, self_1.GetWorksheets()), data, fields)
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_populate_Static_Z7163EB39(workbook: FsWorkbook, name: str, data: IEnumerable_1[Any], fields: FSharpList[FieldMap_1[Any]]) -> None:
|
|
306
|
+
FsSpreadsheet_FsWorkbook__FsWorkbook_Populate_Z2DEFA746(workbook, name, data, fields)
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_createFrom_Static_Z2DEFA746(name: str, data: IEnumerable_1[Any], fields: FSharpList[FieldMap_1[Any]]) -> FsWorkbook:
|
|
310
|
+
workbook: FsWorkbook = FsWorkbook()
|
|
311
|
+
FsSpreadsheet_FsWorkbook__FsWorkbook_populate_Static_Z7163EB39(workbook, name, data, fields)
|
|
312
|
+
return workbook
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_createFrom_Static_Z2A1350BF(data: IEnumerable_1[Any], fields: FSharpList[FieldMap_1[Any]]) -> FsWorkbook:
|
|
316
|
+
return FsSpreadsheet_FsWorkbook__FsWorkbook_createFrom_Static_Z2DEFA746("Sheet1", data, fields)
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_createFrom_Static_Z2E36FAE7(sheets: FSharpList[FsWorksheet]) -> FsWorkbook:
|
|
320
|
+
workbook: FsWorkbook = FsWorkbook()
|
|
321
|
+
def action(sheet: FsWorksheet, sheets: Any=sheets) -> None:
|
|
322
|
+
value: None = workbook.AddWorksheet(sheet)
|
|
323
|
+
ignore(None)
|
|
324
|
+
|
|
325
|
+
iterate(action, sheets)
|
|
326
|
+
return workbook
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
__all__ = ["Dictionary_tryGetValue", "Dictionary_length", "FieldMap_1_reflection", "FieldMap_1_empty", "FieldMap_1_create_Z3BCCB7EB", "FieldMap_1__header_Z721C83C5", "FieldMap_1__header_54F19B58", "FieldMap_1__adjustToContents", "FieldMap_1_field_Z5C94BCA1", "FieldMap_1_field_54F19B58", "FieldMap_1_field_477D79EC", "FieldMap_1_field_Z1D55A0D7", "FieldMap_1_field_298D8758", "FieldMap_1_field_Z78848E24", "FieldMap_1_field_4C14CE8F", "FieldMap_1_field_Z404517D6", "FieldMap_1_field_Z14464045", "FieldMap_1_field_33F53BB", "FsSpreadsheet_FsTable__FsTable_Populate_526F9CF7", "FsSpreadsheet_FsTable__FsTable_populate_Static_Z735E4C44", "FsSpreadsheet_FsWorksheet__FsWorksheet_Populate_Z2A1350BF", "FsSpreadsheet_FsWorksheet__FsWorksheet_populate_Static_Z2578A106", "FsSpreadsheet_FsWorksheet__FsWorksheet_createFrom_Static_Z2DEFA746", "FsSpreadsheet_FsWorksheet__FsWorksheet_createFrom_Static_Z2A1350BF", "FsSpreadsheet_FsWorksheet__FsWorksheet_PopulateTable_59F260F9", "FsSpreadsheet_FsWorksheet__FsWorksheet_createTableFrom_Static_30234BE1", "FsSpreadsheet_FsWorkbook__FsWorkbook_Populate_Z2DEFA746", "FsSpreadsheet_FsWorkbook__FsWorkbook_populate_Static_Z7163EB39", "FsSpreadsheet_FsWorkbook__FsWorkbook_createFrom_Static_Z2DEFA746", "FsSpreadsheet_FsWorkbook__FsWorkbook_createFrom_Static_Z2A1350BF", "FsSpreadsheet_FsWorkbook__FsWorkbook_createFrom_Static_Z2E36FAE7"]
|
|
330
|
+
|
|
File without changes
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from abc import abstractmethod
|
|
3
|
+
from datetime import datetime as datetime_1
|
|
4
|
+
from typing import (Protocol, Any)
|
|
5
|
+
from ..fable_library.date import to_universal_time
|
|
6
|
+
from ..fable_library.option import some
|
|
7
|
+
from ..fable_library.string_ import (to_text, printf, to_console)
|
|
8
|
+
from ..fable_library.util import equals
|
|
9
|
+
from ..fable_openpyxl.openpyxl import Cell
|
|
10
|
+
from ..fs_spreadsheet.Cells.fs_cell import (DataType, FsCell)
|
|
11
|
+
from ..fs_spreadsheet.fs_address import (FsAddress__ctor_Z37302880, FsAddress)
|
|
12
|
+
|
|
13
|
+
class datetime(Protocol):
|
|
14
|
+
@abstractmethod
|
|
15
|
+
def decoy(self) -> None:
|
|
16
|
+
...
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class DateTimeStatic(Protocol):
|
|
20
|
+
@abstractmethod
|
|
21
|
+
def from_time_stamp(self, timestamp: float) -> datetime:
|
|
22
|
+
...
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def to_universal_time_py(dt: Any) -> datetime:
|
|
26
|
+
timestamp: float = to_universal_time(dt).timestamp()
|
|
27
|
+
return datetime_1.fromtimestamp(timestamp=timestamp)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def from_fs_cell(fs_cell: FsCell) -> Any | None:
|
|
31
|
+
match_value: DataType = fs_cell.DataType
|
|
32
|
+
if match_value.tag == 1:
|
|
33
|
+
return some(fs_cell.ValueAsBool())
|
|
34
|
+
|
|
35
|
+
elif match_value.tag == 2:
|
|
36
|
+
return some(fs_cell.ValueAsFloat())
|
|
37
|
+
|
|
38
|
+
elif match_value.tag == 3:
|
|
39
|
+
return some(to_universal_time_py(fs_cell.ValueAsDateTime()))
|
|
40
|
+
|
|
41
|
+
elif match_value.tag == 0:
|
|
42
|
+
return some(fs_cell.Value)
|
|
43
|
+
|
|
44
|
+
else:
|
|
45
|
+
msg: str = to_text(printf("ValueType \'%A\' is not fully implemented in FsSpreadsheet and is handled as string input."))(match_value)
|
|
46
|
+
to_console(printf("%s"))(msg)
|
|
47
|
+
return some(fs_cell.Value)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def to_fs_cell(worksheet_name: Any, row_index: int, column_index: int, py_cell: Cell) -> FsCell:
|
|
52
|
+
fsadress: FsAddress = FsAddress__ctor_Z37302880(row_index, column_index)
|
|
53
|
+
pattern_input_1: tuple[DataType, Any]
|
|
54
|
+
pattern_input: tuple[DataType, Any]
|
|
55
|
+
value_1: Any = py_cell.value
|
|
56
|
+
pattern_input = ((DataType(0), value_1)) if (str(type(value_1)) == "<class \'str\'>") else ((((DataType(1), True)) if value_1 else ((DataType(1), False))) if (str(type(value_1)) == "<class \'bool\'>") else (((DataType(2), value_1)) if (str(type(value_1)) == "<fable_modules.fable_library.types.uint8\'>>") else (((DataType(2), value_1)) if (str(type(value_1)) == "<class \'fable_modules.fable_library.types.int8\'>") else (((DataType(2), value_1)) if (str(type(value_1)) == "<class \'int\'>") else (((DataType(2), value_1)) if (str(type(value_1)) == "<class \'fable_modules.fable_library.types.int16\'>") else (((DataType(2), value_1)) if (str(type(value_1)) == "<class \'fable_modules.fable_library.types.int64\'>") else (((DataType(2), value_1)) if (str(type(value_1)) == "<class \'fable_modules.fable_library.types.uint32>") else (((DataType(2), value_1)) if (str(type(value_1)) == "<class \'fable_modules.fable_library.types.uint16\'>") else (((DataType(2), value_1)) if (str(type(value_1)) == "<class \'fable_modules.fable_library.types.uint32\'>") else (((DataType(2), value_1)) if (str(type(value_1)) == "<class \'fable_modules.fable_library.types.float32\'>") else (((DataType(2), value_1)) if (str(type(value_1)) == "<class \'float\'>") else (((DataType(2), value_1)) if (str(type(value_1)) == "<class \'int\'>") else (((DataType(3), value_1)) if isinstance(value_1, datetime_1) else (((DataType(0), value_1)) if (str(type(value_1)) == "<class \'str\'>") else ((DataType(0), value_1))))))))))))))))
|
|
57
|
+
v: Any = pattern_input[1]
|
|
58
|
+
pattern_input_1 = ((DataType(1), True)) if (True if equals(v, "=TRUE()") else equals(v, "=True()")) else (((DataType(1), False)) if (True if equals(v, "=FALSE()") else equals(v, "=False()")) else ((pattern_input[0], v)))
|
|
59
|
+
return FsCell(pattern_input_1[1], pattern_input_1[0], fsadress)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
__all__ = ["to_universal_time_py", "from_fs_cell", "to_fs_cell"]
|
|
63
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from ..fable_library.string_ import (to_text, printf, to_console)
|
|
3
|
+
from ..fable_openpyxl.openpyxl import CellType
|
|
4
|
+
from ..fs_spreadsheet.Cells.fs_cell import DataType
|
|
5
|
+
|
|
6
|
+
def from_data_tyoe(t: DataType) -> CellType:
|
|
7
|
+
if t.tag == 1:
|
|
8
|
+
return CellType(3)
|
|
9
|
+
|
|
10
|
+
elif t.tag == 2:
|
|
11
|
+
return CellType(0)
|
|
12
|
+
|
|
13
|
+
elif t.tag == 3:
|
|
14
|
+
return CellType(4)
|
|
15
|
+
|
|
16
|
+
elif t.tag == 0:
|
|
17
|
+
return CellType(2)
|
|
18
|
+
|
|
19
|
+
else:
|
|
20
|
+
msg: str = to_text(printf("ValueType \'%A\' is not fully implemented in FsSpreadsheet and is handled as string input."))(t)
|
|
21
|
+
to_console(printf("%s"))(msg)
|
|
22
|
+
return CellType(2)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def to_data_type(t: CellType) -> DataType:
|
|
27
|
+
if t.tag == 3:
|
|
28
|
+
return DataType(1)
|
|
29
|
+
|
|
30
|
+
elif t.tag == 0:
|
|
31
|
+
return DataType(2)
|
|
32
|
+
|
|
33
|
+
elif t.tag == 1:
|
|
34
|
+
return DataType(2)
|
|
35
|
+
|
|
36
|
+
elif t.tag == 4:
|
|
37
|
+
return DataType(3)
|
|
38
|
+
|
|
39
|
+
elif t.tag == 2:
|
|
40
|
+
return DataType(0)
|
|
41
|
+
|
|
42
|
+
else:
|
|
43
|
+
msg: str = to_text(printf("ValueType \'%A\' is not fully implemented in FsSpreadsheet and is handled as string input."))(t)
|
|
44
|
+
to_console(printf("%s"))(msg)
|
|
45
|
+
return DataType(0)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
__all__ = ["from_data_tyoe", "to_data_type"]
|
|
50
|
+
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from typing import Any
|
|
3
|
+
from ..fs_spreadsheet.fs_workbook import FsWorkbook
|
|
4
|
+
from .json import Json
|
|
5
|
+
from .xlsx import Xlsx
|
|
6
|
+
|
|
7
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5(path: str) -> FsWorkbook:
|
|
8
|
+
return Xlsx.from_xlsx_file(path)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxStream_Static_4D976C1A(stream: Any) -> FsWorkbook:
|
|
12
|
+
return Xlsx.from_xlsx_stream(stream)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxBytes_Static_Z3F6BC7B1(bytes: bytearray) -> FsWorkbook:
|
|
16
|
+
return Xlsx.from_xlsx_bytes(bytes)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path: str, wb: FsWorkbook) -> None:
|
|
20
|
+
Xlsx.to_xlsx_file(path, wb)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxBytes_Static_32154C9D(wb: FsWorkbook) -> bytearray:
|
|
24
|
+
return Xlsx.to_xlsx_bytes(wb)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_ToXlsxFile_Z721C83C5(this: FsWorkbook, path: str) -> None:
|
|
28
|
+
FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path, this)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_ToXlsxBytes(this: FsWorkbook) -> bytearray:
|
|
32
|
+
return FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxBytes_Static_32154C9D(this)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_fromRowsJsonString_Static_Z721C83C5(json: str) -> FsWorkbook:
|
|
36
|
+
return Json.from_rows_json_string(json)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_toRowsJsonString_Static_Z2B6E0EF5(wb: FsWorkbook, spaces: int | None=None, no_numbering: bool | None=None) -> str:
|
|
40
|
+
return Json.to_rows_json_string(wb, spaces, no_numbering)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_ToRowsJsonString_Z3B036AA(this: FsWorkbook, spaces: int | None=None, no_numbering: bool | None=None) -> str:
|
|
44
|
+
return FsSpreadsheet_FsWorkbook__FsWorkbook_toRowsJsonString_Static_Z2B6E0EF5(this, spaces, no_numbering)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_fromColumnsJsonString_Static_Z721C83C5(json: str) -> FsWorkbook:
|
|
48
|
+
return Json.from_columns_json_string(json)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_toColumnsJsonString_Static_Z2B6E0EF5(wb: FsWorkbook, spaces: int | None=None, no_numbering: bool | None=None) -> str:
|
|
52
|
+
return Json.to_columns_json_string(wb, spaces, no_numbering)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def FsSpreadsheet_FsWorkbook__FsWorkbook_ToColumnsJsonString_Z3B036AA(this: FsWorkbook, spaces: int | None=None, no_numbering: bool | None=None) -> str:
|
|
56
|
+
return FsSpreadsheet_FsWorkbook__FsWorkbook_toColumnsJsonString_Static_Z2B6E0EF5(this, spaces, no_numbering)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
__all__ = ["FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5", "FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxStream_Static_4D976C1A", "FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxBytes_Static_Z3F6BC7B1", "FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static", "FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxBytes_Static_32154C9D", "FsSpreadsheet_FsWorkbook__FsWorkbook_ToXlsxFile_Z721C83C5", "FsSpreadsheet_FsWorkbook__FsWorkbook_ToXlsxBytes", "FsSpreadsheet_FsWorkbook__FsWorkbook_fromRowsJsonString_Static_Z721C83C5", "FsSpreadsheet_FsWorkbook__FsWorkbook_toRowsJsonString_Static_Z2B6E0EF5", "FsSpreadsheet_FsWorkbook__FsWorkbook_ToRowsJsonString_Z3B036AA", "FsSpreadsheet_FsWorkbook__FsWorkbook_fromColumnsJsonString_Static_Z721C83C5", "FsSpreadsheet_FsWorkbook__FsWorkbook_toColumnsJsonString_Static_Z2B6E0EF5", "FsSpreadsheet_FsWorkbook__FsWorkbook_ToColumnsJsonString_Z3B036AA"]
|
|
60
|
+
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from ..fable_library.option import default_arg
|
|
3
|
+
from ..fable_library.reflection import (TypeInfo, class_type)
|
|
4
|
+
from ..fable_library.result import FSharpResult_2
|
|
5
|
+
from ..fable_library.string_ import (to_fail, printf)
|
|
6
|
+
from ..fs_spreadsheet.fs_workbook import FsWorkbook
|
|
7
|
+
from ..fs_spreadsheet.Json.workbook import (decode_rows, encode_rows, decode_columns, encode_columns)
|
|
8
|
+
from ..thoth_json_python.decode import Decode_fromString
|
|
9
|
+
from ..thoth_json_python.encode import to_string
|
|
10
|
+
|
|
11
|
+
def _expr345() -> TypeInfo:
|
|
12
|
+
return class_type("FsSpreadsheet.Py.Json", None, Json)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class Json:
|
|
16
|
+
@staticmethod
|
|
17
|
+
def try_from_rows_json_string(json: str) -> FSharpResult_2[FsWorkbook, str]:
|
|
18
|
+
return Decode_fromString(decode_rows, json)
|
|
19
|
+
|
|
20
|
+
@staticmethod
|
|
21
|
+
def from_rows_json_string(json: str) -> FsWorkbook:
|
|
22
|
+
match_value: FSharpResult_2[FsWorkbook, str] = Json.try_from_rows_json_string(json)
|
|
23
|
+
return to_fail(printf("Could not deserialize json Workbook: \n%s"))(match_value.fields[0]) if (match_value.tag == 1) else match_value.fields[0]
|
|
24
|
+
|
|
25
|
+
@staticmethod
|
|
26
|
+
def to_rows_json_string(wb: FsWorkbook, spaces: int | None=None, no_numbering: bool | None=None) -> str:
|
|
27
|
+
no_numbering_1: bool = default_arg(no_numbering, False)
|
|
28
|
+
return to_string(default_arg(spaces, 2), encode_rows(no_numbering_1, wb))
|
|
29
|
+
|
|
30
|
+
@staticmethod
|
|
31
|
+
def try_from_columns_json_string(json: str) -> FSharpResult_2[FsWorkbook, str]:
|
|
32
|
+
return Decode_fromString(decode_columns, json)
|
|
33
|
+
|
|
34
|
+
@staticmethod
|
|
35
|
+
def from_columns_json_string(json: str) -> FsWorkbook:
|
|
36
|
+
match_value: FSharpResult_2[FsWorkbook, str] = Json.try_from_columns_json_string(json)
|
|
37
|
+
return to_fail(printf("Could not deserialize json Workbook: \n%s"))(match_value.fields[0]) if (match_value.tag == 1) else match_value.fields[0]
|
|
38
|
+
|
|
39
|
+
@staticmethod
|
|
40
|
+
def to_columns_json_string(wb: FsWorkbook, spaces: int | None=None, no_numbering: bool | None=None) -> str:
|
|
41
|
+
return to_string(default_arg(spaces, 2), encode_columns(default_arg(no_numbering, False), wb))
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
Json_reflection = _expr345
|
|
45
|
+
|
|
46
|
+
__all__ = ["Json_reflection"]
|
|
47
|
+
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from abc import abstractmethod
|
|
3
|
+
from openpyxl.worksheet.table import (TableStyleInfo, Table)
|
|
4
|
+
from typing import Protocol
|
|
5
|
+
from ..fable_openpyxl.openpyxl import Table as Table_1
|
|
6
|
+
from ..fs_spreadsheet.Ranges.fs_range_address import (FsRangeAddress__get_Range, FsRangeAddress__ctor_Z721C83C5)
|
|
7
|
+
from ..fs_spreadsheet.Ranges.fs_range_base import FsRangeBase__get_RangeAddress
|
|
8
|
+
from ..fs_spreadsheet.Tables.fs_table import FsTable
|
|
9
|
+
|
|
10
|
+
class tablestyle(Protocol):
|
|
11
|
+
@abstractmethod
|
|
12
|
+
def name(self) -> str:
|
|
13
|
+
...
|
|
14
|
+
|
|
15
|
+
@abstractmethod
|
|
16
|
+
def show_column_stripes(self) -> bool:
|
|
17
|
+
...
|
|
18
|
+
|
|
19
|
+
@abstractmethod
|
|
20
|
+
def show_first_column(self) -> bool:
|
|
21
|
+
...
|
|
22
|
+
|
|
23
|
+
@abstractmethod
|
|
24
|
+
def show_last_column(self) -> bool:
|
|
25
|
+
...
|
|
26
|
+
|
|
27
|
+
@abstractmethod
|
|
28
|
+
def show_row_stripes(self) -> bool:
|
|
29
|
+
...
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class TableStyleStatic(Protocol):
|
|
33
|
+
@abstractmethod
|
|
34
|
+
def create(self, name: str, showFirstColumn: bool, showLastColumn: bool, showRowStripes: bool, showColumnStripes: bool) -> tablestyle:
|
|
35
|
+
...
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def default_table_style(__unit: None=None) -> tablestyle:
|
|
39
|
+
return TableStyleInfo(name="TableStyleMedium9", showFirstColumn=False, showLastColumn=False, showRowStripes=True, showColumnStripes=True)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def from_fs_table(fs_table: FsTable) -> Table:
|
|
43
|
+
table: Table = Table(displayName=fs_table.Name, ref=FsRangeAddress__get_Range(FsRangeBase__get_RangeAddress(fs_table)))
|
|
44
|
+
table.tableStyleInfo = default_table_style()
|
|
45
|
+
return table
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def to_fs_table(table: Table) -> FsTable:
|
|
49
|
+
return FsTable(table.name if ((table.displayName) is None) else (table.displayName), FsRangeAddress__ctor_Z721C83C5(table.ref))
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
__all__ = ["default_table_style", "from_fs_table", "to_fs_table"]
|
|
53
|
+
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
from openpyxl import Workbook
|
|
3
|
+
from typing import Any
|
|
4
|
+
from ..fable_library.array_ import iterate as iterate_1
|
|
5
|
+
from ..fable_library.seq import iterate
|
|
6
|
+
from ..fable_library.util import ignore
|
|
7
|
+
from ..fable_openpyxl.openpyxl import (Workbook as Workbook_1, Worksheet)
|
|
8
|
+
from ..fs_spreadsheet.fs_workbook import FsWorkbook
|
|
9
|
+
from ..fs_spreadsheet.fs_worksheet import FsWorksheet
|
|
10
|
+
from .worksheet import (from_fs_worksheet, to_fs_worksheet)
|
|
11
|
+
|
|
12
|
+
def from_fs_workbook(fs_wb: FsWorkbook) -> Workbook:
|
|
13
|
+
if len(fs_wb.GetWorksheets()) == 0:
|
|
14
|
+
raise Exception("Workbook must contain at least one worksheet")
|
|
15
|
+
|
|
16
|
+
py_wb: Workbook = Workbook(None)
|
|
17
|
+
py_wb.remove(py_wb.active)
|
|
18
|
+
def action(ws: FsWorksheet, fs_wb: Any=fs_wb) -> None:
|
|
19
|
+
ignore(from_fs_worksheet(py_wb, ws))
|
|
20
|
+
|
|
21
|
+
iterate(action, fs_wb.GetWorksheets())
|
|
22
|
+
return py_wb
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def to_fs_workbook(py_wb: Workbook) -> FsWorkbook:
|
|
26
|
+
fs_wb: FsWorkbook = FsWorkbook()
|
|
27
|
+
def action(ws: Worksheet, py_wb: Any=py_wb) -> None:
|
|
28
|
+
if (len([list(inner_tuple) for inner_tuple in ws.values]) != 0) if (ws.title != "Sheet") else False:
|
|
29
|
+
w: FsWorksheet = to_fs_worksheet(ws)
|
|
30
|
+
w.RescanRows()
|
|
31
|
+
value: None = fs_wb.AddWorksheet(w)
|
|
32
|
+
ignore(None)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
iterate_1(action, py_wb.worksheets)
|
|
36
|
+
return fs_wb
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
__all__ = ["from_fs_workbook", "to_fs_workbook"]
|
|
40
|
+
|