xenoslib 0.1.29.16__py3-none-any.whl → 0.1.29.18__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.16"
7
+ __version__ = "0.1.29.18"
xenoslib/extend.py CHANGED
@@ -7,6 +7,8 @@ import logging
7
7
  import yaml
8
8
  import requests
9
9
 
10
+ from xenoslib.base import SingletonWithArgs
11
+
10
12
 
11
13
  logger = logging.getLogger(__name__)
12
14
 
@@ -192,7 +194,7 @@ class DingTalkLogHandler(logging.Handler):
192
194
  print(exc)
193
195
 
194
196
 
195
- class ConfigLoader:
197
+ class ConfigLoader(SingletonWithArgs):
196
198
  """Centralized configuration management with optional Vault integration.
197
199
 
198
200
  Args:
@@ -211,12 +213,12 @@ class ConfigLoader:
211
213
  >>> config = ConfigLoader("config.yml", vault_secret_id="my-secret-id")
212
214
  """
213
215
 
216
+ cache = {}
217
+
214
218
  def __init__(self, config_file_path="config.yml", vault_secret_id=None):
215
219
  """Initialize the ConfigLoader with a configuration file and optional Vault secret."""
216
220
  with open(config_file_path, "r") as f:
217
221
  self._raw_config = yaml.safe_load(f) or {}
218
-
219
- self.cache = {}
220
222
  self.vault_client = None
221
223
 
222
224
  if vault_secret_id is not None:
@@ -289,9 +291,9 @@ class ConfigLoader:
289
291
  )
290
292
 
291
293
  cache_key = f"{section}_{key_name}"
294
+
292
295
  if use_cache and cache_key in self.cache:
293
296
  return self.cache[cache_key]
294
-
295
297
  value = self._get_value_from_vault(section, key_name)
296
298
  self.cache[cache_key] = value
297
299
  return value
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xenoslib
3
- Version: 0.1.29.16
3
+ Version: 0.1.29.18
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=5j6JHnv5lEUGBvs5RRdoxaoeUvrA1N1IJRoLonJRtGg,232
3
+ xenoslib/about.py,sha256=mZDfKbE1TbaCMY8Akwc2ydxZ7tlvakGKQmLC5iZ5Opw,232
4
4
  xenoslib/base.py,sha256=yylMYrF5F-bY4ncdo5bCyImjy7OkBAz5YWMGdZNV3rY,12377
5
5
  xenoslib/dev.py,sha256=R6iwKuu-xvaYiBOUyP2gpePyvXss17TOZaCmQEihPCw,1236
6
- xenoslib/extend.py,sha256=8dEJId1yWmFZLddqDDoVxIUpp3xfFNmoMCrKY8QL5gI,12413
6
+ xenoslib/extend.py,sha256=HKX4imCEFIZDaFJ7cU9UuwUAEtxkMLYlbyPOzlnyyC4,12468
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.16.dist-info/licenses/LICENSE,sha256=lF6hjufhiR-xAje_Wo7ogxV5phz2d5TgkfL5SGshujg,1066
14
- xenoslib-0.1.29.16.dist-info/METADATA,sha256=b0eB-y6avun4Kq_9vovNVSIWf3mepCSTtsaaBd5iGSc,914
15
- xenoslib-0.1.29.16.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
16
- xenoslib-0.1.29.16.dist-info/top_level.txt,sha256=Rfm4GdW0NyA2AHDNUF2wFQOfAo53mAPibddSHGd3X60,9
17
- xenoslib-0.1.29.16.dist-info/RECORD,,
13
+ xenoslib-0.1.29.18.dist-info/licenses/LICENSE,sha256=lF6hjufhiR-xAje_Wo7ogxV5phz2d5TgkfL5SGshujg,1066
14
+ xenoslib-0.1.29.18.dist-info/METADATA,sha256=IwyG9a-G36u0dCzbb0DYmTiOHtrFGIDsW7Yg-42l46Y,914
15
+ xenoslib-0.1.29.18.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
+ xenoslib-0.1.29.18.dist-info/top_level.txt,sha256=Rfm4GdW0NyA2AHDNUF2wFQOfAo53mAPibddSHGd3X60,9
17
+ xenoslib-0.1.29.18.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.7.1)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5