everysk-lib 1.10.4__cp312-cp312-macosx_11_0_arm64.whl → 1.11.0__cp312-cp312-macosx_11_0_arm64.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.
everysk/core/tests.py CHANGED
@@ -128,6 +128,25 @@ except ModuleNotFoundError as error:
128
128
  if not error.args[0].startswith("No module named 'requests'"):
129
129
  raise
130
130
 
131
+ ## Mapping Test Cases
132
+ from everysk.core._tests.mapping.base import BaseMappingTestCase as EveryskLibBaseMappingTestCase
133
+ from everysk.core._tests.mapping.fields import BaseMappingFieldTestCase as EveryskLibBaseMappingFieldTestCase
134
+ from everysk.core._tests.mapping.fields import BoolFieldTestCase as EveryskLibMappingBoolFieldTestCase
135
+ from everysk.core._tests.mapping.fields import ChoiceFieldTestCase as EveryskLibMappingChoiceFieldTestCase
136
+ from everysk.core._tests.mapping.fields import DateFieldTestCase as EveryskLibMappingDateFieldTestCase
137
+ from everysk.core._tests.mapping.fields import DateTimeFieldTestCase as EveryskLibMappingDateTimeFieldTestCase
138
+ from everysk.core._tests.mapping.fields import DictFieldTestCase as EveryskLibMappingDictFieldTestCase
139
+ from everysk.core._tests.mapping.fields import EmailFieldTestCase as EveryskLibMappingEmailFieldTestCase
140
+ from everysk.core._tests.mapping.fields import FloatFieldTestCase as EveryskLibMappingFloatFieldTestCase
141
+ from everysk.core._tests.mapping.fields import IntFieldTestCase as EveryskLibMappingIntFieldTestCase
142
+ from everysk.core._tests.mapping.fields import IteratorFieldTestCase as EveryskLibMappingIteratorFieldTestCase
143
+ from everysk.core._tests.mapping.fields import ListFieldTestCase as EveryskLibMappingListFieldTestCase
144
+ from everysk.core._tests.mapping.fields import RegexFieldTestCase as EveryskLibMappingRegexFieldTestCase
145
+ from everysk.core._tests.mapping.fields import SetFieldTestCase as EveryskLibMappingSetFieldTestCase
146
+ from everysk.core._tests.mapping.fields import StrFieldTestCase as EveryskLibMappingStrFieldTestCase
147
+ from everysk.core._tests.mapping.fields import TupleFieldTestCase as EveryskLibMappingTupleFieldTestCase
148
+ from everysk.core._tests.mapping.fields import URLFieldTestCase as EveryskLibMappingURLFieldTestCase
149
+
131
150
  ## Number Test Cases
132
151
  from everysk.core._tests.number import NumberTestCase as EveryskLibNumberTestCase
133
152
 
everysk/sql/connection.py CHANGED
@@ -31,6 +31,30 @@ def _log(message: str, extra: dict | None = None) -> None:
31
31
 
32
32
 
33
33
  class ConnectionPool(_ConnectionPool):
34
+ def _get_conn_info_log(self) -> dict:
35
+ """Get connection info for logging, masking sensitive data."""
36
+ params = Connection._get_connection_params(self.conninfo) # noqa: SLF001
37
+ # Remove password from logs
38
+ if 'password' in params:
39
+ params['password'] = '*********' # noqa: S105
40
+
41
+ return params
42
+
43
+ def _connect(self, timeout: float | None = None) -> Connection:
44
+ """
45
+ Establish a new database connection with error logging.
46
+
47
+ Args:
48
+ timeout (float | None, optional): Time to wait for the connection. Defaults to None.
49
+ """
50
+ try:
51
+ return super()._connect(timeout)
52
+ except Exception as error:
53
+ params = self._get_conn_info_log()
54
+ params['error'] = str(error)
55
+ log.error('Error connecting to PostgreSQL database.', extra={'labels': params})
56
+ raise
57
+
34
58
  def __del__(self) -> None:
