From d8b9c740405e6eec2d4e9aaeaa25b2ee7b42d59d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 18 Dec 2024 10:14:10 +0000 Subject: [PATCH] deploy: 1a78d58395d2fcb338762c2d1a3cd065cde0ad58 --- _modules/lkj/strings.html | 36 ++++++++++++++++++++++++------------ index.html | 2 +- module_docs/lkj/strings.html | 6 ++++-- searchindex.js | 2 +- 4 files changed, 30 insertions(+), 16 deletions(-) diff --git a/_modules/lkj/strings.html b/_modules/lkj/strings.html index df35d60..dae53ef 100644 --- a/_modules/lkj/strings.html +++ b/_modules/lkj/strings.html @@ -307,29 +307,41 @@

Source code for lkj.strings

     'I like orange and grapes.'
 
     You have access to the ``replacements`` and ``regex`` attributes of the
-    ``substitute`` function:
+    ``substitute`` function. See how the replacements dict has been ordered by
+    descending length of keys. This is to ensure that longer keys are replaced
+    before shorter keys, avoiding partial replacements.
 
     >>> substitute.replacements
-    {'apple': 'orange', 'banana': 'grape'}
+    {'banana': 'grape', 'apple': 'orange'}
 
     """
     import re
     from functools import partial
 
     if regex is None and s is None:
-        replacements = dict(replacements)
-
-        if not replacements:  # if replacements iterable is empty.
-            return lambda s: s  # return identity function
-
-        regex = re.compile('|'.join(re.escape(key) for key in replacements.keys()))
-
-        substitute = partial(regex_based_substitution, replacements, regex)
-        substitute.replacements = replacements
+        # Sort keys by length while maintaining value alignment
+        sorted_replacements = sorted(
+            replacements.items(), key=lambda x: len(x[0]), reverse=True
+        )
+
+        # Create regex pattern from sorted keys (without escaping to allow regex)
+        sorted_keys = [pair[0] for pair in sorted_replacements]
+        sorted_values = [pair[1] for pair in sorted_replacements]
+        regex = re.compile('|'.join(sorted_keys))
+
+        # Prepare the substitution function with aligned replacements
+        aligned_replacements = dict(zip(sorted_keys, sorted_values))
+        substitute = partial(regex_based_substitution, aligned_replacements, regex)
+        substitute.replacements = aligned_replacements
         substitute.regex = regex
         return substitute
+    elif s is not None:
+        # Perform substitution using the compiled regex and aligned replacements
+        return regex.sub(lambda m: replacements[m.group(0)], s)
     else:
-        return regex.sub(lambda m: replacements[m.group(0)], s)
+ raise ValueError( + "Invalid usage: provide either `s` or let the function construct itself." + ) diff --git a/index.html b/index.html index 33822e1..7c9778a 100644 --- a/index.html +++ b/index.html @@ -175,7 +175,7 @@

Indices and tablesSearch Page

Release: 0.1.10

-

Last change: Dec 13, 2024

+

Last change: Dec 18, 2024

diff --git a/module_docs/lkj/strings.html b/module_docs/lkj/strings.html index 3347912..af48fbe 100644 --- a/module_docs/lkj/strings.html +++ b/module_docs/lkj/strings.html @@ -224,9 +224,11 @@

You have access to the replacements and regex attributes of the -substitute function:

+substitute function. See how the replacements dict has been ordered by +descending length of keys. This is to ensure that longer keys are replaced +before shorter keys, avoiding partial replacements.

>>> substitute.replacements
-{'apple': 'orange', 'banana': 'grape'}
+{'banana': 'grape', 'apple': 'orange'}
 
diff --git a/searchindex.js b/searchindex.js index 6e6ddc8..abbc9cd 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"Contents:": [[0, null], [11, null]], "Indices and tables": [[0, "indices-and-tables"]], "Welcome to lkj\u2019s documentation!": [[0, null]], "lkj": [[1, null]], "lkj.chunking": [[2, null]], "lkj.dicts": [[3, null]], "lkj.filesys": [[4, null]], "lkj.funcs": [[5, null]], "lkj.importing": [[6, null]], "lkj.iterables": [[7, null]], "lkj.loggers": [[8, null]], "lkj.misc": [[9, null]], "lkj.strings": [[10, null]]}, "docnames": ["index", "module_docs/lkj", "module_docs/lkj/chunking", "module_docs/lkj/dicts", "module_docs/lkj/filesys", "module_docs/lkj/funcs", "module_docs/lkj/importing", "module_docs/lkj/iterables", "module_docs/lkj/loggers", "module_docs/lkj/misc", "module_docs/lkj/strings", "table_of_contents"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1}, "filenames": ["index.rst", "module_docs/lkj.rst", "module_docs/lkj/chunking.rst", "module_docs/lkj/dicts.rst", "module_docs/lkj/filesys.rst", "module_docs/lkj/funcs.rst", "module_docs/lkj/importing.rst", "module_docs/lkj/iterables.rst", "module_docs/lkj/loggers.rst", "module_docs/lkj/misc.rst", "module_docs/lkj/strings.rst", "table_of_contents.rst"], "indexentries": {"add_as_attribute_of() (in module lkj)": [[1, "lkj.add_as_attribute_of", false]], "add_attr() (in module lkj)": [[1, "lkj.add_attr", false]], "camel_to_snake() (in module lkj.strings)": [[10, "lkj.strings.camel_to_snake", false]], "chunk_iterable() (in module lkj.chunking)": [[2, "lkj.chunking.chunk_iterable", false]], "chunker() (in module lkj.chunking)": [[2, "lkj.chunking.chunker", false]], "clog() (in module lkj.loggers)": [[8, "lkj.loggers.clog", false]], "common (lkj.iterables.setscomparisonresult attribute)": [[7, "lkj.iterables.SetsComparisonResult.common", false]], "compare_sets() (in module lkj.iterables)": [[7, "lkj.iterables.compare_sets", false]], "do_nothing() (in module lkj.filesys)": [[4, "lkj.filesys.do_nothing", false]], "enable_sourcing_from_file() (in module lkj.filesys)": [[4, "lkj.filesys.enable_sourcing_from_file", false]], "errorinfo (class in lkj.loggers)": [[8, "lkj.loggers.ErrorInfo", false]], "exclusive_subdict() (in module lkj.dicts)": [[3, "lkj.dicts.exclusive_subdict", false]], "fields_of_string_formats() (in module lkj.strings)": [[10, "lkj.strings.fields_of_string_formats", false]], "filter_greater_than() (in module lkj.funcs)": [[5, "lkj.funcs.filter_greater_than", false]], "find_spec() (lkj.importing.namespaceforwardingfinder method)": [[6, "lkj.importing.NamespaceForwardingFinder.find_spec", false]], "full_path_maker() (in module lkj.funcs)": [[5, "lkj.funcs.full_path_maker", false]], "fullname (lkj.importing.namespaceforwardingloader attribute)": [[6, "lkj.importing.NamespaceForwardingLoader.fullname", false]], "get_app_data_dir() (in module lkj.filesys)": [[4, "lkj.filesys.get_app_data_dir", false]], "get_by_value() (in module lkj.iterables)": [[7, "lkj.iterables.get_by_value", false]], "get_caller_package_name() (in module lkj)": [[1, "lkj.get_caller_package_name", false]], "get_watermarked_dir() (in module lkj.filesys)": [[4, "lkj.filesys.get_watermarked_dir", false]], "has_watermark() (in module lkj.filesys)": [[4, "lkj.filesys.has_watermark", false]], "import_object() (in module lkj.importing)": [[6, "lkj.importing.import_object", false]], "inclusive_subdict() (in module lkj.dicts)": [[3, "lkj.dicts.inclusive_subdict", false]], "indent_lines() (in module lkj.strings)": [[10, "lkj.strings.indent_lines", false]], "index_of() (in module lkj.iterables)": [[7, "lkj.iterables.index_of", false]], "instance_flag_is_set() (in module lkj.loggers)": [[8, "lkj.loggers.instance_flag_is_set", false]], "left_only (lkj.iterables.setscomparisonresult attribute)": [[7, "lkj.iterables.SetsComparisonResult.left_only", false]], "lkj": [[1, "module-lkj", false]], "lkj.chunking": [[2, "module-lkj.chunking", false]], "lkj.dicts": [[3, "module-lkj.dicts", false]], "lkj.filesys": [[4, "module-lkj.filesys", false]], "lkj.funcs": [[5, "module-lkj.funcs", false]], "lkj.importing": [[6, "module-lkj.importing", false]], "lkj.iterables": [[7, "module-lkj.iterables", false]], "lkj.loggers": [[8, "module-lkj.loggers", false]], "lkj.misc": [[9, "module-lkj.misc", false]], "lkj.strings": [[10, "module-lkj.strings", false]], "load_module() (lkj.importing.namespaceforwardingloader method)": [[6, "id0", false], [6, "lkj.importing.NamespaceForwardingLoader.load_module", false]], "log_calls() (in module lkj.loggers)": [[8, "lkj.loggers.log_calls", false]], "module": [[1, "module-lkj", false], [2, "module-lkj.chunking", false], [3, "module-lkj.dicts", false], [4, "module-lkj.filesys", false], [5, "module-lkj.funcs", false], [6, "module-lkj.importing", false], [7, "module-lkj.iterables", false], [8, "module-lkj.loggers", false], [9, "module-lkj.misc", false], [10, "module-lkj.strings", false]], "most_common_indent() (in module lkj.strings)": [[10, "lkj.strings.most_common_indent", false]], "namespaceforwardingfinder (class in lkj.importing)": [[6, "lkj.importing.NamespaceForwardingFinder", false]], "namespaceforwardingloader (class in lkj.importing)": [[6, "lkj.importing.NamespaceForwardingLoader", false]], "print_progress() (in module lkj.loggers)": [[8, "lkj.loggers.print_progress", false]], "print_with_timestamp() (in module lkj.loggers)": [[8, "lkj.loggers.print_with_timestamp", false]], "regex_based_substitution() (in module lkj.strings)": [[10, "lkj.strings.regex_based_substitution", false]], "register_namespace_forwarding() (in module lkj.importing)": [[6, "lkj.importing.register_namespace_forwarding", false]], "rename_file() (in module lkj.filesys)": [[4, "lkj.filesys.rename_file", false]], "return_error_info_on_error() (in module lkj.loggers)": [[8, "lkj.loggers.return_error_info_on_error", false]], "right_only (lkj.iterables.setscomparisonresult attribute)": [[7, "lkj.iterables.SetsComparisonResult.right_only", false]], "setscomparisonresult (class in lkj.iterables)": [[7, "lkj.iterables.SetsComparisonResult", false]], "snake_to_camel() (in module lkj.strings)": [[10, "lkj.strings.snake_to_camel", false]], "source_base (lkj.importing.namespaceforwardingfinder attribute)": [[6, "lkj.importing.NamespaceForwardingFinder.source_base", false]], "source_base (lkj.importing.namespaceforwardingloader attribute)": [[6, "lkj.importing.NamespaceForwardingLoader.source_base", false]], "target_base (lkj.importing.namespaceforwardingfinder attribute)": [[6, "lkj.importing.NamespaceForwardingFinder.target_base", false]], "target_base (lkj.importing.namespaceforwardingloader attribute)": [[6, "lkj.importing.NamespaceForwardingLoader.target_base", false]], "truncate_dict_values() (in module lkj.dicts)": [[3, "lkj.dicts.truncate_dict_values", false]], "truncate_string_with_marker() (in module lkj.strings)": [[10, "lkj.strings.truncate_string_with_marker", false]], "unique_affixes() (in module lkj.strings)": [[10, "lkj.strings.unique_affixes", false]], "user_machine_id() (in module lkj)": [[1, "lkj.user_machine_id", false]], "value_in_interval() (in module lkj.misc)": [[9, "lkj.misc.value_in_interval", false]], "watermark_dir() (in module lkj.filesys)": [[4, "lkj.filesys.watermark_dir", false]], "wrap_text_with_exact_spacing() (in module lkj.loggers)": [[8, "lkj.loggers.wrap_text_with_exact_spacing", false]], "wrapped_print() (in module lkj.loggers)": [[8, "lkj.loggers.wrapped_print", false]], "zip_with_filenames() (in module lkj.funcs)": [[5, "lkj.funcs.zip_with_filenames", false]]}, "objects": {"": [[1, 0, 0, "-", "lkj"]], "lkj": [[1, 1, 1, "", "add_as_attribute_of"], [1, 1, 1, "", "add_attr"], [2, 0, 0, "-", "chunking"], [3, 0, 0, "-", "dicts"], [4, 0, 0, "-", "filesys"], [5, 0, 0, "-", "funcs"], [1, 1, 1, "", "get_caller_package_name"], [6, 0, 0, "-", "importing"], [7, 0, 0, "-", "iterables"], [8, 0, 0, "-", "loggers"], [9, 0, 0, "-", "misc"], [10, 0, 0, "-", "strings"], [1, 1, 1, "", "user_machine_id"]], "lkj.chunking": [[2, 1, 1, "", "chunk_iterable"], [2, 1, 1, "", "chunker"]], "lkj.dicts": [[3, 1, 1, "", "exclusive_subdict"], [3, 1, 1, "", "inclusive_subdict"], [3, 1, 1, "", "truncate_dict_values"]], "lkj.filesys": [[4, 1, 1, "", "do_nothing"], [4, 1, 1, "", "enable_sourcing_from_file"], [4, 1, 1, "", "get_app_data_dir"], [4, 1, 1, "", "get_watermarked_dir"], [4, 1, 1, "", "has_watermark"], [4, 1, 1, "", "rename_file"], [4, 1, 1, "", "watermark_dir"]], "lkj.funcs": [[5, 1, 1, "", "filter_greater_than"], [5, 1, 1, "", "full_path_maker"], [5, 1, 1, "", "zip_with_filenames"]], "lkj.importing": [[6, 2, 1, "", "NamespaceForwardingFinder"], [6, 2, 1, "", "NamespaceForwardingLoader"], [6, 1, 1, "", "import_object"], [6, 1, 1, "", "register_namespace_forwarding"]], "lkj.importing.NamespaceForwardingFinder": [[6, 3, 1, "", "find_spec"], [6, 4, 1, "", "source_base"], [6, 4, 1, "", "target_base"]], "lkj.importing.NamespaceForwardingLoader": [[6, 4, 1, "", "fullname"], [6, 3, 1, "id0", "load_module"], [6, 4, 1, "", "source_base"], [6, 4, 1, "", "target_base"]], "lkj.iterables": [[7, 2, 1, "", "SetsComparisonResult"], [7, 1, 1, "", "compare_sets"], [7, 1, 1, "", "get_by_value"], [7, 1, 1, "", "index_of"]], "lkj.iterables.SetsComparisonResult": [[7, 4, 1, "", "common"], [7, 4, 1, "", "left_only"], [7, 4, 1, "", "right_only"]], "lkj.loggers": [[8, 2, 1, "", "ErrorInfo"], [8, 1, 1, "", "clog"], [8, 1, 1, "", "instance_flag_is_set"], [8, 1, 1, "", "log_calls"], [8, 1, 1, "", "print_progress"], [8, 1, 1, "", "print_with_timestamp"], [8, 1, 1, "", "return_error_info_on_error"], [8, 1, 1, "", "wrap_text_with_exact_spacing"], [8, 1, 1, "", "wrapped_print"]], "lkj.misc": [[9, 1, 1, "", "value_in_interval"]], "lkj.strings": [[10, 1, 1, "", "camel_to_snake"], [10, 1, 1, "", "fields_of_string_formats"], [10, 1, 1, "", "indent_lines"], [10, 1, 1, "", "most_common_indent"], [10, 1, 1, "", "regex_based_substitution"], [10, 1, 1, "", "snake_to_camel"], [10, 1, 1, "", "truncate_string_with_marker"], [10, 1, 1, "", "unique_affixes"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method", "4": "py:attribute"}, "terms": {"": [1, 4, 8, 10], "0": [0, 2, 7, 8, 10], "1": [0, 1, 2, 3, 5, 7, 8, 9], "10": [0, 3, 5, 8], "11": 3, "12": 10, "123": 10, "1234567890": 10, "13": 0, "1479416085": 1, "15": 10, "2": [2, 3, 5, 7, 8, 9, 10], "20": 3, "2024": 0, "3": [2, 3, 7, 8, 9, 10], "30": 8, "4": [2, 3], "5": [2, 3, 5, 7, 8], "6": [2, 3, 5, 8], "66": 3, "7": [2, 3, 5, 9], "8": [2, 3, 5, 9, 10], "80": 8, "88": 8, "890": 10, "9": [3, 5, 9], "90": 10, "A": [3, 4, 6, 7, 8, 10], "But": [1, 8, 10], "By": 4, "For": 4, "If": [1, 2, 3, 4, 6, 7, 8, 9, 10], "In": 1, "It": [2, 4, 8], "Of": 1, "One": [8, 10], "The": [1, 2, 3, 4, 6, 7, 8, 9, 10], "Then": 6, "To": [4, 8], "_": 1, "__doc__": 1, "__init__": 8, "__name__": [1, 8], "_always_log": 8, "_calling_nam": 8, "_clog": 8, "_done_calling_nam": 8, "_github_url_templ": 10, "_helper": 1, "_raise_watermark_error": 4, "abc": [7, 10], "abcd": 10, "abl": 8, "access": 10, "achiev": 4, "acronym": 10, "actual": 4, "ad": [1, 6, 8], "add": [1, 8], "add_as_attribute_of": [0, 1, 11], "add_attr": [0, 1, 11], "add_doc": 1, "add_nam": 1, "affix": 10, "afresh": 4, "after": [3, 4, 8], "aggreg": 10, "alia": 7, "all": [1, 3, 8, 10], "allow": [4, 8], "alreadi": 4, "also": [2, 4, 8], "alwai": 2, "amin": 10, "an": [1, 2, 4, 5, 6, 8, 10], "analyz": 10, "ani": [1, 4, 7, 8, 9], "anoth": [4, 10], "another_testdir": 4, "ap": 10, "app": 10, "app_data_dir": 4, "app_data_rootdir": 4, "appear": 8, "appl": 10, "appli": [4, 7], "applic": 4, "appropri": 10, "apr": 10, "apricot": 10, "ar": [1, 2, 3, 5, 10], "arg": [1, 4, 8], "argument": [1, 2, 4, 9], "assert": [3, 7, 8], "ation": 10, "attr_nam": 1, "attr_val": 1, "attrgett": 8, "attribut": [1, 6, 8, 10], "b": [2, 3, 7, 8, 10], "back": 4, "backward": 6, "bana": 10, "banana": 10, "band": 10, "banda": 10, "bandana": 10, "bar": 1, "base": [5, 6, 10], "base_directori": 5, "basenam": 4, "basic_parse_test": 10, "basicparsetest": 10, "batch": 2, "becaus": 7, "befor": [1, 8], "being": 6, "between": 8, "bool": [2, 4, 8, 9, 10], "both": [1, 2, 7], "built": [4, 8, 9], "byte": 4, "c": [2, 3, 7, 8, 10], "call": [1, 4, 7, 8, 10], "callabl": [1, 2, 4, 8, 9, 10], "callback": 4, "caller": 1, "camel_case_exampl": 10, "camel_str": 10, "camel_to_snak": [0, 10, 11], "camelcas": 10, "camelcaseexampl": 10, "can": [1, 2, 3, 4, 8, 9, 10], "candi": 10, "candl": 10, "capit": 10, "carri": 10, "case": [4, 8, 10], "catch": 8, "caught_error_typ": 8, "chang": [0, 9], "check": [3, 4, 8], "chk_size": 2, "choos": [4, 8], "chunk": [0, 11], "chunk_iter": [0, 2, 11], "chunk_typ": 2, "chunker": [0, 2, 11], "class": [6, 7, 8, 10], "clog": [0, 8, 11], "code": [6, 8], "collect": 2, "com": 1, "common": [7, 8, 10], "compar": 7, "compare_iter": 7, "compare_set": [0, 7, 11], "comparison": 7, "compat": 6, "complet": 1, "complex_token": 10, "complextoken": 10, "comput": 1, "condit": [4, 8], "config": 4, "construct": 10, "contain": [1, 6, 10], "content": 4, "control": [2, 4, 8], "convert": 10, "correctli": 10, "correspond": 6, "count": 5, "cours": 1, "creat": [4, 5, 10], "current": 1, "custom": [4, 6], "d": [3, 7, 8, 9], "data": [4, 5, 7], "databas": 8, "date": 9, "debug": 8, "dec": 0, "decor": [1, 4, 8], "def": [1, 4, 8], "default": [1, 2, 3, 4, 8, 9, 10], "delet": 4, "depend": 4, "deprec": 6, "desir": 10, "detect": [4, 6, 10], "determin": 10, "dflt_error_info_processor": 8, "dict": [0, 2, 5, 7, 8, 10, 11], "dictionari": [3, 7, 10], "differ": 8, "directori": [4, 5], "dirnam": 4, "dirpath": 4, "displai": 8, "display_tim": 8, "divid": 2, "divis": 8, "do": [1, 4, 6, 8], "do_noth": [0, 4, 11], "docstr": 10, "doctest": 6, "doe": [2, 4, 8], "doesn": 4, "don": 4, "done": [7, 8], "dot": 6, "dot_path": 6, "dry_run": 4, "duplic": 10, "dynam": [6, 8], "e": [2, 3, 8, 9, 10], "each": [2, 5, 8, 10], "effect": 2, "effici": 2, "egress": 10, "egress_msg": 8, "element": [2, 5, 7], "els": 4, "enabl": [4, 6], "enable_sourcing_from_fil": [0, 4, 11], "end": 8, "ensur": [5, 8], "error": [4, 8], "error_info_processor": 8, "errorinfo": [0, 8, 11], "etc": [2, 5, 7], "even": 2, "exactli": 8, "examin": 10, "exampl": [2, 3, 4, 5, 7, 8, 10], "exce": 8, "except": 8, "exclud": 3, "exclusive_subdict": [0, 3, 11], "exec_modul": 6, "execut": 8, "exist": [4, 6, 8], "exist_ok": 4, "exit": 8, "expect": 2, "explicitli": 1, "extra": 2, "extract": 10, "f": [1, 4, 6, 8, 9], "factori": 4, "failur": 6, "fals": [2, 4, 8, 9, 10], "favor": 6, "fewer": 2, "ff": 9, "field": [7, 10], "fields_of_string_format": [0, 10, 11], "file": [4, 5, 8], "file1": 5, "file2": 5, "file_001": 5, "file_002": 5, "file_004": 5, "file_005": 5, "file_006": 5, "filenam": 5, "filesi": [0, 11], "filter": [2, 5], "filter_greater_than": [0, 5, 11], "filter_greater_than_5": 5, "find": [6, 10], "find_spec": 6, "finder": 6, "first": [4, 7, 10], "fix": 8, "flag": 8, "flag_attr": 8, "fli": 10, "flight": 10, "flow": 10, "flower": 10, "foo": [1, 8], "formatt": 10, "forward": 6, "found": 10, "framework": 4, "from": [1, 3, 4, 6, 7, 8, 9, 10], "full": [4, 5, 6], "full_path": 5, "full_path_mak": [0, 5, 11], "fullnam": 6, "func": [0, 4, 8, 11], "func_nam": 8, "function": [1, 4, 5, 6, 7, 8, 9, 10], "functool": [4, 7, 8, 10], "g": [2, 8, 10], "ge": 9, "gener": 5, "generic_func": 1, "get": [1, 2, 4, 6, 7, 8], "get_app_data_dir": [0, 4, 11], "get_by_id": 7, "get_by_valu": [0, 7, 11], "get_caller_package_nam": [0, 1, 11], "get_val": 9, "get_value_of_b": 7, "get_watermarked_dir": [0, 4, 11], "gettempdir": 4, "github": 1, "give": [1, 2], "given": [1, 5, 10], "grape": 10, "greater": 5, "guarante": 7, "h": 8, "ha": [1, 4, 10], "handl": [2, 10], "happen": 4, "has_watermark": [0, 4, 11], "hasattr": [1, 8], "have": [2, 3, 6, 8, 10], "hcp": 6, "hello": 8, "helper": [1, 8], "here": 10, "hh": 8, "home": 4, "how": 4, "html_parser": 10, "htmlparser": 10, "http": 1, "i": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "i2mint": 1, "id": [1, 7], "ident": [9, 10], "if_does_not_exist": 4, "if_exist": 4, "if_watermark_validation_fail": 4, "ignor": 10, "ignore_error": 4, "ignore_first_lin": 10, "imb": 6, "imbed_data_prep": 6, "import": [0, 1, 4, 7, 8, 9, 10, 11], "import_object": [0, 6, 11], "importerror": 6, "includ": [2, 3], "include_tail": 2, "inclusive_subdict": [0, 3, 11], "inde": 4, "indent": 10, "indent_lin": [0, 10, 11], "index": [0, 7], "index_of": [0, 7, 11], "indic": 3, "info": 8, "ingress": 10, "ingress_msg": 8, "input": [2, 3, 8, 10], "insert": [3, 6, 10], "instanc": 8, "instance_flag_is_set": [0, 8, 11], "instead": [8, 10], "int": [2, 3, 7, 8], "intent": 1, "invers": 10, "investig": 3, "is_maximum": 9, "is_minimum": 9, "isinst": 8, "issu": 1, "issuecom": 1, "item": [2, 8, 10], "item1": 8, "item10": 8, "item2": 8, "item3": 8, "item4": 8, "item5": 8, "item6": 8, "item7": 8, "item8": 8, "item9": 8, "itemgett": 9, "iter": [0, 2, 3, 5, 8, 10, 11], "its": [1, 10], "iz": 7, "j": 8, "join": [4, 6, 10], "jumpstart": 1, "just": [4, 7, 8], "kei": [2, 3, 7, 10], "kit": 1, "kt": [2, 7], "kwarg": [1, 4, 8], "label": 5, "lambda": [2, 8, 9], "larg": 3, "large_dict": 3, "last": [0, 2, 7, 10], "le": 9, "lead": 1, "least": 1, "left": 7, "left_limit": 10, "left_onli": 7, "len": 2, "length": [3, 8, 10], "less": 2, "lightweight": 1, "like": [3, 5, 10], "limit": 10, "line": [8, 10], "line_prefix": 8, "line_sep": 10, "list": [2, 3, 4, 5, 7, 8, 9, 10], "list_of_dict": 7, "listdir": 4, "litter": 8, "lkj": 11, "ll": [4, 6, 8], "load": 6, "load_modul": 6, "loader": 6, "local": 8, "log": [3, 8], "log_cal": [0, 8, 11], "log_condit": 8, "log_func": 8, "log_if_verbose_set_to_tru": 8, "logger": [0, 11], "long": 3, "longer": [3, 10], "look": 3, "lt": 9, "main": [1, 4], "make": [4, 8], "make_dir": 4, "makedir": 4, "manual": 4, "map": [2, 3, 7, 9], "marker": 10, "max": 3, "max_list_s": 3, "max_string_s": 3, "max_val": 9, "max_width": 8, "maximum": [3, 8, 10], "mdat": 6, "meant": 10, "messag": 8, "meta_path": 6, "method": 6, "middl": [3, 10], "middle_mark": [3, 10], "min_val": 9, "mini": 4, "misc": [0, 11], "miscellan": 9, "mkdir": 4, "mm": 8, "modif": 8, "modul": [0, 1, 3, 6, 8], "more": 3, "most": [7, 10], "most_common_ind": [0, 10, 11], "msg": 8, "much": 3, "multipli": 8, "must": 6, "my": 1, "my_func": 1, "my_watermark": 4, "myclass": 8, "mytestdir": 4, "n": [8, 10], "name": [1, 4, 5, 6, 7, 8, 10], "namedtupl": 7, "namespac": [1, 6], "namespaceforwardingfind": [0, 6, 11], "namespaceforwardingload": [0, 6, 11], "nanoth": 10, "need": 4, "nest": 3, "never": 5, "new": [3, 8], "newlin": 8, "nf": 8, "non": [2, 4], "none": [1, 2, 3, 4, 6, 8, 9, 10], "nonexistent_dir": 4, "note": [1, 2, 7, 8, 10], "noth": 4, "notify_user_that_path_does_not_exist": 4, "now": 8, "number": 7, "o": [4, 6], "obj": [1, 8], "object": [1, 6, 8], "occur": 8, "often": 10, "onli": [3, 7, 8], "oper": [8, 9], "option": [3, 4, 8], "orang": 10, "order": [5, 7], "other": [3, 10], "otherwis": [2, 4], "our": 4, "out": [3, 10], "output": [4, 8], "over": 8, "overlap": 2, "packag": [1, 6], "page": 0, "pair": 10, "paramet": [1, 2, 3, 4, 6, 7, 8, 10], "parametr": [8, 10], "partial": [1, 4, 7, 8, 10], "pass": 1, "path": [4, 5, 6], "perform": 10, "persist": 8, "place": 8, "point": [1, 10], "pollut": 1, "popul": 4, "possibli": 8, "postprocess": 10, "prefix": 10, "preprocess": 10, "preserv": 8, "print": [3, 4, 8, 10], "print_func": 8, "print_progress": [0, 8, 11], "print_with_timestamp": [0, 8, 11], "probabl": 2, "process": 8, "properli": 6, "provid": [1, 4, 6, 8], "put": 6, "python": 10, "quot": 10, "rais": [4, 6, 10], "rang": [2, 5, 7], "re": 10, "read": 4, "realiti": 1, "realli": 1, "recent": [7, 10], "recogniz": 4, "recreat": 4, "reduc": 3, "refresh": 8, "regex": 10, "regex_based_substitut": [0, 10, 11], "regist": 6, "register_namespace_forward": [0, 6, 11], "relat": 6, "releas": 0, "remain": 2, "remov": 1, "renam": 4, "rename_fil": [0, 4, 11], "renamer_funct": 4, "replac": 10, "replace_thi": 10, "respons": 4, "result": [4, 7], "return": [1, 2, 3, 4, 6, 7, 8, 10], "return_error_info_on_error": [0, 8, 11], "right": 7, "right_limit": 10, "right_onli": 7, "rminat": 10, "rmtree": 4, "root": 4, "rootdir": 4, "runner": 4, "sai": [5, 6, 8], "same": 3, "search": 0, "second": 7, "see": [1, 4], "segument": 2, "self": 8, "send": 8, "sep": [8, 10], "separ": 8, "sequenc": [7, 10], "sequenti": 5, "servic": 8, "set": [2, 3, 6, 7, 8, 10], "setscomparisonresult": [0, 7, 11], "shorter": 10, "should": 8, "shutil": 4, "simple_example_test": 10, "simpleexampletest": 10, "simpler": 2, "sinc": [8, 10], "singl": 10, "size": [2, 3], "skip": 6, "slice": 2, "snake_cas": 10, "snake_str": 10, "snake_to_camel": [0, 10, 11], "so": 1, "some": [4, 8], "someth": 4, "sometim": 8, "sort": 10, "sourc": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "source_bas": 6, "space": 3, "spec": 6, "specif": [2, 4, 10], "specifi": [1, 4, 8], "split": 10, "sprintf": 8, "ss": 8, "start": [1, 8], "start_idx": 5, "statement": 8, "store": 4, "str": [1, 3, 4, 6, 8, 10], "string": [0, 3, 4, 6, 8, 11], "structur": [3, 4], "style": 8, "su": 10, "subdirectori": 4, "substitut": 10, "suffix": 10, "suitabl": 4, "sum": 10, "supercalifragilisticexpialidoci": 10, "suppress": 8, "sy": 6, "system": 4, "t": [2, 4, 8, 9], "tab": 1, "take": [1, 3, 4, 8], "taken": 4, "target": 6, "target_bas": 6, "tell": 4, "tempfil": 4, "templat": 10, "termin": 10, "test": 10, "testdir": 4, "tester": 10, "testi": 10, "text": 8, "than": [2, 3, 5, 10], "thei": [2, 8], "them": 4, "thi": [1, 2, 3, 4, 6, 7, 8, 10], "though": 2, "thought": 2, "threshold": 5, "through": 4, "time": 8, "timestamp": 8, "tip": 8, "too": 3, "tool": [2, 3, 5, 6, 7, 9], "total": 8, "traceback": [7, 8, 10], "track": 8, "tripl": 10, "true": [1, 2, 4, 6, 8, 9, 10], "truncat": [3, 10], "truncate_dict_valu": [0, 3, 11], "truncate_str": 10, "truncate_string_with_mark": [0, 10, 11], "tupl": [2, 7, 8, 10], "two": 7, "type": [2, 4, 6, 7, 8, 9, 10], "typic": 4, "u": [4, 10], "underscor": 1, "uniqu": [5, 10], "unique_affix": [0, 10, 11], "unless": 4, "us": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "usag": [6, 8], "user": [1, 4, 8], "user_machine_id": [0, 1, 11], "usual": [4, 8, 10], "util": [4, 8, 10], "valid": 4, "valu": [1, 2, 3, 7], "value_in_interv": [0, 9, 11], "valueerror": [7, 10], "variabl": [8, 10], "verbos": [4, 8], "verifi": 4, "versbos": 8, "view": [1, 10], "vt": [2, 7], "wa": 4, "want": [1, 3, 4, 7, 8, 9, 10], "watermark": 4, "watermark_dir": [0, 4, 11], "watermark_testdir": 4, "we": [4, 8], "what": [4, 8], "when": [3, 6, 7, 8, 10], "where": [2, 3, 8, 10], "whether": [8, 10], "which": 1, "while": 8, "whose": 4, "width": 8, "with_that": 10, "without": 1, "word": 8, "work": [3, 5], "would": 8, "wrap": 8, "wrap_text_with_exact_spac": [0, 8, 11], "wrapped_print": [0, 8, 11], "write": 4, "write_output": 4, "x": [2, 8, 9, 10], "xml_http_request_test": 10, "xmlhttprequesttest": 10, "xy": 10, "xyz": 10, "y": [2, 8], "you": [1, 2, 3, 4, 6, 7, 8, 9, 10], "your": [4, 8], "z": [2, 7], "zero": 8, "zerodivisionerror": 8, "zip": 5, "zip_fil": 5, "zip_with_filenam": [0, 5, 11]}, "titles": ["Welcome to lkj\u2019s documentation!", "lkj", "lkj.chunking", "lkj.dicts", "lkj.filesys", "lkj.funcs", "lkj.importing", "lkj.iterables", "lkj.loggers", "lkj.misc", "lkj.strings", "<no title>"], "titleterms": {"": 0, "chunk": 2, "content": [0, 11], "dict": 3, "document": 0, "filesi": 4, "func": 5, "import": 6, "indic": 0, "iter": 7, "lkj": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "logger": 8, "misc": 9, "string": 10, "tabl": 0, "welcom": 0}}) \ No newline at end of file +Search.setIndex({"alltitles": {"Contents:": [[0, null], [11, null]], "Indices and tables": [[0, "indices-and-tables"]], "Welcome to lkj\u2019s documentation!": [[0, null]], "lkj": [[1, null]], "lkj.chunking": [[2, null]], "lkj.dicts": [[3, null]], "lkj.filesys": [[4, null]], "lkj.funcs": [[5, null]], "lkj.importing": [[6, null]], "lkj.iterables": [[7, null]], "lkj.loggers": [[8, null]], "lkj.misc": [[9, null]], "lkj.strings": [[10, null]]}, "docnames": ["index", "module_docs/lkj", "module_docs/lkj/chunking", "module_docs/lkj/dicts", "module_docs/lkj/filesys", "module_docs/lkj/funcs", "module_docs/lkj/importing", "module_docs/lkj/iterables", "module_docs/lkj/loggers", "module_docs/lkj/misc", "module_docs/lkj/strings", "table_of_contents"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1}, "filenames": ["index.rst", "module_docs/lkj.rst", "module_docs/lkj/chunking.rst", "module_docs/lkj/dicts.rst", "module_docs/lkj/filesys.rst", "module_docs/lkj/funcs.rst", "module_docs/lkj/importing.rst", "module_docs/lkj/iterables.rst", "module_docs/lkj/loggers.rst", "module_docs/lkj/misc.rst", "module_docs/lkj/strings.rst", "table_of_contents.rst"], "indexentries": {"add_as_attribute_of() (in module lkj)": [[1, "lkj.add_as_attribute_of", false]], "add_attr() (in module lkj)": [[1, "lkj.add_attr", false]], "camel_to_snake() (in module lkj.strings)": [[10, "lkj.strings.camel_to_snake", false]], "chunk_iterable() (in module lkj.chunking)": [[2, "lkj.chunking.chunk_iterable", false]], "chunker() (in module lkj.chunking)": [[2, "lkj.chunking.chunker", false]], "clog() (in module lkj.loggers)": [[8, "lkj.loggers.clog", false]], "common (lkj.iterables.setscomparisonresult attribute)": [[7, "lkj.iterables.SetsComparisonResult.common", false]], "compare_sets() (in module lkj.iterables)": [[7, "lkj.iterables.compare_sets", false]], "do_nothing() (in module lkj.filesys)": [[4, "lkj.filesys.do_nothing", false]], "enable_sourcing_from_file() (in module lkj.filesys)": [[4, "lkj.filesys.enable_sourcing_from_file", false]], "errorinfo (class in lkj.loggers)": [[8, "lkj.loggers.ErrorInfo", false]], "exclusive_subdict() (in module lkj.dicts)": [[3, "lkj.dicts.exclusive_subdict", false]], "fields_of_string_formats() (in module lkj.strings)": [[10, "lkj.strings.fields_of_string_formats", false]], "filter_greater_than() (in module lkj.funcs)": [[5, "lkj.funcs.filter_greater_than", false]], "find_spec() (lkj.importing.namespaceforwardingfinder method)": [[6, "lkj.importing.NamespaceForwardingFinder.find_spec", false]], "full_path_maker() (in module lkj.funcs)": [[5, "lkj.funcs.full_path_maker", false]], "fullname (lkj.importing.namespaceforwardingloader attribute)": [[6, "lkj.importing.NamespaceForwardingLoader.fullname", false]], "get_app_data_dir() (in module lkj.filesys)": [[4, "lkj.filesys.get_app_data_dir", false]], "get_by_value() (in module lkj.iterables)": [[7, "lkj.iterables.get_by_value", false]], "get_caller_package_name() (in module lkj)": [[1, "lkj.get_caller_package_name", false]], "get_watermarked_dir() (in module lkj.filesys)": [[4, "lkj.filesys.get_watermarked_dir", false]], "has_watermark() (in module lkj.filesys)": [[4, "lkj.filesys.has_watermark", false]], "import_object() (in module lkj.importing)": [[6, "lkj.importing.import_object", false]], "inclusive_subdict() (in module lkj.dicts)": [[3, "lkj.dicts.inclusive_subdict", false]], "indent_lines() (in module lkj.strings)": [[10, "lkj.strings.indent_lines", false]], "index_of() (in module lkj.iterables)": [[7, "lkj.iterables.index_of", false]], "instance_flag_is_set() (in module lkj.loggers)": [[8, "lkj.loggers.instance_flag_is_set", false]], "left_only (lkj.iterables.setscomparisonresult attribute)": [[7, "lkj.iterables.SetsComparisonResult.left_only", false]], "lkj": [[1, "module-lkj", false]], "lkj.chunking": [[2, "module-lkj.chunking", false]], "lkj.dicts": [[3, "module-lkj.dicts", false]], "lkj.filesys": [[4, "module-lkj.filesys", false]], "lkj.funcs": [[5, "module-lkj.funcs", false]], "lkj.importing": [[6, "module-lkj.importing", false]], "lkj.iterables": [[7, "module-lkj.iterables", false]], "lkj.loggers": [[8, "module-lkj.loggers", false]], "lkj.misc": [[9, "module-lkj.misc", false]], "lkj.strings": [[10, "module-lkj.strings", false]], "load_module() (lkj.importing.namespaceforwardingloader method)": [[6, "id0", false], [6, "lkj.importing.NamespaceForwardingLoader.load_module", false]], "log_calls() (in module lkj.loggers)": [[8, "lkj.loggers.log_calls", false]], "module": [[1, "module-lkj", false], [2, "module-lkj.chunking", false], [3, "module-lkj.dicts", false], [4, "module-lkj.filesys", false], [5, "module-lkj.funcs", false], [6, "module-lkj.importing", false], [7, "module-lkj.iterables", false], [8, "module-lkj.loggers", false], [9, "module-lkj.misc", false], [10, "module-lkj.strings", false]], "most_common_indent() (in module lkj.strings)": [[10, "lkj.strings.most_common_indent", false]], "namespaceforwardingfinder (class in lkj.importing)": [[6, "lkj.importing.NamespaceForwardingFinder", false]], "namespaceforwardingloader (class in lkj.importing)": [[6, "lkj.importing.NamespaceForwardingLoader", false]], "print_progress() (in module lkj.loggers)": [[8, "lkj.loggers.print_progress", false]], "print_with_timestamp() (in module lkj.loggers)": [[8, "lkj.loggers.print_with_timestamp", false]], "regex_based_substitution() (in module lkj.strings)": [[10, "lkj.strings.regex_based_substitution", false]], "register_namespace_forwarding() (in module lkj.importing)": [[6, "lkj.importing.register_namespace_forwarding", false]], "rename_file() (in module lkj.filesys)": [[4, "lkj.filesys.rename_file", false]], "return_error_info_on_error() (in module lkj.loggers)": [[8, "lkj.loggers.return_error_info_on_error", false]], "right_only (lkj.iterables.setscomparisonresult attribute)": [[7, "lkj.iterables.SetsComparisonResult.right_only", false]], "setscomparisonresult (class in lkj.iterables)": [[7, "lkj.iterables.SetsComparisonResult", false]], "snake_to_camel() (in module lkj.strings)": [[10, "lkj.strings.snake_to_camel", false]], "source_base (lkj.importing.namespaceforwardingfinder attribute)": [[6, "lkj.importing.NamespaceForwardingFinder.source_base", false]], "source_base (lkj.importing.namespaceforwardingloader attribute)": [[6, "lkj.importing.NamespaceForwardingLoader.source_base", false]], "target_base (lkj.importing.namespaceforwardingfinder attribute)": [[6, "lkj.importing.NamespaceForwardingFinder.target_base", false]], "target_base (lkj.importing.namespaceforwardingloader attribute)": [[6, "lkj.importing.NamespaceForwardingLoader.target_base", false]], "truncate_dict_values() (in module lkj.dicts)": [[3, "lkj.dicts.truncate_dict_values", false]], "truncate_string_with_marker() (in module lkj.strings)": [[10, "lkj.strings.truncate_string_with_marker", false]], "unique_affixes() (in module lkj.strings)": [[10, "lkj.strings.unique_affixes", false]], "user_machine_id() (in module lkj)": [[1, "lkj.user_machine_id", false]], "value_in_interval() (in module lkj.misc)": [[9, "lkj.misc.value_in_interval", false]], "watermark_dir() (in module lkj.filesys)": [[4, "lkj.filesys.watermark_dir", false]], "wrap_text_with_exact_spacing() (in module lkj.loggers)": [[8, "lkj.loggers.wrap_text_with_exact_spacing", false]], "wrapped_print() (in module lkj.loggers)": [[8, "lkj.loggers.wrapped_print", false]], "zip_with_filenames() (in module lkj.funcs)": [[5, "lkj.funcs.zip_with_filenames", false]]}, "objects": {"": [[1, 0, 0, "-", "lkj"]], "lkj": [[1, 1, 1, "", "add_as_attribute_of"], [1, 1, 1, "", "add_attr"], [2, 0, 0, "-", "chunking"], [3, 0, 0, "-", "dicts"], [4, 0, 0, "-", "filesys"], [5, 0, 0, "-", "funcs"], [1, 1, 1, "", "get_caller_package_name"], [6, 0, 0, "-", "importing"], [7, 0, 0, "-", "iterables"], [8, 0, 0, "-", "loggers"], [9, 0, 0, "-", "misc"], [10, 0, 0, "-", "strings"], [1, 1, 1, "", "user_machine_id"]], "lkj.chunking": [[2, 1, 1, "", "chunk_iterable"], [2, 1, 1, "", "chunker"]], "lkj.dicts": [[3, 1, 1, "", "exclusive_subdict"], [3, 1, 1, "", "inclusive_subdict"], [3, 1, 1, "", "truncate_dict_values"]], "lkj.filesys": [[4, 1, 1, "", "do_nothing"], [4, 1, 1, "", "enable_sourcing_from_file"], [4, 1, 1, "", "get_app_data_dir"], [4, 1, 1, "", "get_watermarked_dir"], [4, 1, 1, "", "has_watermark"], [4, 1, 1, "", "rename_file"], [4, 1, 1, "", "watermark_dir"]], "lkj.funcs": [[5, 1, 1, "", "filter_greater_than"], [5, 1, 1, "", "full_path_maker"], [5, 1, 1, "", "zip_with_filenames"]], "lkj.importing": [[6, 2, 1, "", "NamespaceForwardingFinder"], [6, 2, 1, "", "NamespaceForwardingLoader"], [6, 1, 1, "", "import_object"], [6, 1, 1, "", "register_namespace_forwarding"]], "lkj.importing.NamespaceForwardingFinder": [[6, 3, 1, "", "find_spec"], [6, 4, 1, "", "source_base"], [6, 4, 1, "", "target_base"]], "lkj.importing.NamespaceForwardingLoader": [[6, 4, 1, "", "fullname"], [6, 3, 1, "id0", "load_module"], [6, 4, 1, "", "source_base"], [6, 4, 1, "", "target_base"]], "lkj.iterables": [[7, 2, 1, "", "SetsComparisonResult"], [7, 1, 1, "", "compare_sets"], [7, 1, 1, "", "get_by_value"], [7, 1, 1, "", "index_of"]], "lkj.iterables.SetsComparisonResult": [[7, 4, 1, "", "common"], [7, 4, 1, "", "left_only"], [7, 4, 1, "", "right_only"]], "lkj.loggers": [[8, 2, 1, "", "ErrorInfo"], [8, 1, 1, "", "clog"], [8, 1, 1, "", "instance_flag_is_set"], [8, 1, 1, "", "log_calls"], [8, 1, 1, "", "print_progress"], [8, 1, 1, "", "print_with_timestamp"], [8, 1, 1, "", "return_error_info_on_error"], [8, 1, 1, "", "wrap_text_with_exact_spacing"], [8, 1, 1, "", "wrapped_print"]], "lkj.misc": [[9, 1, 1, "", "value_in_interval"]], "lkj.strings": [[10, 1, 1, "", "camel_to_snake"], [10, 1, 1, "", "fields_of_string_formats"], [10, 1, 1, "", "indent_lines"], [10, 1, 1, "", "most_common_indent"], [10, 1, 1, "", "regex_based_substitution"], [10, 1, 1, "", "snake_to_camel"], [10, 1, 1, "", "truncate_string_with_marker"], [10, 1, 1, "", "unique_affixes"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method", "4": "py:attribute"}, "terms": {"": [1, 4, 8, 10], "0": [0, 2, 7, 8, 10], "1": [0, 1, 2, 3, 5, 7, 8, 9], "10": [0, 3, 5, 8], "11": 3, "12": 10, "123": 10, "1234567890": 10, "1479416085": 1, "15": 10, "18": 0, "2": [2, 3, 5, 7, 8, 9, 10], "20": 3, "2024": 0, "3": [2, 3, 7, 8, 9, 10], "30": 8, "4": [2, 3], "5": [2, 3, 5, 7, 8], "6": [2, 3, 5, 8], "66": 3, "7": [2, 3, 5, 9], "8": [2, 3, 5, 9, 10], "80": 8, "88": 8, "890": 10, "9": [3, 5, 9], "90": 10, "A": [3, 4, 6, 7, 8, 10], "But": [1, 8, 10], "By": 4, "For": 4, "If": [1, 2, 3, 4, 6, 7, 8, 9, 10], "In": 1, "It": [2, 4, 8], "Of": 1, "One": [8, 10], "The": [1, 2, 3, 4, 6, 7, 8, 9, 10], "Then": 6, "To": [4, 8], "_": 1, "__doc__": 1, "__init__": 8, "__name__": [1, 8], "_always_log": 8, "_calling_nam": 8, "_clog": 8, "_done_calling_nam": 8, "_github_url_templ": 10, "_helper": 1, "_raise_watermark_error": 4, "abc": [7, 10], "abcd": 10, "abl": 8, "access": 10, "achiev": 4, "acronym": 10, "actual": 4, "ad": [1, 6, 8], "add": [1, 8], "add_as_attribute_of": [0, 1, 11], "add_attr": [0, 1, 11], "add_doc": 1, "add_nam": 1, "affix": 10, "afresh": 4, "after": [3, 4, 8], "aggreg": 10, "alia": 7, "all": [1, 3, 8, 10], "allow": [4, 8], "alreadi": 4, "also": [2, 4, 8], "alwai": 2, "amin": 10, "an": [1, 2, 4, 5, 6, 8, 10], "analyz": 10, "ani": [1, 4, 7, 8, 9], "anoth": [4, 10], "another_testdir": 4, "ap": 10, "app": 10, "app_data_dir": 4, "app_data_rootdir": 4, "appear": 8, "appl": 10, "appli": [4, 7], "applic": 4, "appropri": 10, "apr": 10, "apricot": 10, "ar": [1, 2, 3, 5, 10], "arg": [1, 4, 8], "argument": [1, 2, 4, 9], "assert": [3, 7, 8], "ation": 10, "attr_nam": 1, "attr_val": 1, "attrgett": 8, "attribut": [1, 6, 8, 10], "avoid": 10, "b": [2, 3, 7, 8, 10], "back": 4, "backward": 6, "bana": 10, "banana": 10, "band": 10, "banda": 10, "bandana": 10, "bar": 1, "base": [5, 6, 10], "base_directori": 5, "basenam": 4, "basic_parse_test": 10, "basicparsetest": 10, "batch": 2, "becaus": 7, "been": 10, "befor": [1, 8, 10], "being": 6, "between": 8, "bool": [2, 4, 8, 9, 10], "both": [1, 2, 7], "built": [4, 8, 9], "byte": 4, "c": [2, 3, 7, 8, 10], "call": [1, 4, 7, 8, 10], "callabl": [1, 2, 4, 8, 9, 10], "callback": 4, "caller": 1, "camel_case_exampl": 10, "camel_str": 10, "camel_to_snak": [0, 10, 11], "camelcas": 10, "camelcaseexampl": 10, "can": [1, 2, 3, 4, 8, 9, 10], "candi": 10, "candl": 10, "capit": 10, "carri": 10, "case": [4, 8, 10], "catch": 8, "caught_error_typ": 8, "chang": [0, 9], "check": [3, 4, 8], "chk_size": 2, "choos": [4, 8], "chunk": [0, 11], "chunk_iter": [0, 2, 11], "chunk_typ": 2, "chunker": [0, 2, 11], "class": [6, 7, 8, 10], "clog": [0, 8, 11], "code": [6, 8], "collect": 2, "com": 1, "common": [7, 8, 10], "compar": 7, "compare_iter": 7, "compare_set": [0, 7, 11], "comparison": 7, "compat": 6, "complet": 1, "complex_token": 10, "complextoken": 10, "comput": 1, "condit": [4, 8], "config": 4, "construct": 10, "contain": [1, 6, 10], "content": 4, "control": [2, 4, 8], "convert": 10, "correctli": 10, "correspond": 6, "count": 5, "cours": 1, "creat": [4, 5, 10], "current": 1, "custom": [4, 6], "d": [3, 7, 8, 9], "data": [4, 5, 7], "databas": 8, "date": 9, "debug": 8, "dec": 0, "decor": [1, 4, 8], "def": [1, 4, 8], "default": [1, 2, 3, 4, 8, 9, 10], "delet": 4, "depend": 4, "deprec": 6, "descend": 10, "desir": 10, "detect": [4, 6, 10], "determin": 10, "dflt_error_info_processor": 8, "dict": [0, 2, 5, 7, 8, 10, 11], "dictionari": [3, 7, 10], "differ": 8, "directori": [4, 5], "dirnam": 4, "dirpath": 4, "displai": 8, "display_tim": 8, "divid": 2, "divis": 8, "do": [1, 4, 6, 8], "do_noth": [0, 4, 11], "docstr": 10, "doctest": 6, "doe": [2, 4, 8], "doesn": 4, "don": 4, "done": [7, 8], "dot": 6, "dot_path": 6, "dry_run": 4, "duplic": 10, "dynam": [6, 8], "e": [2, 3, 8, 9, 10], "each": [2, 5, 8, 10], "effect": 2, "effici": 2, "egress": 10, "egress_msg": 8, "element": [2, 5, 7], "els": 4, "enabl": [4, 6], "enable_sourcing_from_fil": [0, 4, 11], "end": 8, "ensur": [5, 8, 10], "error": [4, 8], "error_info_processor": 8, "errorinfo": [0, 8, 11], "etc": [2, 5, 7], "even": 2, "exactli": 8, "examin": 10, "exampl": [2, 3, 4, 5, 7, 8, 10], "exce": 8, "except": 8, "exclud": 3, "exclusive_subdict": [0, 3, 11], "exec_modul": 6, "execut": 8, "exist": [4, 6, 8], "exist_ok": 4, "exit": 8, "expect": 2, "explicitli": 1, "extra": 2, "extract": 10, "f": [1, 4, 6, 8, 9], "factori": 4, "failur": 6, "fals": [2, 4, 8, 9, 10], "favor": 6, "fewer": 2, "ff": 9, "field": [7, 10], "fields_of_string_format": [0, 10, 11], "file": [4, 5, 8], "file1": 5, "file2": 5, "file_001": 5, "file_002": 5, "file_004": 5, "file_005": 5, "file_006": 5, "filenam": 5, "filesi": [0, 11], "filter": [2, 5], "filter_greater_than": [0, 5, 11], "filter_greater_than_5": 5, "find": [6, 10], "find_spec": 6, "finder": 6, "first": [4, 7, 10], "fix": 8, "flag": 8, "flag_attr": 8, "fli": 10, "flight": 10, "flow": 10, "flower": 10, "foo": [1, 8], "formatt": 10, "forward": 6, "found": 10, "framework": 4, "from": [1, 3, 4, 6, 7, 8, 9, 10], "full": [4, 5, 6], "full_path": 5, "full_path_mak": [0, 5, 11], "fullnam": 6, "func": [0, 4, 8, 11], "func_nam": 8, "function": [1, 4, 5, 6, 7, 8, 9, 10], "functool": [4, 7, 8, 10], "g": [2, 8, 10], "ge": 9, "gener": 5, "generic_func": 1, "get": [1, 2, 4, 6, 7, 8], "get_app_data_dir": [0, 4, 11], "get_by_id": 7, "get_by_valu": [0, 7, 11], "get_caller_package_nam": [0, 1, 11], "get_val": 9, "get_value_of_b": 7, "get_watermarked_dir": [0, 4, 11], "gettempdir": 4, "github": 1, "give": [1, 2], "given": [1, 5, 10], "grape": 10, "greater": 5, "guarante": 7, "h": 8, "ha": [1, 4, 10], "handl": [2, 10], "happen": 4, "has_watermark": [0, 4, 11], "hasattr": [1, 8], "have": [2, 3, 6, 8, 10], "hcp": 6, "hello": 8, "helper": [1, 8], "here": 10, "hh": 8, "home": 4, "how": [4, 10], "html_parser": 10, "htmlparser": 10, "http": 1, "i": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "i2mint": 1, "id": [1, 7], "ident": [9, 10], "if_does_not_exist": 4, "if_exist": 4, "if_watermark_validation_fail": 4, "ignor": 10, "ignore_error": 4, "ignore_first_lin": 10, "imb": 6, "imbed_data_prep": 6, "import": [0, 1, 4, 7, 8, 9, 10, 11], "import_object": [0, 6, 11], "importerror": 6, "includ": [2, 3], "include_tail": 2, "inclusive_subdict": [0, 3, 11], "inde": 4, "indent": 10, "indent_lin": [0, 10, 11], "index": [0, 7], "index_of": [0, 7, 11], "indic": 3, "info": 8, "ingress": 10, "ingress_msg": 8, "input": [2, 3, 8, 10], "insert": [3, 6, 10], "instanc": 8, "instance_flag_is_set": [0, 8, 11], "instead": [8, 10], "int": [2, 3, 7, 8], "intent": 1, "invers": 10, "investig": 3, "is_maximum": 9, "is_minimum": 9, "isinst": 8, "issu": 1, "issuecom": 1, "item": [2, 8, 10], "item1": 8, "item10": 8, "item2": 8, "item3": 8, "item4": 8, "item5": 8, "item6": 8, "item7": 8, "item8": 8, "item9": 8, "itemgett": 9, "iter": [0, 2, 3, 5, 8, 10, 11], "its": [1, 10], "iz": 7, "j": 8, "join": [4, 6, 10], "jumpstart": 1, "just": [4, 7, 8], "kei": [2, 3, 7, 10], "kit": 1, "kt": [2, 7], "kwarg": [1, 4, 8], "label": 5, "lambda": [2, 8, 9], "larg": 3, "large_dict": 3, "last": [0, 2, 7, 10], "le": 9, "lead": 1, "least": 1, "left": 7, "left_limit": 10, "left_onli": 7, "len": 2, "length": [3, 8, 10], "less": 2, "lightweight": 1, "like": [3, 5, 10], "limit": 10, "line": [8, 10], "line_prefix": 8, "line_sep": 10, "list": [2, 3, 4, 5, 7, 8, 9, 10], "list_of_dict": 7, "listdir": 4, "litter": 8, "lkj": 11, "ll": [4, 6, 8], "load": 6, "load_modul": 6, "loader": 6, "local": 8, "log": [3, 8], "log_cal": [0, 8, 11], "log_condit": 8, "log_func": 8, "log_if_verbose_set_to_tru": 8, "logger": [0, 11], "long": 3, "longer": [3, 10], "look": 3, "lt": 9, "main": [1, 4], "make": [4, 8], "make_dir": 4, "makedir": 4, "manual": 4, "map": [2, 3, 7, 9], "marker": 10, "max": 3, "max_list_s": 3, "max_string_s": 3, "max_val": 9, "max_width": 8, "maximum": [3, 8, 10], "mdat": 6, "meant": 10, "messag": 8, "meta_path": 6, "method": 6, "middl": [3, 10], "middle_mark": [3, 10], "min_val": 9, "mini": 4, "misc": [0, 11], "miscellan": 9, "mkdir": 4, "mm": 8, "modif": 8, "modul": [0, 1, 3, 6, 8], "more": 3, "most": [7, 10], "most_common_ind": [0, 10, 11], "msg": 8, "much": 3, "multipli": 8, "must": 6, "my": 1, "my_func": 1, "my_watermark": 4, "myclass": 8, "mytestdir": 4, "n": [8, 10], "name": [1, 4, 5, 6, 7, 8, 10], "namedtupl": 7, "namespac": [1, 6], "namespaceforwardingfind": [0, 6, 11], "namespaceforwardingload": [0, 6, 11], "nanoth": 10, "need": 4, "nest": 3, "never": 5, "new": [3, 8], "newlin": 8, "nf": 8, "non": [2, 4], "none": [1, 2, 3, 4, 6, 8, 9, 10], "nonexistent_dir": 4, "note": [1, 2, 7, 8, 10], "noth": 4, "notify_user_that_path_does_not_exist": 4, "now": 8, "number": 7, "o": [4, 6], "obj": [1, 8], "object": [1, 6, 8], "occur": 8, "often": 10, "onli": [3, 7, 8], "oper": [8, 9], "option": [3, 4, 8], "orang": 10, "order": [5, 7, 10], "other": [3, 10], "otherwis": [2, 4], "our": 4, "out": [3, 10], "output": [4, 8], "over": 8, "overlap": 2, "packag": [1, 6], "page": 0, "pair": 10, "paramet": [1, 2, 3, 4, 6, 7, 8, 10], "parametr": [8, 10], "partial": [1, 4, 7, 8, 10], "pass": 1, "path": [4, 5, 6], "perform": 10, "persist": 8, "place": 8, "point": [1, 10], "pollut": 1, "popul": 4, "possibli": 8, "postprocess": 10, "prefix": 10, "preprocess": 10, "preserv": 8, "print": [3, 4, 8, 10], "print_func": 8, "print_progress": [0, 8, 11], "print_with_timestamp": [0, 8, 11], "probabl": 2, "process": 8, "properli": 6, "provid": [1, 4, 6, 8], "put": 6, "python": 10, "quot": 10, "rais": [4, 6, 10], "rang": [2, 5, 7], "re": 10, "read": 4, "realiti": 1, "realli": 1, "recent": [7, 10], "recogniz": 4, "recreat": 4, "reduc": 3, "refresh": 8, "regex": 10, "regex_based_substitut": [0, 10, 11], "regist": 6, "register_namespace_forward": [0, 6, 11], "relat": 6, "releas": 0, "remain": 2, "remov": 1, "renam": 4, "rename_fil": [0, 4, 11], "renamer_funct": 4, "replac": 10, "replace_thi": 10, "respons": 4, "result": [4, 7], "return": [1, 2, 3, 4, 6, 7, 8, 10], "return_error_info_on_error": [0, 8, 11], "right": 7, "right_limit": 10, "right_onli": 7, "rminat": 10, "rmtree": 4, "root": 4, "rootdir": 4, "runner": 4, "sai": [5, 6, 8], "same": 3, "search": 0, "second": 7, "see": [1, 4, 10], "segument": 2, "self": 8, "send": 8, "sep": [8, 10], "separ": 8, "sequenc": [7, 10], "sequenti": 5, "servic": 8, "set": [2, 3, 6, 7, 8, 10], "setscomparisonresult": [0, 7, 11], "shorter": 10, "should": 8, "shutil": 4, "simple_example_test": 10, "simpleexampletest": 10, "simpler": 2, "sinc": [8, 10], "singl": 10, "size": [2, 3], "skip": 6, "slice": 2, "snake_cas": 10, "snake_str": 10, "snake_to_camel": [0, 10, 11], "so": 1, "some": [4, 8], "someth": 4, "sometim": 8, "sort": 10, "sourc": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "source_bas": 6, "space": 3, "spec": 6, "specif": [2, 4, 10], "specifi": [1, 4, 8], "split": 10, "sprintf": 8, "ss": 8, "start": [1, 8], "start_idx": 5, "statement": 8, "store": 4, "str": [1, 3, 4, 6, 8, 10], "string": [0, 3, 4, 6, 8, 11], "structur": [3, 4], "style": 8, "su": 10, "subdirectori": 4, "substitut": 10, "suffix": 10, "suitabl": 4, "sum": 10, "supercalifragilisticexpialidoci": 10, "suppress": 8, "sy": 6, "system": 4, "t": [2, 4, 8, 9], "tab": 1, "take": [1, 3, 4, 8], "taken": 4, "target": 6, "target_bas": 6, "tell": 4, "tempfil": 4, "templat": 10, "termin": 10, "test": 10, "testdir": 4, "tester": 10, "testi": 10, "text": 8, "than": [2, 3, 5, 10], "thei": [2, 8], "them": 4, "thi": [1, 2, 3, 4, 6, 7, 8, 10], "though": 2, "thought": 2, "threshold": 5, "through": 4, "time": 8, "timestamp": 8, "tip": 8, "too": 3, "tool": [2, 3, 5, 6, 7, 9], "total": 8, "traceback": [7, 8, 10], "track": 8, "tripl": 10, "true": [1, 2, 4, 6, 8, 9, 10], "truncat": [3, 10], "truncate_dict_valu": [0, 3, 11], "truncate_str": 10, "truncate_string_with_mark": [0, 10, 11], "tupl": [2, 7, 8, 10], "two": 7, "type": [2, 4, 6, 7, 8, 9, 10], "typic": 4, "u": [4, 10], "underscor": 1, "uniqu": [5, 10], "unique_affix": [0, 10, 11], "unless": 4, "us": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "usag": [6, 8], "user": [1, 4, 8], "user_machine_id": [0, 1, 11], "usual": [4, 8, 10], "util": [4, 8, 10], "valid": 4, "valu": [1, 2, 3, 7], "value_in_interv": [0, 9, 11], "valueerror": [7, 10], "variabl": [8, 10], "verbos": [4, 8], "verifi": 4, "versbos": 8, "view": [1, 10], "vt": [2, 7], "wa": 4, "want": [1, 3, 4, 7, 8, 9, 10], "watermark": 4, "watermark_dir": [0, 4, 11], "watermark_testdir": 4, "we": [4, 8], "what": [4, 8], "when": [3, 6, 7, 8, 10], "where": [2, 3, 8, 10], "whether": [8, 10], "which": 1, "while": 8, "whose": 4, "width": 8, "with_that": 10, "without": 1, "word": 8, "work": [3, 5], "would": 8, "wrap": 8, "wrap_text_with_exact_spac": [0, 8, 11], "wrapped_print": [0, 8, 11], "write": 4, "write_output": 4, "x": [2, 8, 9, 10], "xml_http_request_test": 10, "xmlhttprequesttest": 10, "xy": 10, "xyz": 10, "y": [2, 8], "you": [1, 2, 3, 4, 6, 7, 8, 9, 10], "your": [4, 8], "z": [2, 7], "zero": 8, "zerodivisionerror": 8, "zip": 5, "zip_fil": 5, "zip_with_filenam": [0, 5, 11]}, "titles": ["Welcome to lkj\u2019s documentation!", "lkj", "lkj.chunking", "lkj.dicts", "lkj.filesys", "lkj.funcs", "lkj.importing", "lkj.iterables", "lkj.loggers", "lkj.misc", "lkj.strings", "<no title>"], "titleterms": {"": 0, "chunk": 2, "content": [0, 11], "dict": 3, "document": 0, "filesi": 4, "func": 5, "import": 6, "indic": 0, "iter": 7, "lkj": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "logger": 8, "misc": 9, "string": 10, "tabl": 0, "welcom": 0}}) \ No newline at end of file