xenoslib 0.1.29.22__py3-none-any.whl → 0.1.29.24__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.
xenoslib/about.py CHANGED
@@ -4,4 +4,4 @@ __url__ = "https://github.com/XenosLu/xenoslib.git"
4
4
  __author__ = "Xenocider"
5
5
  __author_email__ = "xenos.lu@gmail.com"
6
6
  __license__ = "MIT License"
7
- __version__ = "0.1.29.22"
7
+ __version__ = "0.1.29.24"
xenoslib/extend.py CHANGED
@@ -253,7 +253,9 @@ class ConfigLoader(SingletonWithArgs):
253
253
  raise KeyError("Missing required Vault configuration in config.yml")
254
254
 
255
255
  self.vault_client = hvac.Client(url=vault_url, namespace=vault_space, timeout=45)
256
- self.vault_client.auth.approle.login(role_id=vault_role_id, secret_id=self.vault_secret_id)
256
+ self.vault_client.auth.approle.login(
257
+ role_id=vault_role_id, secret_id=self.vault_secret_id
258
+ )
257
259
  except Exception as e:
258
260
  self.vault_client = None
259
261
  raise Exception(f"Failed to initialize Vault client: {str(e)}")
@@ -323,6 +325,11 @@ class ConfigLoader(SingletonWithArgs):
323
325
  try:
324
326
  vault_path = self._raw_config[section]["vault_path"]
325
327
  vault_key = self._raw_config[section][f"{key_name}@vault"]
328
+ vault_namepsace = self._raw_config[section].get("vault_namespace")
329
+ if vault_namepsace:
330
+ self.vault_client.adapter.namespace = vault_namepsace
331
+ else:
332
+ self.vault_client.adapter.namespace = self._raw_config["vault"]["space"]
326
333
  data = self.vault_client.secrets.kv.read_secret_version(
327
334
  path=vault_path, mount_point="kv", raise_on_deleted_version=True
328
335
  )
@@ -355,6 +362,13 @@ class SectionProxy:
355
362
  """Dictionary-style access to configuration values."""
356
363
  return self._loader.get(self._section, key)
357
364
 
365
+ def get(self, key, default=None):
366
+ """Dictionary-style access to configuration values."""
367
+ try:
368
+ return self._loader.get(self._section, key)
369
+ except KeyError:
370
+ return default
371
+
358
372
  def __getattr__(self, key):
359
373
  """Attribute-style access to configuration values."""
360
374
  try:
@@ -373,5 +387,8 @@ if __name__ == "__main__":
373
387
 
374
388
  # This will only work if you provide a valid Vault secret ID
375
389
  # and hvac package is installed
376
- config_with_vault = ConfigLoader("config.yml", vault_secret_id=os.getenv("VAULT_CF_LANDSCAPES_SECRET_ID"))
377
- print("With Vault:", config_with_vault.get("cis", "cis_client_id"))
390
+ config_with_vault = ConfigLoader("config.yml", vault_secret_id=os.getenv("VAULT_SECRET_ID"))
391
+
392
+ print("With Vault:", config_with_vault.test.test)
393
+ print("With Vault:", config_with_vault["cis"]["cis_client_id"])
394
+ print("Try val not exists: ", config_with_vault.test.get("not_exists"))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xenoslib
3
- Version: 0.1.29.22
3
+ Version: 0.1.29.24
4
4
  Summary: Xenos' common lib
5
5
  Home-page: https://github.com/XenosLu/xenoslib.git
6
6
  Author: Xenocider
@@ -1,17 +1,17 @@
1
1
  xenoslib/__init__.py,sha256=vlMWwdD2gTb9ztpm_orYAm_Y0Be0Es64ifvMQwrE1jU,310
2
2
  xenoslib/__main__.py,sha256=UpD3pl4l5ZUFxK6FzNMWRb1AZpEnwerulSFoPb_Pdgw,307
3
- xenoslib/about.py,sha256=q5lJvyV5kCJYW6IwiK88ttewog77gEW8vRwZq-Ip4iU,232
3
+ xenoslib/about.py,sha256=JKyKHeuHKeNVy4XAX7OGeS5Pm5uRdRo86Iod6CJa8J0,232
4
4
  xenoslib/base.py,sha256=rAXk71AsnWvQ7MaSad5Xxd9Lwucp-cZc15yyqoV5Dk4,12440
5
5
  xenoslib/dev.py,sha256=R6iwKuu-xvaYiBOUyP2gpePyvXss17TOZaCmQEihPCw,1236
6
- xenoslib/extend.py,sha256=qOq-gn7yqjORlyMVBmcBIVYTPOvdQeBf479m2LrWJME,12823
6
+ xenoslib/extend.py,sha256=nBaPYUm2tqJXINzFun2p3dTPBnJvbgUygcuBve9Uaqo,13477
7
7
  xenoslib/linux.py,sha256=EFCQBq_JsmNJc3wGlJlzH9W0tjOA7sSwx0u62R5Ut2k,1318
8
8
  xenoslib/mail.py,sha256=pkC4gpMSxKbuvNR-0CdwbJQEJNbBCp5oEYAJS-uxq9s,7286
9
9
  xenoslib/mock.py,sha256=iNIplO7clejqLWfpY4r0WQH5BULy9dCoolDenZEci0c,3572
10
10
  xenoslib/onedrive.py,sha256=-bJJ8Cd_RjJSlDynYqKoZlFKE1HHM34l6NXOQrWOwtg,7783
11
11
  xenoslib/win_trayicon.py,sha256=7GJwX3c2CS1XWQjsyDK5EfM-MmEHdzPJCTX2sGpWmuU,13115
12
12
  xenoslib/windows.py,sha256=lUTD7TowaPqYHgIL6b-GM9PLd-VyJNNGzkzC3K9vOxo,4080
13
- xenoslib-0.1.29.22.dist-info/licenses/LICENSE,sha256=lF6hjufhiR-xAje_Wo7ogxV5phz2d5TgkfL5SGshujg,1066
14
- xenoslib-0.1.29.22.dist-info/METADATA,sha256=Fat98DxVbE3InA6182xEdwB7RE4jXGrjlvolmMdUdWU,914
15
- xenoslib-0.1.29.22.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
- xenoslib-0.1.29.22.dist-info/top_level.txt,sha256=Rfm4GdW0NyA2AHDNUF2wFQOfAo53mAPibddSHGd3X60,9
17
- xenoslib-0.1.29.22.dist-info/RECORD,,
13
+ xenoslib-0.1.29.24.dist-info/licenses/LICENSE,sha256=lF6hjufhiR-xAje_Wo7ogxV5phz2d5TgkfL5SGshujg,1066
14
+ xenoslib-0.1.29.24.dist-info/METADATA,sha256=oRXw6yfmrrJ-LX3CgHkzmOhWXQsnneV1L4spSyrwfMY,914
15
+ xenoslib-0.1.29.24.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
+ xenoslib-0.1.29.24.dist-info/top_level.txt,sha256=Rfm4GdW0NyA2AHDNUF2wFQOfAo53mAPibddSHGd3X60,9
17
+ xenoslib-0.1.29.24.dist-info/RECORD,,