35
59
  # To close the connections when the pool is deleted
36
60
  # https://everysk.atlassian.net/browse/COD-8885
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: everysk-lib
3
- Version: 1.10.4
3
+ Version: 1.11.0
4
4
  Summary: Generic lib to share python code on Everysk.
5
5
  License-Expression: LicenseRef-Proprietary
6
6
  Project-URL: Homepage, https://everysk.com/
@@ -1,9 +1,3 @@
1
- everysk_lib-1.10.4.dist-info/RECORD,,
2
- everysk_lib-1.10.4.dist-info/WHEEL,sha256=iJnd1I7544hDuiukhLhlzkU6DUXn6VY9bu6M4MvBWuI,137
3
- everysk_lib-1.10.4.dist-info/.gitignore,sha256=0A1r9HzLhR7IQ1rGPjbaW5HC6oIQ7xzVYZ1z1ZaVfmw,183
4
- everysk_lib-1.10.4.dist-info/top_level.txt,sha256=1s1Lfhd4gXolqzkh-ay3yy-EZKPiKnJfbZwx2fybxyk,14
5
- everysk_lib-1.10.4.dist-info/METADATA,sha256=aIzyKQQ3qdMSB_tZsZvUeddXe1yQDmoZjTcy6Po0G2w,13080
6
- everysk_lib-1.10.4.dist-info/licenses/LICENSE.txt,sha256=Q5YxWA62m0TsmpEmHeoRHg4oPu_8ektkZ3FWWm1pQWo,311
7
1
  everysk/config.py,sha256=PKwYhzgBUIQ2m_cS5muBRWssZa4I3B6D5Qa9eSqAu18,16653
8
2
  everysk/version.py,sha256=q8j2yDrdm4lEtGtOIt4tY4TUlctwQYJJcVqscDabikA,617
9
3
  everysk/_version.py,sha256=_OPcym8X5j0fiafJLlKp8ADhMP5pHKqD2YySbH9f1PY,24501
@@ -15,7 +9,7 @@ everysk/core/serialize.py,sha256=8P5C7V98tB9vAQBEdu0NqMt8lktsD-Ol5REpTG1vNlw,251
15
9
  everysk/core/signing.py,sha256=vImkFEiunqD-oO3e9Oi88z0x0jEEfO1lDIbC9RYxTn8,1956
16
10
  everysk/core/lists.py,sha256=Z8ED7r0w-Bl4hLlOVmBaaYdHOnCZvhaigxv9USzZcCQ,3317
17
11
  everysk/core/fields.py,sha256=I_CvDe0NKNW7zbYpy0Pf2ZLIetDl2p2XLxDmmGX7XHg,44209
18
- everysk/core/object.py,sha256=9XMSPDlgLtGTKJLVimRIND4a7U1e_rZrERJGZw2j_lQ,53924
12
+ everysk/core/object.py,sha256=J3pc6zN6TA4ELW0mRKgtZdFAPp34Ttq32yodZeGL1Pw,54597
19
13
  everysk/core/log.py,sha256=qFRW9bO6jaELwrJ0MIaEUm2-uYFIyTbH2bQ3j0XpPio,30239
20
14
  everysk/core/number.py,sha256=Al_9LLu7hj_4fTLPTiN3dzQvxctmMxB5i9I4Z4X5Lro,1204
21
15
  everysk/core/unittests.py,sha256=ujGqGHCUAI25P4UgwHn9GpZAMBdqZ-lxxGERrckthIM,3289
@@ -23,15 +17,22 @@ everysk/core/retry.py,sha256=wLU0fNKP7cNYKkYxMTjR--YFYM0ahXWP-39O_FObwfo,1897
23
17
  everysk/core/threads.py,sha256=CcL4Nv2Zzdxt1xjo0CbLSttSU29xHgSRiWF_JXr3GAA,7167
