osbot-utils 1.33.0__tar.gz → 1.35.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/PKG-INFO +2 -2
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/README.md +1 -1
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/Local_Caches.py +4 -3
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/Zip_Bytes.py +9 -2
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Data.py +4 -1
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Invoke.py +15 -1
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/Sqlite__Database.py +3 -1
- osbot_utils-1.35.0/osbot_utils/helpers/sqlite/domains/Sqlite__DB.py +34 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Files.py +7 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Files.py +6 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Files.py +2 -1
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Misc.py +1 -1
- osbot_utils-1.35.0/osbot_utils/version +1 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/pyproject.toml +1 -1
- osbot_utils-1.33.0/osbot_utils/version +0 -1
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/LICENSE +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/base_classes/Cache_Pickle.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/base_classes/Kwargs_To_Disk.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/base_classes/Kwargs_To_Self.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/base_classes/Type_Safe.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/base_classes/Type_Safe__List.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/base_classes/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/context_managers/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/context_managers/capture_duration.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/context_managers/disable_root_loggers.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/classes/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/classes/singleton.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/lists/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/lists/filter_list.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/lists/group_by.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/lists/index_by.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/cache.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/cache_on_function.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/cache_on_self.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/cache_on_tmp.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/capture_exception.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/capture_status.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/catch.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/context.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/depreciated.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/function_type_check.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/obj_as_context.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/remove_return_value.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/required_fields.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/fluent/Fluent_Dict.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/fluent/Fluent_List.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/fluent/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mermaid/Mermaid.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mermaid/Mermaid__Edge.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mermaid/Mermaid__Graph.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mermaid/Mermaid__Node.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mermaid/Mermaid__Renderer.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mermaid/configs/Mermaid__Edge__Config.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mermaid/configs/Mermaid__Node__Config.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mermaid/configs/Mermaid__Render__Config.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mermaid/examples/Mermaid_Examples__FlowChart.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mermaid/models/Mermaid__Diagram_Direction.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mermaid/models/Mermaid__Diagram__Type.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mermaid/models/Mermaid__Node__Shape.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mgraph/MGraph.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mgraph/MGraph__Config.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mgraph/MGraph__Data.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mgraph/MGraph__Edge.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mgraph/MGraph__Node.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mgraph/MGraph__Random_Graphs.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mgraph/MGraph__Serializer.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mgraph/MGraphs.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mgraph/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/CFormat.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/CPrint.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/Dict_To_Attr.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/Hashicorp_Secrets.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/Local_Cache.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/Print_Table.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/Python_Audit.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/Random_Seed.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/Type_Registry.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/Ast.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/Ast_Base.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/Ast_Data.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/Ast_Load.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/Ast_Merge.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/Ast_Node.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/Ast_Visit.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/Call_Tree.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Add.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Alias.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_And.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Argument.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Arguments.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Assert.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Assign.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Attribute.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Aug_Assign.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Bin_Op.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Bool_Op.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Break.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Call.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Class_Def.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Compare.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Comprehension.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Constant.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Continue.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Dict.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Eq.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Except_Handler.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Expr.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_For.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Function_Def.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Generator_Exp.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Gt.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_GtE.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_If.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_If_Exp.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Import.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Import_From.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_In.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Is.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Is_Not.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Keyword.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Lambda.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_List.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_List_Comp.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Load.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Lt.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_LtE.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Mod.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Module.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Mult.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Name.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Not.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Not_Eq.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Not_In.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Or.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Pass.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Pow.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Raise.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Return.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Set.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Slice.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Starred.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Store.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Sub.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Subscript.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Try.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Tuple.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Unary_Op.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_While.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_With.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_With_Item.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Yield.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Actions.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Config.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Row.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/cache_requests/Cache__Requests__Table.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/cache_requests/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/cache_requests/flows/flow__Cache__Requests.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/flows/Flow.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/flows/Task.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/flows/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/html/Dict_To_Css.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/html/Dict_To_Html.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/html/Dict_To_Tags.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/html/Html_To_Dict.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/html/Html_To_Tag.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/html/Tag__Base.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/html/Tag__Body.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/html/Tag__Div.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/html/Tag__H.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/html/Tag__HR.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/html/Tag__Head.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/html/Tag__Html.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/html/Tag__Link.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/html/Tag__Style.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/html/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/pubsub/Event__Queue.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/pubsub/PubSub__Client.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/pubsub/PubSub__Room.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/pubsub/PubSub__Server.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/pubsub/PubSub__Sqlite.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/pubsub/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Connect.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Disconnect.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Join_Room.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Leave_Room.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/pubsub/schemas/Schema__Event__Message.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/pubsub/schemas/Schema__PubSub__Client.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/pubsub/schemas/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/Capture_Sqlite_Error.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/Sqlite__Cursor.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/Sqlite__Field.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/Sqlite__Globals.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/Sqlite__Table.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/Sqlite__Table__Create.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/Temp_Sqlite__Database__Disk.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/Temp_Sqlite__Table.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/cache/Schema__Table__Requests.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests__Patch.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests__Sqlite.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/cache/Sqlite__Cache__Requests__Table.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/cache/Sqlite__DB__Requests.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/cache/TestCase__Sqlite__Cache__Requests.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/cache/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Graph.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Json.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Local.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/domains/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/domains/schemas/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/models/Sqlite__Field__Type.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/models/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/sample_data/Sqlite__Sample_Data__Chinook.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/sample_data/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/sql_builder/SQL_Builder.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/sql_builder/SQL_Builder__Select.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/sql_builder/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Config.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Edges.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Nodes.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/tables/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ssh/SCP.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ssh/SSH.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ssh/SSH__Cache__Requests.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ssh/SSH__Execute.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ssh/SSH__Health_Check.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ssh/SSH__Linux.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ssh/SSH__Linux__Amazon.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ssh/SSH__Python.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ssh/TestCase__SSH.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ssh/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/trace/Trace_Call.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/trace/Trace_Call__Config.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/trace/Trace_Call__Graph.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/trace/Trace_Call__Handler.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/trace/Trace_Call__Print_Lines.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/trace/Trace_Call__Print_Traces.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/trace/Trace_Call__Stack.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/trace/Trace_Call__Stack_Node.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/trace/Trace_Call__Stats.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/trace/Trace_Call__View_Model.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/trace/Trace_Files.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/trace/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Catch.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Duration.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Hook_Method.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Log_To_Queue.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Log_To_String.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Logging.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Patch_Print.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Profiler.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Pytest.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Stderr.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Stdout.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Temp_Env_Vars.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Temp_File.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Temp_Folder.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Temp_Sys_Path.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Temp_Web_Server.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Temp_Zip.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Temp_Zip_In_Memory.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Unit_Test.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/Unzip_File.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/testing/__init__.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Assert.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Call_Stack.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Csv.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Dev.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Env.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Exceptions.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Functions.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Http.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Int.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Json.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Json_Cache.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Lists.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Objects.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Png.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Process.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Python_Logger.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Regex.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Status.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Str.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Toml.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Version.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/Zip.py +0 -0
- {osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/utils/__init__.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: osbot_utils
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.35.0
|
4
4
|
Summary: OWASP Security Bot - Utils
|
5
5
|
Home-page: https://github.com/owasp-sbot/OSBot-Utils
|
6
6
|
License: MIT
|
@@ -22,7 +22,7 @@ Description-Content-Type: text/markdown
|
|
22
22
|
|
23
23
|
Powerful Python util methods and classes that simplify common apis and tasks.
|
24
24
|
|
25
|
-

|
26
26
|
[](https://codecov.io/gh/owasp-sbot/OSBot-Utils)
|
27
27
|
|
28
28
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Powerful Python util methods and classes that simplify common apis and tasks.
|
4
4
|
|
5
|
-

|
6
6
|
[](https://codecov.io/gh/owasp-sbot/OSBot-Utils)
|
7
7
|
|
8
8
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from pathlib import Path
|
2
2
|
from typing import Dict, List
|
3
3
|
from osbot_utils.helpers.Local_Cache import Local_Cache
|
4
|
-
from osbot_utils.utils.Files
|
4
|
+
from osbot_utils.utils.Files import current_temp_folder, path_combine, folder_exists, folder_delete, file_extension
|
5
5
|
from osbot_utils.utils.Misc import random_text
|
6
6
|
|
7
7
|
|
@@ -41,8 +41,9 @@ class Local_Caches:
|
|
41
41
|
cache_names = []
|
42
42
|
for f in self.path_local_caches().iterdir():
|
43
43
|
if f.is_file():
|
44
|
-
|
45
|
-
|
44
|
+
if file_extension(f.name) == '.json':
|
45
|
+
cache_name = f.name.replace('.json', '')
|
46
|
+
cache_names.append(cache_name)
|
46
47
|
return cache_names
|
47
48
|
|
48
49
|
#@cache_on_self
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from osbot_utils.base_classes.Type_Safe import Type_Safe
|
2
2
|
from osbot_utils.utils.Dev import pprint
|
3
3
|
from osbot_utils.utils.Files import files_list, file_create_from_bytes, temp_file, parent_folder, parent_folder_create
|
4
|
+
from osbot_utils.utils.Misc import random_text
|
4
5
|
from osbot_utils.utils.Regex import list__match_regex, list__match_regexes
|
5
6
|
from osbot_utils.utils.Zip import zip_bytes_empty, zip_bytes__files, zip_bytes__add_file, zip_bytes__add_files, \
|
6
7
|
zip_bytes__replace_files, zip_bytes__replace_file, zip_bytes__file_list, zip_bytes__file, \
|
@@ -10,8 +11,8 @@ from osbot_utils.utils.Zip import zip_bytes_empty, zip_bytes__files, zip_bytes__
|
|
10
11
|
class Zip_Bytes(Type_Safe):
|
11
12
|
zip_bytes : bytes = None
|
12
13
|
|
13
|
-
def __init__(self):
|
14
|
-
super().__init__()
|
14
|
+
def __init__(self, **kwargs):
|
15
|
+
super().__init__(**kwargs)
|
15
16
|
self.zip_bytes = zip_bytes_empty()
|
16
17
|
|
17
18
|
def __enter__(self):
|
@@ -44,6 +45,12 @@ class Zip_Bytes(Type_Safe):
|
|
44
45
|
files_to_add = list__match_regexes(all_files_in_folder, *patterns)
|
45
46
|
return self.add_files__from_disk(base_path, files_to_add)
|
46
47
|
|
48
|
+
def add_random_file(self):
|
49
|
+
random_file_name = random_text('file_name' )
|
50
|
+
random_file_contents = random_text('file_contents')
|
51
|
+
self.add_file(random_file_name, random_file_contents)
|
52
|
+
return self
|
53
|
+
|
47
54
|
def add_folder__from_disk__with_prefix(self, folder_to_add, path_prefix, *patterns):
|
48
55
|
base_path = folder_to_add
|
49
56
|
all_files_in_folder = files_list(folder_to_add)
|
@@ -101,5 +101,8 @@ class Cache__Requests__Data(Type_Safe):
|
|
101
101
|
|
102
102
|
def response_data_serialize(self, response_data):
|
103
103
|
if self.config.pickle_response:
|
104
|
-
|
104
|
+
try:
|
105
|
+
return pickle_save_to_bytes(response_data)
|
106
|
+
except: # todo: look at a better way to handle this and any possible side effects (saw this with a couple boto3 class)
|
107
|
+
return None
|
105
108
|
return response_data
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import threading
|
1
2
|
import types
|
2
3
|
|
3
4
|
from osbot_utils.base_classes.Type_Safe import Type_Safe
|
@@ -11,6 +12,14 @@ class Cache__Requests__Invoke(Type_Safe):
|
|
11
12
|
cache_data : Cache__Requests__Data
|
12
13
|
config : Cache__Requests__Config
|
13
14
|
on_invoke_target : types.FunctionType
|
15
|
+
cursor_thread_id : int
|
16
|
+
|
17
|
+
def __init__(self, **kwargs):
|
18
|
+
super().__init__(**kwargs)
|
19
|
+
self.cursor_thread_id = threading.get_ident() # we need to capture this to make sure we are operating on the same thread
|
20
|
+
|
21
|
+
def can_operate_in_this_thread(self):
|
22
|
+
return self.cursor_thread_id == threading.get_ident()
|
14
23
|
|
15
24
|
def invoke(self, target, target_args, target_kwargs):
|
16
25
|
return self.invoke_with_cache(target, target_args, target_kwargs)
|
@@ -22,7 +31,11 @@ class Cache__Requests__Invoke(Type_Safe):
|
|
22
31
|
raw_response = target(*target_args, **target_kwargs)
|
23
32
|
return self.transform_raw_response(raw_response)
|
24
33
|
|
34
|
+
|
35
|
+
|
25
36
|
def invoke_with_cache(self, target, target_args, target_kwargs, request_data=None):
|
37
|
+
if self.can_operate_in_this_thread() is False: # make sure we are in the correct thread
|
38
|
+
return self.invoke_target(target, target_args, target_kwargs)
|
26
39
|
if self.config.enabled is False:
|
27
40
|
if self.config.cache_only_mode:
|
28
41
|
return None
|
@@ -43,7 +56,8 @@ class Cache__Requests__Invoke(Type_Safe):
|
|
43
56
|
try:
|
44
57
|
response_data_obj = self.invoke_target(target, target_args, target_kwargs)
|
45
58
|
response_data = self.cache_data.response_data_serialize(response_data_obj)
|
46
|
-
|
59
|
+
if response_data:
|
60
|
+
self.cache_actions.cache_add(request_data=request_data, response_data=response_data)
|
47
61
|
return response_data_obj
|
48
62
|
except Exception as exception:
|
49
63
|
if self.config.capture_exceptions:
|
@@ -124,10 +124,12 @@ class Sqlite__Database(Kwargs_To_Self):
|
|
124
124
|
def tables_raw(self):
|
125
125
|
return self.cursor().tables()
|
126
126
|
|
127
|
-
def tables_names(self, include_sqlite_master=False):
|
127
|
+
def tables_names(self, include_sqlite_master=False, include_indexes=True):
|
128
128
|
table_names = self.table__sqlite_master().select_field_values('name')
|
129
129
|
if include_sqlite_master:
|
130
130
|
table_names.append('sqlite_master')
|
131
|
+
if include_indexes is False:
|
132
|
+
return [table_name for table_name in table_names if table_name.startswith('idx') is False]
|
131
133
|
return table_names
|
132
134
|
|
133
135
|
def purge_database(self): # this fells like a better name than vacuum :)
|
@@ -0,0 +1,34 @@
|
|
1
|
+
from typing import Dict, Type
|
2
|
+
|
3
|
+
from osbot_utils.decorators.methods.cache_on_self import cache_on_self
|
4
|
+
from osbot_utils.helpers.sqlite.Sqlite__Database import Sqlite__Database
|
5
|
+
from osbot_utils.helpers.sqlite.tables.Sqlite__Table__Config import Sqlite__Table__Config, SQLITE__TABLE_NAME__CONFIG, \
|
6
|
+
Schema__Table__Config
|
7
|
+
|
8
|
+
|
9
|
+
class Sqlite__DB(Sqlite__Database):
|
10
|
+
|
11
|
+
# methods to override
|
12
|
+
def tables_to_add(self): # use this to define the tables that should be automatically created on setup
|
13
|
+
return {}
|
14
|
+
|
15
|
+
def db_not_configured(self):
|
16
|
+
return self.tables_names() == []
|
17
|
+
|
18
|
+
@cache_on_self
|
19
|
+
def table_config(self):
|
20
|
+
return Sqlite__Table__Config(database=self)
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
def tables_names(self, include_sqlite_master=False, include_indexes=False):
|
25
|
+
return super().tables_names(include_sqlite_master=include_sqlite_master, include_indexes=include_indexes)
|
26
|
+
|
27
|
+
def setup(self):
|
28
|
+
if self.db_not_configured():
|
29
|
+
self.table_config().setup()
|
30
|
+
for table_name, row_schema in self.tables_to_add().items():
|
31
|
+
table = self.table(table_name)
|
32
|
+
table.row_schema = row_schema
|
33
|
+
table.create()
|
34
|
+
return self
|
{osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/domains/Sqlite__DB__Files.py
RENAMED
@@ -21,11 +21,18 @@ class Sqlite__DB__Files(Sqlite__DB__Local):
|
|
21
21
|
def file(self, path, include_contents=False):
|
22
22
|
return self.table_files().file(path, include_contents=include_contents)
|
23
23
|
|
24
|
+
def file_contents(self, path):
|
25
|
+
return self.table_files().file_contents(path)
|
26
|
+
|
27
|
+
def file__with_content(self, path):
|
28
|
+
return self.file(path, include_contents=True)
|
29
|
+
|
24
30
|
def file_exists(self, path):
|
25
31
|
return self.table_files().file_exists(path)
|
26
32
|
|
27
33
|
def file_names(self):
|
28
34
|
return self.table_files().select_field_values('path')
|
35
|
+
|
29
36
|
@cache_on_self
|
30
37
|
def table_files(self):
|
31
38
|
return Sqlite__Table__Files(database=self).setup()
|
{osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/sqlite/tables/Sqlite__Table__Files.py
RENAMED
@@ -67,6 +67,12 @@ class Sqlite__Table__Files(Sqlite__Table):
|
|
67
67
|
fields = self.field_names_without_content()
|
68
68
|
return self.row(where=dict(path=path), fields = fields)
|
69
69
|
|
70
|
+
def file_contents(self, path):
|
71
|
+
fields = ['contents']
|
72
|
+
row = self.row(where=dict(path=path), fields = fields)
|
73
|
+
if row:
|
74
|
+
return row.get('contents')
|
75
|
+
|
70
76
|
def file_without_contents(self, path):
|
71
77
|
return self.file(path, include_contents=False)
|
72
78
|
|
@@ -270,7 +270,8 @@ class Files:
|
|
270
270
|
if isinstance(target, Path):
|
271
271
|
return target.is_file()
|
272
272
|
if type(target) is str:
|
273
|
-
|
273
|
+
if len(target) < 4096: # max file size in Linux (handle the cases when the file contents was used as target)
|
274
|
+
return os.path.isfile(target)
|
274
275
|
return False
|
275
276
|
|
276
277
|
@staticmethod
|
@@ -0,0 +1 @@
|
|
1
|
+
v1.35.0
|
@@ -1 +0,0 @@
|
|
1
|
-
v1.33.0
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/context_managers/disable_root_loggers.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/cache_on_function.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/capture_exception.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/function_type_check.py
RENAMED
File without changes
|
File without changes
|
{osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/decorators/methods/remove_return_value.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mermaid/models/Mermaid__Node__Shape.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/graphs/mgraph/MGraph__Random_Graphs.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Comprehension.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Except_Handler.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{osbot_utils-1.33.0 → osbot_utils-1.35.0}/osbot_utils/helpers/ast/nodes/Ast_Generator_Exp.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|