ae-base 0.3.60__py3-none-any.whl → 0.3.63__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
ae/base.py CHANGED
@@ -171,7 +171,7 @@ from types import ModuleType
171
171
  from typing import Any, Callable, Generator, Iterable, MutableMapping, Optional, Union, cast
172
172
 
173
173
 
174
- __version__ = '0.3.60'
174
+ __version__ = '0.3.63'
175
175
 
176
176
 
177
177
  os_path_abspath = os.path.abspath
@@ -207,6 +207,8 @@ INI_EXT = '.ini' #: INI config file extension
207
207
  DATE_ISO = "%Y-%m-%d" #: ISO string format for date values (e.g. in config files/variables)
208
208
  DATE_TIME_ISO = "%Y-%m-%d %H:%M:%S.%f" #: ISO string format for datetime values
209
209
 
210
+ DEF_PROJECT_PARENT_FOLDER = 'src' #: default directory name to put code project roots underneath of it
211
+
210
212
  DEF_ENCODE_ERRORS = 'backslashreplace' #: default encode error handling for UnicodeEncodeErrors
211
213
  DEF_ENCODING = 'ascii'
212
214
  """ encoding for :func:`force_encoding` that will always work independent from destination (console, file sys, ...).
@@ -639,7 +641,7 @@ def load_dotenvs():
639
641
  load_env_var_defaults(os_path_dirname(os_path_abspath(file_name)), env_vars)
640
642
 
641
643
 
642
- def load_env_var_defaults(start_dir: str, env_vars: MutableMapping[str, str]):
644
+ def load_env_var_defaults(start_dir: str, env_vars: MutableMapping[str, str]) -> MutableMapping[str, str]:
643
645
  """ load undeclared env var defaults from a chain of ``.env`` files starting in the specified folder or its parent.
644
646
 
645
647
  :param start_dir: folder to start search of an ``.env`` file, if not found, then also checks the parent
@@ -651,21 +653,25 @@ def load_env_var_defaults(start_dir: str, env_vars: MutableMapping[str, str]):
651
653
  :param env_vars: environment variables mapping to be amended with env variable values from any
652
654
  found ``.env`` file. pass Python's :data:`os.environ` to amend this mapping directly
653
655
  with all the already not declared environment variables.
656
+ :return: dict with the loaded env var names (keys) and values.
654
657
  """
655
658
  start_dir = norm_path(start_dir)
656
659
  file_path = os_path_join(start_dir, DOTENV_FILE_NAME)
657
660
  if not os_path_isfile(file_path):
658
661
  file_path = os_path_join(os_path_dirname(start_dir), DOTENV_FILE_NAME)
659
662
 
663
+ loaded_vars = {}
660
664
  while os_path_isfile(file_path):
661
665
  for var_nam, var_val in parse_dotenv(file_path).items():
662
666
  if var_nam not in env_vars:
663
- env_vars[var_nam] = var_val
667
+ env_vars[var_nam] = loaded_vars[var_nam] = var_val
664
668
 
665
669
  if os.sep not in file_path:
666
670
  break # pragma: no cover # prevent endless-loop for ``.env`` file in root dir (os.sep == '/')
667
671
  file_path = os_path_join(os_path_dirname(os_path_dirname(file_path)), DOTENV_FILE_NAME)
668
672
 
673
+ return loaded_vars
674
+
669
675
 
670
676
  def main_file_paths_parts(portion_name: str) -> tuple[tuple[str, ...], ...]:
671
677
  """ determine tuple of supported main/version file name path part tuples.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ae_base
3
- Version: 0.3.60
3
+ Version: 0.3.63
4
4
  Summary: ae namespace module portion base: basic constants, helper functions and context manager
5
5
  Home-page: https://gitlab.com/ae-group/ae_base
6
6
  Author: AndiEcker
@@ -69,13 +69,13 @@ Dynamic: summary
69
69
 
70
70
  <!-- THIS FILE IS EXCLUSIVELY MAINTAINED by the project ae.ae V0.3.96 -->
71
71
  <!-- THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.tpl_namespace_root V0.3.14 -->
72
- # base 0.3.60
72
+ # base 0.3.63
73
73
 
74
74
  [![GitLab develop](https://img.shields.io/gitlab/pipeline/ae-group/ae_base/develop?logo=python)](
75
75
  https://gitlab.com/ae-group/ae_base)
76
76
  [![LatestPyPIrelease](
77
- https://img.shields.io/gitlab/pipeline/ae-group/ae_base/release0.3.59?logo=python)](
78
- https://gitlab.com/ae-group/ae_base/-/tree/release0.3.59)
77
+ https://img.shields.io/gitlab/pipeline/ae-group/ae_base/release0.3.61?logo=python)](
78
+ https://gitlab.com/ae-group/ae_base/-/tree/release0.3.61)
79
79
  [![PyPIVersions](https://img.shields.io/pypi/v/ae_base)](
80
80
  https://pypi.org/project/ae-base/#history)
81
81
 
@@ -0,0 +1,7 @@
1
+ ae/base.py,sha256=8sCPZbEHi_XZEZYmHaekTQRlz7T2_EVBWnu_4MfXUAk,67833
2
+ ae_base-0.3.63.dist-info/licenses/LICENSE.md,sha256=vn9XT8MDUxNAWsP60HLwHJp8ZLOI0OJBRe-1N2xXh08,35002
3
+ ae_base-0.3.63.dist-info/METADATA,sha256=Wy4QjjplmPR9IpU2VoXe4eF-bxBS0DMjN1WeX6hbLEA,5724
4
+ ae_base-0.3.63.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
5
+ ae_base-0.3.63.dist-info/top_level.txt,sha256=vUdgAslSmhZLXWU48fm8AG2BjVnkOWLco8rzuW-5zY0,3
6
+ ae_base-0.3.63.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
7
+ ae_base-0.3.63.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- ae/base.py,sha256=ntLmxDmy33N6G__SgvrfopMzsfDuGOWZb3nP-lnJ4Mk,67533
2
- ae_base-0.3.60.dist-info/licenses/LICENSE.md,sha256=vn9XT8MDUxNAWsP60HLwHJp8ZLOI0OJBRe-1N2xXh08,35002
3
- ae_base-0.3.60.dist-info/METADATA,sha256=lwP8j7UO5bTPl6d9j1HNN018CMIN8GcKNpBUBahLgI8,5724
4
- ae_base-0.3.60.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
5
- ae_base-0.3.60.dist-info/top_level.txt,sha256=vUdgAslSmhZLXWU48fm8AG2BjVnkOWLco8rzuW-5zY0,3
6
- ae_base-0.3.60.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
7
- ae_base-0.3.60.dist-info/RECORD,,