24
18
  everysk/core/redis.py,sha256=HrG58dc_3EHnti2sBaijcyN8Hq4u3p1zst6-CSK9ySQ,36664
25
19
  everysk/core/compress.py,sha256=TRk-ME_UYfD5OQyhISYvwAZLT7IYfjbqWHYEgOuyaFU,10858
26
- everysk/core/http.py,sha256=9aKkh-M3Sfsg0tZLK_BWnmyZ7AuBdACq4pgy_qZSrXI,27171
20
+ everysk/core/http.py,sha256=f9LEEQJvIc-9tVuZpp0S1g7fplsf8D53qa12tQr1HO0,27473
27
21
  everysk/core/undefined.py,sha256=RrL9QbUjxdDSmVIq08WG5uiY00DQE_n8yEuGaNp2tOU,2745
28
22
  everysk/core/exceptions.py,sha256=HTMKauc7vSeP77UqgPGw6rmwhEqWAKcGS0wk4oofgEY,14275
29
23
  everysk/core/sftp.py,sha256=01_iDxqhcAO3FFKUp-8myV7qtf3I-Mi_cLZ6KrAfsGw,15600
30
24
  everysk/core/string.py,sha256=K1BRlRNuhqlI7gdqOi40hjTHuxm1fF-RLqIAwm74eHc,5456
31
25
  everysk/core/workers.py,sha256=alPhC1hEhI-I1l1Vnt0OrpxPDfi7R-xodo_qjJRVHvk,9037
32
- everysk/core/tests.py,sha256=qrfAfUDmgCvBn99X73fL5MUTo1P33gq0ftP5CTJetCc,14491
26
+ everysk/core/tests.py,sha256=Jci1dEK4r58vDrCaoJLC80quNdJjta85fSgn9-mHCzg,16287
33
27
  everysk/core/slack.py,sha256=r9QH6RRe74Jz4-8XWLqbYq21msIlsVuC4fr_VUMFZPE,4394
34
28
  everysk/core/firestore.py,sha256=S5NWH9CS0by_Xk19UPX_455nM05Y-UG-rExgQDTf5zY,21567
29
+ everysk/core/mapping/fields.py,sha256=qCe_7V1VFC5EFxSUMGUFv_TgFBf5CZ0fF66bCQlbXxA,38901
30
+ everysk/core/mapping/__init__.py,sha256=es0wuQswqdV7zcI-L4tGUB3wgJSw9n5wo6HzuHq6jGM,831
31
+ everysk/core/mapping/metaclass.py,sha256=qMedxKZpJT6EA_HMZYxJY2tgYL2OHWjtW1alCLqjirs,4486
32
+ everysk/core/mapping/base.py,sha256=EqZ1iIigqLWqbPOmu92yxGJiOfy24pe49rl-3LodhTg,8161
33
+ everysk/core/_tests/mapping/fields.py,sha256=gSVDw_Mln90_IdHS9jLF9IfqutW6MPox1zC8TY1MNV4,46235
34
+ everysk/core/_tests/mapping/__init__.py,sha256=lXZAWXrI2tlzw9uvJyThaWnksZqdbemQ2tqe-e7wUiU,413
35
+ everysk/core/_tests/mapping/base.py,sha256=F1tn4aK7p8z8iSiAcx4Ved6gyQ-uYl18Pp9jxv1o7Gk,11234
35
36
  everysk/core/_tests/serialize/test_orjson.py,sha256=VSwkwv_omT4D_o38Ldnbw0Mj-hLYQfa0loEwYQ9C5q8,12415
36
37
  everysk/core/_tests/serialize/test_pickle.py,sha256=zMha6SBxUCPlnd6_kORpoRR22rgOx0oMlwLgtX3eVp8,1880
37
38
  everysk/core/_tests/serialize/test_json.py,sha256=zyTtL1pNoP_3MoHBGqkwGBOOCl9n79C34O4TytIc-tk,13279
