encommon 0.12.2__py3-none-any.whl → 0.13.0__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.
- encommon/config/config.py +27 -0
- encommon/config/test/test_config.py +3 -0
- encommon/conftest.py +5 -1
- encommon/times/test/test_timers.py +0 -10
- encommon/times/test/test_windows.py +0 -10
- encommon/times/timers.py +24 -3
- encommon/times/windows.py +24 -3
- encommon/version.txt +1 -1
- {encommon-0.12.2.dist-info → encommon-0.13.0.dist-info}/METADATA +1 -1
- {encommon-0.12.2.dist-info → encommon-0.13.0.dist-info}/RECORD +13 -13
- {encommon-0.12.2.dist-info → encommon-0.13.0.dist-info}/LICENSE +0 -0
- {encommon-0.12.2.dist-info → encommon-0.13.0.dist-info}/WHEEL +0 -0
- {encommon-0.12.2.dist-info → encommon-0.13.0.dist-info}/top_level.txt +0 -0
encommon/config/config.py
CHANGED
@@ -49,12 +49,14 @@ class Config:
|
|
49
49
|
:param paths: Complete or relative path to config paths.
|
50
50
|
:param cargs: Configuration arguments in dictionary form,
|
51
51
|
which will override contents from the config files.
|
52
|
+
:param sargs: Additional arguments on the command line.
|
52
53
|
:param model: Override default config validation model.
|
53
54
|
"""
|
54
55
|
|
55
56
|
__files: ConfigFiles
|
56
57
|
__paths: ConfigPaths
|
57
58
|
__cargs: dict[str, Any]
|
59
|
+
__sargs: dict[str, Any]
|
58
60
|
|
59
61
|
__model: Callable # type: ignore
|
60
62
|
|
@@ -69,6 +71,7 @@ class Config:
|
|
69
71
|
files: Optional['PATHABLE'] = None,
|
70
72
|
paths: Optional['PATHABLE'] = None,
|
71
73
|
cargs: Optional[dict[str, Any]] = None,
|
74
|
+
sargs: Optional[dict[str, Any]] = None,
|
72
75
|
model: Optional[Callable] = None, # type: ignore
|
73
76
|
) -> None:
|
74
77
|
"""
|
@@ -78,12 +81,14 @@ class Config:
|
|
78
81
|
files = files or []
|
79
82
|
paths = paths or []
|
80
83
|
cargs = cargs or {}
|
84
|
+
sargs = sargs or {}
|
81
85
|
|
82
86
|
paths = list(config_paths(paths))
|
83
87
|
|
84
88
|
self.__model = model or Params
|
85
89
|
self.__files = ConfigFiles(files)
|
86
90
|
self.__cargs = deepcopy(cargs)
|
91
|
+
self.__sargs = deepcopy(sargs)
|
87
92
|
|
88
93
|
self.__params = None
|
89
94
|
|
@@ -147,6 +152,28 @@ class Config:
|
|
147
152
|
return deepcopy(returned)
|
148
153
|
|
149
154
|
|
155
|
+
@property
|
156
|
+
def sargs(
|
157
|
+
self,
|
158
|
+
) -> dict[str, Any]:
|
159
|
+
"""
|
160
|
+
Return the value for the attribute from class instance.
|
161
|
+
|
162
|
+
:returns: Value for the attribute from class instance.
|
163
|
+
"""
|
164
|
+
|
165
|
+
returned: dict[str, Any] = {}
|
166
|
+
|
167
|
+
sargs = deepcopy(self.__sargs)
|
168
|
+
|
169
|
+
items = sargs.items()
|
170
|
+
|
171
|
+
for key, value in items:
|
172
|
+
setate(returned, key, value)
|
173
|
+
|
174
|
+
return deepcopy(returned)
|
175
|
+
|
176
|
+
|
150
177
|
@property
|
151
178
|
def config(
|
152
179
|
self,
|
@@ -44,6 +44,7 @@ def test_Config(
|
|
44
44
|
'_Config__model',
|
45
45
|
'_Config__files',
|
46
46
|
'_Config__cargs',
|
47
|
+
'_Config__sargs',
|
47
48
|
'_Config__params',
|
48
49
|
'_Config__paths',
|
49
50
|
'_Config__logger',
|
@@ -71,6 +72,8 @@ def test_Config(
|
|
71
72
|
|
72
73
|
assert len(config.cargs) == 1
|
73
74
|
|
75
|
+
assert len(config.sargs) == 1
|
76
|
+
|
74
77
|
assert len(config.config) == 3
|
75
78
|
|
76
79
|
assert config.model is Params
|
encommon/conftest.py
CHANGED
@@ -47,9 +47,13 @@ def config_factory(
|
|
47
47
|
'enlogger/file_path': config_log,
|
48
48
|
'enlogger/file_level': 'info'}
|
49
49
|
|
50
|
+
sargs = {
|
51
|
+
'custom/parameter': 'fart'}
|
52
|
+
|
50
53
|
return Config(
|
51
54
|
files=f'{tmp_path}/config.yml',
|
52
|
-
cargs=cargs
|
55
|
+
cargs=cargs,
|
56
|
+
sargs=sargs)
|
53
57
|
|
54
58
|
|
55
59
|
|
@@ -213,13 +213,3 @@ def test_Timers_raises(
|
|
213
213
|
_reason = str(reason.value)
|
214
214
|
|
215
215
|
assert _reason == 'unique'
|
216
|
-
|
217
|
-
|
218
|
-
_raises = raises(ValueError)
|
219
|
-
|
220
|
-
with _raises as reason:
|
221
|
-
timers.delete('dne')
|
222
|
-
|
223
|
-
_reason = str(reason.value)
|
224
|
-
|
225
|
-
assert _reason == 'unique'
|
@@ -240,13 +240,3 @@ def test_Windows_raises(
|
|
240
240
|
_reason = str(reason.value)
|
241
241
|
|
242
242
|
assert _reason == 'unique'
|
243
|
-
|
244
|
-
|
245
|
-
_raises = raises(ValueError)
|
246
|
-
|
247
|
-
with _raises as reason:
|
248
|
-
windows.delete('dne')
|
249
|
-
|
250
|
-
_reason = str(reason.value)
|
251
|
-
|
252
|
-
assert _reason == 'unique'
|
encommon/times/timers.py
CHANGED
@@ -423,12 +423,33 @@ class Timers:
|
|
423
423
|
"""
|
424
424
|
Delete the timer from the internal dictionary reference.
|
425
425
|
|
426
|
+
.. note::
|
427
|
+
This is a graceful method, will not raise exception
|
428
|
+
when the provided unique value does not exist.
|
429
|
+
|
426
430
|
:param unique: Unique identifier for the related child.
|
427
431
|
"""
|
428
432
|
|
429
433
|
timers = self.__timers
|
430
434
|
|
431
|
-
|
432
|
-
|
435
|
+
group = self.__group
|
436
|
+
|
437
|
+
session = self.store_session
|
438
|
+
|
439
|
+
|
440
|
+
if unique in timers:
|
441
|
+
del timers[unique]
|
442
|
+
|
433
443
|
|
434
|
-
|
444
|
+
_table = TimersTable
|
445
|
+
_group = _table.group
|
446
|
+
_unique = _table.unique
|
447
|
+
|
448
|
+
(session.query(_table)
|
449
|
+
.filter(_unique == unique)
|
450
|
+
.filter(_group == group)
|
451
|
+
.delete())
|
452
|
+
|
453
|
+
|
454
|
+
session.commit()
|
455
|
+
session.close()
|
encommon/times/windows.py
CHANGED
@@ -488,12 +488,33 @@ class Windows:
|
|
488
488
|
"""
|
489
489
|
Delete the window from the internal dictionary reference.
|
490
490
|
|
491
|
+
.. note::
|
492
|
+
This is a graceful method, will not raise exception
|
493
|
+
when the provided unique value does not exist.
|
494
|
+
|
491
495
|
:param unique: Unique identifier for the related child.
|
492
496
|
"""
|
493
497
|
|
494
498
|
windows = self.__windows
|
495
499
|
|
496
|
-
|
497
|
-
|
500
|
+
group = self.__group
|
501
|
+
|
502
|
+
session = self.store_session
|
503
|
+
|
504
|
+
|
505
|
+
if unique in windows:
|
506
|
+
del windows[unique]
|
507
|
+
|
498
508
|
|
499
|
-
|
509
|
+
_table = WindowsTable
|
510
|
+
_group = _table.group
|
511
|
+
_unique = _table.unique
|
512
|
+
|
513
|
+
(session.query(_table)
|
514
|
+
.filter(_unique == unique)
|
515
|
+
.filter(_group == group)
|
516
|
+
.delete())
|
517
|
+
|
518
|
+
|
519
|
+
session.commit()
|
520
|
+
session.close()
|
encommon/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.13.0
|
@@ -1,16 +1,16 @@
|
|
1
1
|
encommon/__init__.py,sha256=VoXUcphq-gcXCraaU47EtXBftF6UVuQPMGr0fuCTt9A,525
|
2
|
-
encommon/conftest.py,sha256=
|
2
|
+
encommon/conftest.py,sha256=kGyQzZmT5jEIzwqhLhk2tTgNn7XbHaYYVBj3kjPU-W8,1899
|
3
3
|
encommon/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
-
encommon/version.txt,sha256=
|
4
|
+
encommon/version.txt,sha256=2EyeWWx9apTl90V5742JEqgHsNKFgkdJAK0137Pt_PQ,7
|
5
5
|
encommon/config/__init__.py,sha256=iZdbW7A4m7iN4xt5cEeQqo0Klqs-CaPLdD5ocLmUYi8,856
|
6
|
-
encommon/config/config.py,sha256=
|
6
|
+
encommon/config/config.py,sha256=d1EQ5fsexuTrsPTfs_dfmGchqysdaRa-mgXCHKJm_bM,5957
|
7
7
|
encommon/config/files.py,sha256=ueXiKTOqlQ4GKUT9lLyOlE-tfr6QAkSxdUs0VPbwEnE,2385
|
8
8
|
encommon/config/logger.py,sha256=7qjujhs0pI02gazhGpPCNa18qnuYpajVCTDlBkCtiro,14217
|
9
9
|
encommon/config/params.py,sha256=xygONdnwagGn06791nTX_mCR9hmdFl60RMe7MZr6ICw,2192
|
10
10
|
encommon/config/paths.py,sha256=f0JDqkmd1xVd9KJ6s0b5KaFk-N6MlOjz4n1W39A5JHM,2533
|
11
11
|
encommon/config/utils.py,sha256=VzTpBSZ-l6codt6vk4p4SpcmKk-H1OBy-9IUBPKP3t4,2039
|
12
12
|
encommon/config/test/__init__.py,sha256=i0JAeRcM-0YH2StGfwpaDbZV9dVribNSgFDcYcPPay8,313
|
13
|
-
encommon/config/test/test_config.py,sha256=
|
13
|
+
encommon/config/test/test_config.py,sha256=aaCRai6tsytlDw4yHpSsTphOc6hLD2y_f8ItlGzISO4,2501
|
14
14
|
encommon/config/test/test_files.py,sha256=qJgavSxTxilHOnGzfF6fBpViOmKFGcBdupOIRhDsXuk,2295
|
15
15
|
encommon/config/test/test_logger.py,sha256=6X_ZYhKExvZsXo2o8FXneYi1uUekSj-t_B3u5wmeIDM,5246
|
16
16
|
encommon/config/test/test_paths.py,sha256=jCrSEnPkZprsJSvolsfTKoyuYqxqyQdDymL9yk3elvQ,2633
|
@@ -28,21 +28,21 @@ encommon/times/duration.py,sha256=LTROiKcRXvPcs2Gz9KaB5Cmxo9NXd3TcMo5-jnTxPo0,10
|
|
28
28
|
encommon/times/params.py,sha256=qwfy7cw9_UlWUm2xWm1aRjJJZzZp36w3Bo3Rc-HU2hM,3515
|
29
29
|
encommon/times/parse.py,sha256=DXoT_NyWL2Ea_j3vlGHMDY-5P6NBeYHyGhJoiavgBS0,6144
|
30
30
|
encommon/times/timer.py,sha256=19dt7A5nJEUdr_0p3WDFGO-Q49OHt3sgPW4R2zHoScU,2901
|
31
|
-
encommon/times/timers.py,sha256=
|
31
|
+
encommon/times/timers.py,sha256=4kdLBFpUyZefgiIaMrIyh5Tex7eP8aPAMZOV2yvH4B8,9219
|
32
32
|
encommon/times/times.py,sha256=FBOAVY1H21OV4BjGHj6iJrYbGQpSkWPj3Ss2Vepdvu4,9682
|
33
33
|
encommon/times/utils.py,sha256=PJ5QsKb3_pYEnD3Sz81d8QDhYQtTIj4HJfMoC9gNwmo,3100
|
34
34
|
encommon/times/window.py,sha256=3ctrDd0UWvnwrqxRZf7M-mVeEYVWvet6GZTj17YQ9sU,8526
|
35
|
-
encommon/times/windows.py,sha256=
|
35
|
+
encommon/times/windows.py,sha256=PiBASTU-E06R37nM2Ozl6cJidkEhTm3Sox9R-1aKkw0,10713
|
36
36
|
encommon/times/test/__init__.py,sha256=PjrnBYT0efyvbaGeNx94dm3tP3EVHUHSVs-VGeLEv5g,218
|
37
37
|
encommon/times/test/test_duration.py,sha256=ofCBdQ4-tOKP5W5U2xyTaZrCVvD-dWEgnYoCvZ99MuA,4189
|
38
38
|
encommon/times/test/test_params.py,sha256=kHvs-WvKfPQCdCDnPU9tAyMVXmzH3eUjwQN-QdWBeh4,1407
|
39
39
|
encommon/times/test/test_parse.py,sha256=ozP8PBgIsqdknK8cEtlYA3KusKnJzbjfAUKhcFv_eFk,4054
|
40
40
|
encommon/times/test/test_timer.py,sha256=A5pBmkd1i71LTpG-uA9-9UGNJUK8tkw6by8Adm0AbGE,1400
|
41
|
-
encommon/times/test/test_timers.py,sha256=
|
41
|
+
encommon/times/test/test_timers.py,sha256=Kj5AgzNTCNb2vEep2zpTED6JpJ_1S5j-Kt1Bm17zkdg,3761
|
42
42
|
encommon/times/test/test_times.py,sha256=vxEtXI9gYFlWnBLsyPyi17a96MJzgcI79SCy8U1Co8I,1748
|
43
43
|
encommon/times/test/test_utils.py,sha256=WkzHJY6zOt02Ujg5FItOo1nPtktz5ss8ODmG1tRQaaw,2056
|
44
44
|
encommon/times/test/test_window.py,sha256=Sx_fd0J1ofaFx52t-uWz9Isa9KqBxPFnynzfGfiG7uo,6098
|
45
|
-
encommon/times/test/test_windows.py,sha256=
|
45
|
+
encommon/times/test/test_windows.py,sha256=YJJ3-vN4bs2cGCUcGyo8-w4mQlt7fxuek17xCpvZRE8,4484
|
46
46
|
encommon/types/__init__.py,sha256=L1pdigJyPNPEoAkkbCHM9IhmFtU2GjFRxHMRTAnPqKk,667
|
47
47
|
encommon/types/dicts.py,sha256=lC2FmPzMEj9L73jUjf3o6OVQ-LqK_3gp5nBwYibdGfo,2265
|
48
48
|
encommon/types/empty.py,sha256=n5y5maXkcM3xNYNYGK6iqvk98ivQSeguaedwc0HoMv4,2739
|
@@ -66,8 +66,8 @@ encommon/utils/test/test_match.py,sha256=QagKpTFdRo23-Y55fSaJrSMpt5jIebScKbz0h8t
|
|
66
66
|
encommon/utils/test/test_paths.py,sha256=1yiZp5PCxljGk0J6fwIfWOUl-KWz40INybrwrN3JIog,1945
|
67
67
|
encommon/utils/test/test_sample.py,sha256=sHAeWOL1mchTGYGQaFK_A3Z28tThuULumm9kQebnIdk,1710
|
68
68
|
encommon/utils/test/test_stdout.py,sha256=TA7xQuFoPZUYW2l00e04MGp4P9gHkkVxVflvPlhpQXg,4878
|
69
|
-
encommon-0.
|
70
|
-
encommon-0.
|
71
|
-
encommon-0.
|
72
|
-
encommon-0.
|
73
|
-
encommon-0.
|
69
|
+
encommon-0.13.0.dist-info/LICENSE,sha256=otnXKCtMjPlbHs0wgZ_BWULrp3g_2dWQJ6icRk9nkgg,1071
|
70
|
+
encommon-0.13.0.dist-info/METADATA,sha256=9XTWkWe6bMT--XxWkuThAl8-eRh6wZV_JlL1Jkjas0I,3362
|
71
|
+
encommon-0.13.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
72
|
+
encommon-0.13.0.dist-info/top_level.txt,sha256=bP8q7-5tLDNm-3XPlqn_bDENfYNug5801H_xfz3BEAM,9
|
73
|
+
encommon-0.13.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|