abstract-utilities 0.2.2.599__tar.gz → 0.2.2.691__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.
Potentially problematic release.
This version of abstract-utilities might be problematic. Click here for more details.
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/PKG-INFO +1 -1
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/setup.py +1 -1
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/__init__.py +18 -6
- abstract_utilities-0.2.2.691/src/abstract_utilities/class_utils/abstract_classes.py +144 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/class_utils/caller_utils.py +38 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/class_utils/global_utils.py +32 -25
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/class_utils/imports/imports.py +1 -1
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/directory_utils/src/directory_utils.py +2 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils/imports/classes.py +385 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/imports/module_imports.py +1 -1
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils/src/file_filters/__init__.py +1 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils/src/file_filters/ensure_utils.py +490 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/src/file_filters/filter_params.py +64 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils/src/file_filters/predicate_utils.py +44 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/src/find_collect.py +10 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils/src/initFunctionsGen.py +293 -0
- abstract_utilities-0.2.2.599/src/abstract_utilities/file_utils/src/initFunctionsGen.py → abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils/src/initFunctionsGens.py +4 -4
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/imports/__init__.py +2 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/imports/constants.py +118 -0
- abstract_utilities-0.2.2.599/src/abstract_utilities/import_utils/imports/__init__.py → abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/imports/imports/__init__.py +2 -3
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/imports/imports/constants.py +119 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/imports/imports/imports.py +46 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/imports/imports/module_imports.py +8 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/imports/utils/__init__.py +3 -0
- abstract_utilities-0.2.2.599/src/abstract_utilities/file_utils/imports/classes.py → abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/imports/utils/classes.py +1 -3
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/imports/utils/clean_imps.py +155 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/imports/utils/filter_utils.py +340 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/src/__init__.py +8 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/src/file_filters.py +155 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/src/file_reader.py +604 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/src/find_collect.py +258 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/src/map_utils.py +28 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)/src/pdf_utils.py +300 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/import_utils/__init__.py +2 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/import_utils/imports/__init__.py +4 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/import_utils/imports/init_imports.py +3 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/imports/module_imports.py +2 -1
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/imports/utils.py +1 -1
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/src/__init__.py +1 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/src/extract_utils.py +2 -2
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/src/import_functions.py +27 -9
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/src/import_utils.py +61 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/import_utils/src/layze_import_utils/__init__.py +2 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/import_utils/src/layze_import_utils/lazy_utils.py +41 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/import_utils/src/layze_import_utils/nullProxy.py +37 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/src/sysroot_utils.py +1 -1
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/imports.py +5 -2
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/json_utils/json_utils.py +37 -3
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/list_utils/list_utils.py +3 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/log_utils/log_file.py +162 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/parse_utils/parse_utils.py +23 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/path_utils/imports/module_imports.py +1 -1
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/path_utils/path_utils.py +7 -12
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/read_write_utils/imports/imports.py +1 -1
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/read_write_utils/read_write_utils.py +137 -36
- abstract_utilities-0.2.2.691/src/abstract_utilities/safe_utils/imports/imports.py +2 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/type_utils/__init__.py +7 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/type_utils/get_type.py +120 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/type_utils/imports/__init__.py +3 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/type_utils/imports/constants.py +134 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/type_utils/imports/module_imports.py +25 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/type_utils/is_type.py +455 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/type_utils/make_type.py +126 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/type_utils/mime_types.py +68 -0
- abstract_utilities-0.2.2.691/src/abstract_utilities/type_utils/type_utils.py +104 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities.egg-info/PKG-INFO +1 -1
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities.egg-info/SOURCES.txt +27 -1
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/tests/test.py +2 -1
- abstract_utilities-0.2.2.599/src/abstract_utilities/class_utils/abstract_classes.py +0 -74
- abstract_utilities-0.2.2.599/src/abstract_utilities/file_utils/src/file_filters/__init__.py +0 -4
- abstract_utilities-0.2.2.599/src/abstract_utilities/file_utils/src/file_filters/ensure_utils.py +0 -118
- abstract_utilities-0.2.2.599/src/abstract_utilities/file_utils/src/file_filters/predicate_utils.py +0 -114
- abstract_utilities-0.2.2.599/src/abstract_utilities/import_utils/imports/imports.py +0 -4
- abstract_utilities-0.2.2.599/src/abstract_utilities/json_utils/imports/imports.py +0 -2
- abstract_utilities-0.2.2.599/src/abstract_utilities/log_utils/log_file.py +0 -59
- abstract_utilities-0.2.2.599/src/abstract_utilities/type_utils/__init__.py +0 -3
- abstract_utilities-0.2.2.599/src/abstract_utilities/type_utils/imports/__init__.py +0 -2
- abstract_utilities-0.2.2.599/src/abstract_utilities/type_utils/imports/module_imports.py +0 -1
- abstract_utilities-0.2.2.599/src/abstract_utilities/type_utils/type_utils.py +0 -981
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/README.md +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/pyproject.toml +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/setup.cfg +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/class_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/class_utils/class_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/class_utils/function_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/class_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/class_utils/imports/utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/class_utils/module_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/compare_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/compare_utils/best_match.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/compare_utils/compare_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/compare_utils/find_value.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/directory_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/directory_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/directory_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/directory_utils/imports/module_imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/directory_utils/src/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/directory_utils/src/name_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/directory_utils/src/size_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/directory_utils/src/utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/env_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/env_utils/abstractEnv.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/env_utils/envy_it.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/env_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/env_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/env_utils/imports/utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/error_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/error_utils/error_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/error_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/error_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/error_utils/imports/module_imports.py +0 -0
- {abstract_utilities-0.2.2.599/src/abstract_utilities/import_utils → abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils}/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/imports/clean_imps.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/imports/constants.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/src/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/src/file_filters/filter_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/src/find_content.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/src/map_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/src/reader_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/src/reader_utils/directory_reader.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/src/reader_utils/file_reader.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/src/reader_utils/file_readers.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/src/reader_utils/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/file_utils/src/reader_utils/pdf_utils.py +0 -0
- {abstract_utilities-0.2.2.599/src/abstract_utilities/file_utils → abstract_utilities-0.2.2.691/src/abstract_utilities/file_utils (2)}/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/hash_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/hash_utils/hash_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/hash_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/hash_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/hash_utils/imports/module_imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/history_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/history_utils/history_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/history_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/history_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/history_utils/imports/module_imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/circular_import_finder.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/circular_import_finder2.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/imports/constants.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/src/clean_imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/src/dot_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/src/package_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/src/package_utils/context_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/src/package_utils/import_collectors.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/src/package_utils/path_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/src/package_utils/safe_import.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/import_utils/src/pkg_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/json_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/json_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599/src/abstract_utilities/safe_utils → abstract_utilities-0.2.2.691/src/abstract_utilities/json_utils}/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/json_utils/imports/module_imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/list_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/list_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/list_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/list_utils/imports/module_imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/log_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/log_utils/abstractLogManager.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/log_utils/call_response.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/log_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/log_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/log_utils/imports/module_imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/log_utils/logger_callable.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/math_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/math_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/math_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/math_utils/imports/module_imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/math_utils/math_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/parse_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/parse_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/parse_utils/imports/constants.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/parse_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/parse_utils/imports/module_imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/path_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/path_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/path_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/read_write_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/read_write_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/read_write_utils/imports/module_imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/safe_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/safe_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/safe_utils/imports/module_imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/safe_utils/safe_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/ssh_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/ssh_utils/classes.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/ssh_utils/cmd_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/ssh_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/ssh_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/ssh_utils/imports/module_imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/ssh_utils/imports/utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/ssh_utils/pexpect_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/ssh_utils/type_checks.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/string_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/string_utils/clean_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/string_utils/eat_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/string_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/string_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/string_utils/imports/module_imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/string_utils/imports/utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/string_utils/replace_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/thread_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/thread_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/thread_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/thread_utils/imports/module_imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/thread_utils/thread_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/time_utils/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/time_utils/imports/__init__.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/time_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/time_utils/imports/module_imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/time_utils/time_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/type_utils/alpha_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/type_utils/imports/imports.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/type_utils/num_utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/utils.py +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities.egg-info/dependency_links.txt +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities.egg-info/requires.txt +0 -0
- {abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstract_utilities
|
|
3
|
-
Version: 0.2.2.
|
|
3
|
+
Version: 0.2.2.691
|
|
4
4
|
Summary: abstract_utilities is a collection of utility modules providing a variety of functions to aid in tasks such as data comparison, list manipulation, JSON handling, string manipulation, mathematical computations, and time operations.
|
|
5
5
|
Home-page: https://github.com/AbstractEndeavors/abstract_utilities
|
|
6
6
|
Author: putkoff
|
|
@@ -4,7 +4,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
|
|
|
4
4
|
long_description = fh.read()
|
|
5
5
|
setuptools.setup(
|
|
6
6
|
name='abstract_utilities',
|
|
7
|
-
version='0.2.2.
|
|
7
|
+
version='0.2.2.691',
|
|
8
8
|
author='putkoff',
|
|
9
9
|
author_email='partners@abstractendeavors.com',
|
|
10
10
|
description='abstract_utilities is a collection of utility modules providing a variety of functions to aid in tasks such as data comparison, list manipulation, JSON handling, string manipulation, mathematical computations, and time operations.',
|
{abstract_utilities-0.2.2.599 → abstract_utilities-0.2.2.691}/src/abstract_utilities/__init__.py
RENAMED
|
@@ -32,10 +32,10 @@ from .json_utils import (unified_json_loader,
|
|
|
32
32
|
safe_write_to_file,
|
|
33
33
|
safe_save_updated_json_data,
|
|
34
34
|
get_result_from_data,
|
|
35
|
-
flatten_json
|
|
35
|
+
flatten_json,
|
|
36
|
+
to_json_safe
|
|
36
37
|
)
|
|
37
|
-
|
|
38
|
-
write_to_file)
|
|
38
|
+
|
|
39
39
|
from .directory_utils import *
|
|
40
40
|
from .path_utils import *
|
|
41
41
|
from .file_utils import *
|
|
@@ -46,7 +46,9 @@ from .list_utils import (get_highest_value_obj,
|
|
|
46
46
|
compare_lists,
|
|
47
47
|
get_symetric_difference,
|
|
48
48
|
list_set,
|
|
49
|
-
make_list_it
|
|
49
|
+
make_list_it,
|
|
50
|
+
get_single_from_list
|
|
51
|
+
)
|
|
50
52
|
from .time_utils import (get_time_stamp,
|
|
51
53
|
get_sleep,
|
|
52
54
|
sleep_count_down,
|
|
@@ -84,7 +86,8 @@ from .type_utils import (make_bool,
|
|
|
84
86
|
get_numbers_comp,
|
|
85
87
|
is_any_instance,
|
|
86
88
|
break_string,
|
|
87
|
-
MIME_TYPES
|
|
89
|
+
MIME_TYPES,
|
|
90
|
+
get_if_None
|
|
88
91
|
)
|
|
89
92
|
get_media_types = get_all_types = get_all_file_types
|
|
90
93
|
from .math_utils import (convert_to_percentage,
|
|
@@ -108,7 +111,8 @@ from .parse_utils import (num_tokens_from_string,
|
|
|
108
111
|
chunk_any_to_tokens,
|
|
109
112
|
detect_language_from_text,
|
|
110
113
|
chunk_by_language_context,
|
|
111
|
-
search_code
|
|
114
|
+
search_code,
|
|
115
|
+
get_within_quotes)
|
|
112
116
|
|
|
113
117
|
from .log_utils import get_caller_info,get_logFile,print_or_log,get_json_call_response,initialize_call_log
|
|
114
118
|
from .error_utils import try_func
|
|
@@ -119,3 +123,11 @@ from .path_utils import *
|
|
|
119
123
|
from .file_utils import *
|
|
120
124
|
from .string_utils import *
|
|
121
125
|
from .import_utils import *
|
|
126
|
+
from .read_write_utils import (read_from_file,
|
|
127
|
+
write_to_file,
|
|
128
|
+
make_dirs,
|
|
129
|
+
make_dirs,
|
|
130
|
+
copy_files,
|
|
131
|
+
make_path,
|
|
132
|
+
run_cmd
|
|
133
|
+
)
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
from .imports import *
|
|
2
|
+
class SingletonMeta(type):
|
|
3
|
+
_instances = {}
|
|
4
|
+
def __call__(cls, *args, **kwargs):
|
|
5
|
+
if cls not in cls._instances:
|
|
6
|
+
cls._instances[cls] = super(SingletonMeta, cls).__call__(*args, **kwargs)
|
|
7
|
+
return cls._instances[cls]
|
|
8
|
+
|
|
9
|
+
def get_inputs(cls, *args, **kwargs):
|
|
10
|
+
"""
|
|
11
|
+
Dynamically construct a dataclass instance from args and kwargs,
|
|
12
|
+
filling missing values from defaults in the dataclass.
|
|
13
|
+
"""
|
|
14
|
+
fields = list(cls.__annotations__.keys())
|
|
15
|
+
values = {}
|
|
16
|
+
|
|
17
|
+
args = list(args)
|
|
18
|
+
for field in fields:
|
|
19
|
+
if field in kwargs:
|
|
20
|
+
values[field] = kwargs[field]
|
|
21
|
+
elif args:
|
|
22
|
+
values[field] = args.pop(0)
|
|
23
|
+
else:
|
|
24
|
+
values[field] = getattr(cls(), field) # default from dataclass
|
|
25
|
+
|
|
26
|
+
return cls(**values)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
from abstract_utilities import *
|
|
30
|
+
class SingletonMeta(type):
|
|
31
|
+
_instances = {}
|
|
32
|
+
def __call__(cls, *args, **kwargs):
|
|
33
|
+
if cls not in cls._instances:
|
|
34
|
+
cls._instances[cls] = super(SingletonMeta, cls).__call__(*args, **kwargs)
|
|
35
|
+
return cls._instances[cls]
|
|
36
|
+
|
|
37
|
+
def get_inputs(cls, *args, **kwargs):
|
|
38
|
+
"""
|
|
39
|
+
Dynamically construct a dataclass instance from args and kwargs,
|
|
40
|
+
filling missing values from defaults in the dataclass.
|
|
41
|
+
"""
|
|
42
|
+
fields = list(cls.__annotations__.keys())
|
|
43
|
+
values = {}
|
|
44
|
+
|
|
45
|
+
args = list(args)
|
|
46
|
+
for field in fields:
|
|
47
|
+
if field in kwargs:
|
|
48
|
+
values[field] = kwargs[field]
|
|
49
|
+
elif args:
|
|
50
|
+
values[field] = args.pop(0)
|
|
51
|
+
else:
|
|
52
|
+
values[field] = getattr(cls(), field) # default from dataclass
|
|
53
|
+
|
|
54
|
+
return cls(*args,**values)
|
|
55
|
+
def get_input_params(func):
|
|
56
|
+
sig = inspect.signature(func)
|
|
57
|
+
return sig.parameters
|
|
58
|
+
def get_args(func, *args,**kwargs):
|
|
59
|
+
parameters = get_input_params(func)
|
|
60
|
+
parameters = dict(parameters)
|
|
61
|
+
for key,value in parameters.items():
|
|
62
|
+
value = str(value)
|
|
63
|
+
if value.startswith('**'):
|
|
64
|
+
kwargs_key = key
|
|
65
|
+
elif value.startswith('*'):
|
|
66
|
+
args_key = key
|
|
67
|
+
kwargs_copy = kwargs.copy()
|
|
68
|
+
for k_key,k_value in kwargs.items():
|
|
69
|
+
if args_key == k_key and isinstance(k_value,list or tuple or set):
|
|
70
|
+
args = args | tuple(k_value)
|
|
71
|
+
del kwargs[k_key]
|
|
72
|
+
return args,kwargs
|
|
73
|
+
|
|
74
|
+
def prune_inputs(func, *args, **kwargs):
|
|
75
|
+
"""
|
|
76
|
+
Smart argument adapter:
|
|
77
|
+
- Detects if func accepts *args or **kwargs
|
|
78
|
+
- Builds new positional arguments from kwargs when appropriate
|
|
79
|
+
- Handles explicit {"args": [...]} convention
|
|
80
|
+
"""
|
|
81
|
+
|
|
82
|
+
sig = inspect.signature(func)
|
|
83
|
+
params = sig.parameters
|
|
84
|
+
|
|
85
|
+
has_varargs = any(p.kind == inspect.Parameter.VAR_POSITIONAL for p in params.values())
|
|
86
|
+
has_varkw = any(p.kind == inspect.Parameter.VAR_KEYWORD for p in params.values())
|
|
87
|
+
|
|
88
|
+
new_args = list(args)
|
|
89
|
+
new_kwargs = dict(kwargs)
|
|
90
|
+
|
|
91
|
+
# -----------------------------------------------------------
|
|
92
|
+
# 1. If user provided explicit args: {"args": [...]}
|
|
93
|
+
# -----------------------------------------------------------
|
|
94
|
+
if "args" in new_kwargs:
|
|
95
|
+
explicit_args = new_kwargs.pop("args")
|
|
96
|
+
if isinstance(explicit_args, (list, tuple)):
|
|
97
|
+
new_args.extend(explicit_args)
|
|
98
|
+
else:
|
|
99
|
+
new_args.append(explicit_args)
|
|
100
|
+
|
|
101
|
+
# -----------------------------------------------------------
|
|
102
|
+
# 2. If function has *args, infer which kwargs belong there
|
|
103
|
+
# -----------------------------------------------------------
|
|
104
|
+
if has_varargs:
|
|
105
|
+
|
|
106
|
+
# Heuristic rules for upgrading kwargs to args:
|
|
107
|
+
# - if the function has NO named params, treat all scalar kwargs as positional
|
|
108
|
+
# - common param names like "file_path" also qualify
|
|
109
|
+
preferred_as_args = {"path", "file", "file_path", "filename", "value"}
|
|
110
|
+
|
|
111
|
+
positional_candidates = []
|
|
112
|
+
|
|
113
|
+
for k in list(new_kwargs.keys()):
|
|
114
|
+
v = new_kwargs[k]
|
|
115
|
+
|
|
116
|
+
# candidate rules:
|
|
117
|
+
if k in preferred_as_args:
|
|
118
|
+
positional_candidates.append(v)
|
|
119
|
+
del new_kwargs[k]
|
|
120
|
+
|
|
121
|
+
# scalars but not mappings/lists (optional)
|
|
122
|
+
elif isinstance(v, (str, int, float)) and len(positional_candidates) == 0:
|
|
123
|
+
positional_candidates.append(v)
|
|
124
|
+
del new_kwargs[k]
|
|
125
|
+
|
|
126
|
+
new_args.extend(positional_candidates)
|
|
127
|
+
|
|
128
|
+
# -----------------------------------------------------------
|
|
129
|
+
# 3. If function does NOT accept **kwargs → strip extras
|
|
130
|
+
# -----------------------------------------------------------
|
|
131
|
+
if not has_varkw:
|
|
132
|
+
allowed = {
|
|
133
|
+
name for name, p in params.items()
|
|
134
|
+
if p.kind in (
|
|
135
|
+
inspect.Parameter.POSITIONAL_OR_KEYWORD,
|
|
136
|
+
inspect.Parameter.KEYWORD_ONLY
|
|
137
|
+
)
|
|
138
|
+
}
|
|
139
|
+
new_kwargs = {k: v for k, v in new_kwargs.items() if k in allowed}
|
|
140
|
+
|
|
141
|
+
return tuple(new_args), new_kwargs
|
|
142
|
+
def run_pruned_func(func, *args, **kwargs):
|
|
143
|
+
args,kwargs = prune_inputs(func, *args, **kwargs)
|
|
144
|
+
return func(*args, **kwargs)
|
|
@@ -52,3 +52,41 @@ def get_caller_dir(i: Optional[int] = None) -> str:
|
|
|
52
52
|
depth = 1 if i is None else int(i)
|
|
53
53
|
abspath = get_caller_path(depth + 1)
|
|
54
54
|
return os.path.dirname(abspath)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def get_original_caller_dir(levels_up: int = None) -> Path:
|
|
58
|
+
"""
|
|
59
|
+
Return the directory of the *original* caller in the call stack.
|
|
60
|
+
|
|
61
|
+
levels_up:
|
|
62
|
+
- None → automatically goes to the bottom-most user-level caller.
|
|
63
|
+
- N → manually walk up N frames for custom behavior.
|
|
64
|
+
|
|
65
|
+
Returns:
|
|
66
|
+
Path object pointing to caller's directory.
|
|
67
|
+
"""
|
|
68
|
+
|
|
69
|
+
stack = inspect.stack()
|
|
70
|
+
|
|
71
|
+
# If the user specifies an exact depth
|
|
72
|
+
if levels_up is not None:
|
|
73
|
+
target = min(levels_up + 1, len(stack) - 1)
|
|
74
|
+
frame = stack[target]
|
|
75
|
+
return Path(frame.filename).resolve().parent
|
|
76
|
+
|
|
77
|
+
# Otherwise, auto-detect the FIRST file that isn't inside site-packages or abstract_* utilities
|
|
78
|
+
for frameinfo in reversed(stack):
|
|
79
|
+
file_path = Path(frameinfo.filename).resolve()
|
|
80
|
+
|
|
81
|
+
# Skip internal interpreter/frame files
|
|
82
|
+
if "site-packages" in str(file_path):
|
|
83
|
+
continue
|
|
84
|
+
if "abstract_" in file_path.name:
|
|
85
|
+
continue
|
|
86
|
+
if file_path.name.startswith("<"):
|
|
87
|
+
continue
|
|
88
|
+
|
|
89
|
+
return file_path.parent
|
|
90
|
+
|
|
91
|
+
# Fallback: last entry in the stack
|
|
92
|
+
return Path(stack[-1].filename).resolve().parent
|
|
@@ -1,10 +1,22 @@
|
|
|
1
|
-
import importlib, sys
|
|
1
|
+
import importlib, sys,os
|
|
2
2
|
from .caller_utils import get_initial_caller
|
|
3
|
+
def file_to_module_name(path):
|
|
4
|
+
path = os.path.realpath(path)
|
|
5
|
+
# Find a path that exists in sys.path
|
|
6
|
+
for base in sys.path:
|
|
7
|
+
base = os.path.realpath(base)
|
|
8
|
+
if path.startswith(base):
|
|
9
|
+
rel = os.path.relpath(path, base)
|
|
10
|
+
mod = os.path.splitext(rel)[0]
|
|
11
|
+
return mod.replace(os.sep, ".")
|
|
12
|
+
# fallback (never should be used)
|
|
13
|
+
return os.path.splitext(os.path.basename(path))[0]
|
|
3
14
|
def get_globals_from_path(module_path: str=None):
|
|
4
15
|
module_path = module_path or get_initial_caller()
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
16
|
+
module_name = file_to_module_name(module_path)
|
|
17
|
+
if module_name not in sys.modules:
|
|
18
|
+
importlib.import_module(module_name)
|
|
19
|
+
return sys.modules[module_name].__dict__
|
|
8
20
|
def global_registry(name:str,glob:dict):
|
|
9
21
|
global_ledger = if_none_default(string='global_ledger',glob=globals(),default={"registry_names":[],"registry_index":[]})
|
|
10
22
|
if name not in global_ledger['registry_names']:
|
|
@@ -38,27 +50,22 @@ def return_globals() -> dict:
|
|
|
38
50
|
dict: The global variables dictionary.
|
|
39
51
|
"""
|
|
40
52
|
return globals()
|
|
41
|
-
def
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
var (str): The name of the global variable.
|
|
47
|
-
val (any): The new value.
|
|
48
|
-
glob (dict, optional): The dictionary of global variables. Defaults to the current globals.
|
|
49
|
-
|
|
50
|
-
Returns:
|
|
51
|
-
any: The new value of the variable.
|
|
52
|
-
"""
|
|
53
|
+
def get_true_globals():
|
|
54
|
+
return sys.modules['__main__'].__dict__
|
|
55
|
+
def change_glob(var: str, val: any, glob: dict = None) -> any:
|
|
56
|
+
if glob is None:
|
|
57
|
+
glob = get_true_globals()
|
|
53
58
|
glob[var] = val
|
|
54
59
|
return val
|
|
55
|
-
def get_globes(string:str='',glob:dict=return_globals()):
|
|
56
|
-
if string in glob:
|
|
57
|
-
return glob[string]
|
|
58
|
-
def if_none_default(string:str, default:any,glob:dict=return_globals(),typ=None):
|
|
59
|
-
|
|
60
|
-
piece = get_globes(string=string,glob=glob)
|
|
61
|
-
if piece is None or (typ and not isinstance(piece,typ)):
|
|
62
|
-
piece = default
|
|
63
|
-
return change_glob(var=string,val=piece,glob=glob)
|
|
64
60
|
|
|
61
|
+
def get_globes(string: str='', glob: dict=None):
|
|
62
|
+
if glob is None:
|
|
63
|
+
glob = get_true_globals()
|
|
64
|
+
return glob.get(string)
|
|
65
|
+
def if_none_default(string: str, default: any, glob: dict=None, typ=None):
|
|
66
|
+
if glob is None:
|
|
67
|
+
glob = get_true_globals()
|
|
68
|
+
piece = get_globes(string=string, glob=glob)
|
|
69
|
+
if piece is None or (typ and not isinstance(piece, typ)):
|
|
70
|
+
piece = default
|
|
71
|
+
return change_glob(var=string, val=piece, glob=glob)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
from ...imports import inspect,os,json,functools,inspect,glob,sys
|
|
1
|
+
from ...imports import inspect,os,json,functools,inspect,glob,sys,Path
|
|
2
2
|
from typing import *
|
|
@@ -102,7 +102,9 @@ def raw_create_dirs(*paths):
|
|
|
102
102
|
current_path = safe_join(current_path, part)
|
|
103
103
|
os.makedirs(current_path, exist_ok=True)
|
|
104
104
|
return full_path
|
|
105
|
+
|
|
105
106
|
mkdirs=raw_create_dirs
|
|
106
107
|
makedirs = mkdirs
|
|
107
108
|
make_dirs = makedirs
|
|
109
|
+
makeAllDirs = raw_create_dirs
|
|
108
110
|
|