@@ -39,7 +40,7 @@ everysk/core/datetime/__init__.py,sha256=l2kh9_5M3oe63nHgGhD1tHLkG99z_gTQCyx6dCA
39
40
  everysk/core/datetime/calendar.py,sha256=SBpLb-Lr1HPqJSQzXWxeT7FjwgU6S71y_PMdfYeozNw,4414
40
41
  everysk/core/datetime/date_expression.py,sha256=Vr69v6xEpFodRfZyJJ-NYo7ysoQGMbrvlYZmNDi_CkA,12970
41
42
  everysk/core/datetime/date_settings.py,sha256=WhN8YJFrgFmQeqpos3BQCnehpTkZ4VmZ03jqnrmuyms,977
42
- everysk/core/datetime/datetime.py,sha256=p2APDVo0qdNsa478dpsxl6nwc7-m3cYyiVZ5Zz16r98,30136
43
+ everysk/core/datetime/datetime.py,sha256=7v3ATyj82-rn-AyxA2xt9t6-CDOOvDudWk6JR8zEKvM,30130
43
44
  everysk/core/datetime/date.py,sha256=SjBAxi7Z46T1PI8J0hsYpLPlm2Aro4IdkXuUx6y39Ps,16843
44
45
  everysk/core/datetime/date_mixin.py,sha256=ID7AgYUfDMmrfa9naBxR-mmUNzrpuf3Hi_JGBIFESLA,65856
45
46
  everysk/core/cloud_function/tests.py,sha256=vSQEJtc7Qxvd1etGNVaPzXKrxm1CF6bkw1hBmc-6W-g,3745
@@ -132,6 +133,12 @@ everysk/sql/row_factory.py,sha256=FEtB4d12ACT3Bp6g2k_Ty2p2HpTkPoVqODUS1_kSXys,19
132
133
  everysk/sql/query.py,sha256=lHKLEBMQZl8KsNdPHSEuqHAMxPuJ0l161Qba9taQYsc,15265
133
134
  everysk/sql/__init__.py,sha256=lXZAWXrI2tlzw9uvJyThaWnksZqdbemQ2tqe-e7wUiU,413
134
135
  everysk/sql/model.py,sha256=syHHTTS4JRTj_2Mu9ugmMu4b6qUY12t3VgfE3hSxYIc,14559
135
- everysk/sql/connection.py,sha256=8_TGX9e7PfPDTZOELunENBVNPc8Tkz4AkBtqcXUVgqM,8938
136
+ everysk/sql/connection.py,sha256=FWbwsN2A6ddgdbG59Tmde6DpohLIZVS5f2KN8cwevGw,9845
136
137
  everysk/sql/utils.py,sha256=Hbk9INEcz12FoBeDvHh9qh0dTSmTCWAn_S1anJOJb1o,4327
137
138
  everysk/sql/settings.py,sha256=vBfQrs0iFwr4rLIJfc3HxjJY3JqW5ONMHAeYrPhlSaU,2307
139
+ everysk_lib-1.11.0.dist-info/RECORD,,
140
+ everysk_lib-1.11.0.dist-info/WHEEL,sha256=iJnd1I7544hDuiukhLhlzkU6DUXn6VY9bu6M4MvBWuI,137
141
+ everysk_lib-1.11.0.dist-info/.gitignore,sha256=0A1r9HzLhR7IQ1rGPjbaW5HC6oIQ7xzVYZ1z1ZaVfmw,183
142
+ everysk_lib-1.11.0.dist-info/top_level.txt,sha256=1s1Lfhd4gXolqzkh-ay3yy-EZKPiKnJfbZwx2fybxyk,14
143
+ everysk_lib-1.11.0.dist-info/METADATA,sha256=rGsCW9HutrIB54WsYU_1IcHkHc6P0pdLU5BTiAeXM-w,13080
144
+ everysk_lib-1.11.0.dist-info/licenses/LICENSE.txt,sha256=Q5YxWA62m0TsmpEmHeoRHg4oPu_8ektkZ3FWWm1pQWo,311