sysnet-pyutils 1.1.1__py3-none-any.whl → 1.1.3__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.
- sysnet_pyutils/models/general.py +17 -6
- {sysnet_pyutils-1.1.1.dist-info → sysnet_pyutils-1.1.3.dist-info}/METADATA +8 -2
- {sysnet_pyutils-1.1.1.dist-info → sysnet_pyutils-1.1.3.dist-info}/RECORD +6 -6
- {sysnet_pyutils-1.1.1.dist-info → sysnet_pyutils-1.1.3.dist-info}/LICENSE +0 -0
- {sysnet_pyutils-1.1.1.dist-info → sysnet_pyutils-1.1.3.dist-info}/WHEEL +0 -0
- {sysnet_pyutils-1.1.1.dist-info → sysnet_pyutils-1.1.3.dist-info}/top_level.txt +0 -0
sysnet_pyutils/models/general.py
CHANGED
@@ -6,6 +6,7 @@ from uuid import UUID
|
|
6
6
|
from pydantic import BaseModel, Field, EmailStr
|
7
7
|
|
8
8
|
from sysnet_pyutils.utils import local_now
|
9
|
+
from utils import is_valid_unid, is_valid_pid, is_valid_uuid
|
9
10
|
|
10
11
|
|
11
12
|
class ApiError(Exception):
|
@@ -236,20 +237,30 @@ class LocationType(BaseModel):
|
|
236
237
|
wgs: Optional[GeoPointType] = Field(default=None, description='WGS84')
|
237
238
|
jtsk: Optional[GeoPointJtskType] = Field(default=None, description='JTSK')
|
238
239
|
|
239
|
-
|
240
|
-
class PersonBaseType(BaseModel):
|
241
|
-
# Osoba z Registru osob
|
242
|
-
unid: Optional[str] = Field(default=None, description='Domino universal ID', examples=['3005277CB984B7FFC12587890060E2BF'])
|
243
|
-
pid: Optional[str] = Field(default=None, description='Unique identifier', examples=['MBOA7HNBDJTR'])
|
244
|
-
uuid: Optional[UUID] = Field(default=None, description='Unique identifier')
|
240
|
+
class PersonCoreType(BaseModel):
|
245
241
|
ico: Optional[str] = Field(default=None, description='IČO osoby')
|
246
242
|
name: Optional[str] = Field(default=None, description='Název osoby', examples=['B.A.R. Reptofilia'])
|
247
243
|
email: Optional[EmailStr] = Field(default=None, description='Email osoby')
|
248
244
|
address: Optional[str] = Field(default=None, description='Adresa osoby', examples=['Ulice Závodu Míru 2\n87423 Otrokovice'])
|
249
245
|
country: Optional[CodeValueType] = Field(default=None, description='Země adresy osoby')
|
246
|
+
|
247
|
+
class PersonBaseType(PersonCoreType):
|
248
|
+
# Osoba z Registru osob
|
249
|
+
identifier: Optional[str] = Field(default=None, description='Hlavní jednoznačný identifikátor')
|
250
|
+
unid: Optional[str] = Field(default=None, description='Domino universal ID', examples=['3005277CB984B7FFC12587890060E2BF'])
|
251
|
+
pid: Optional[str] = Field(default=None, description='Unique identifier', examples=['MBOA7HNBDJTR'])
|
252
|
+
uuid: Optional[UUID] = Field(default=None, description='Unique identifier (UUID)')
|
250
253
|
main_person: Optional[LinkedType] = Field(default=None, description='Odkaz na hlavní osobu do registru')
|
251
254
|
linked_persons: Optional[list[LinkedType]] = Field(default=None, description='Odkaz na další osoby do registru')
|
252
255
|
|
256
|
+
def make_identifier(self) -> Optional[str]:
|
257
|
+
if is_valid_unid(self.unid):
|
258
|
+
self.identifier = self.unid
|
259
|
+
if is_valid_pid(self.pid):
|
260
|
+
self.identifier = self.pid
|
261
|
+
if is_valid_uuid(self.uuid):
|
262
|
+
self.identifier = str(self.uuid)
|
263
|
+
return self.identifier
|
253
264
|
|
254
265
|
class WorkflowType(BaseModel):
|
255
266
|
# Položka životního cyklu
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: sysnet-pyutils
|
3
|
-
Version: 1.1.
|
3
|
+
Version: 1.1.3
|
4
4
|
Summary: Python Utilities
|
5
5
|
Author-email: Data Developer <info@sysnet.cz>
|
6
6
|
Project-URL: Homepage, https://github.com/SYSNET-CZ/pyutils
|
@@ -332,12 +332,18 @@ Kontrola validity emailové adresy
|
|
332
332
|
Datový slovník je vytvořen pomocí pydantic a je plně kompatibilní s FastAPI.
|
333
333
|
Obsahuje základní datové typy, které se používají ve všech aplikacích SYSNET.
|
334
334
|
|
335
|
+
--------------------------------------------------------------------------------------------------------------------------------
|
336
|
+
|
337
|
+
### verze 1.1.3
|
338
|
+
|
339
|
+
Třída **PersonBaseType** rozšířena o atribut **identifier** (hlavní identifikátor) a metodu **make_identifier()**,
|
340
|
+
která naplní atribut **identifier** z unid, pid nebo uuid.
|
335
341
|
|
336
342
|
|
337
343
|
## Systémové proměnné
|
338
344
|
|
339
345
|
* **TZ**: Časová zóna. Implicitně 'Europe/Prague'
|
340
|
-
* **DEBUG**: Debug mode.
|
346
|
+
* **DEBUG**: Debug mode. Implicitně `True`
|
341
347
|
* **LOG_FORMAT**: Formát logování. Implicitně `'%(asctime)s - %(levelname)s in %(module)s: %(message)s'`
|
342
348
|
* **LOG_DATE_FORMAT**: Formát data pro logování. Implicitně `'%d.%m.%Y %H:%M:%S'`
|
343
349
|
* **PID_PREFIX**: PID prefix. Implicitně `'SNT'`
|
@@ -9,9 +9,9 @@ sysnet_pyutils/ses.py,sha256=WJzs0y2QnF4XGDGjls_W0p0v6DJ4fZ4_97m3XbzpaFw,2713
|
|
9
9
|
sysnet_pyutils/tools.py,sha256=ZioHvUIufrhuJyZLdPnuMUD8Li5LTljSMSCxqRnKIi4,377
|
10
10
|
sysnet_pyutils/utils.py,sha256=Y95MyEuZlSlTVsQ2rOArdkTN7xqcGsCA7RA6VoBHSSk,23257
|
11
11
|
sysnet_pyutils/models/__init__.py,sha256=oozOr_DKhenkM9BDaPOmtbLXhP5vtMUCjBPEjZDW4GQ,167
|
12
|
-
sysnet_pyutils/models/general.py,sha256=
|
13
|
-
sysnet_pyutils-1.1.
|
14
|
-
sysnet_pyutils-1.1.
|
15
|
-
sysnet_pyutils-1.1.
|
16
|
-
sysnet_pyutils-1.1.
|
17
|
-
sysnet_pyutils-1.1.
|
12
|
+
sysnet_pyutils/models/general.py,sha256=pj8JJwjqJvakmWYYhQJ2DgF9JcnBIBAeDiuExq-Bb5Q,15228
|
13
|
+
sysnet_pyutils-1.1.3.dist-info/LICENSE,sha256=bx5iLIKjgAdYQ7sISn7DsfHRKkoCUm1154sJJKhgqnU,35184
|
14
|
+
sysnet_pyutils-1.1.3.dist-info/METADATA,sha256=RJLnd-qB1Vu9_1sFYo6xZ8OTO13cWOVZiq_T9c5Dz74,15083
|
15
|
+
sysnet_pyutils-1.1.3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
16
|
+
sysnet_pyutils-1.1.3.dist-info/top_level.txt,sha256=ZKTltQWbLlWBXw4oovo1w7ui-JQ1WoyECqMSWdBj6XE,15
|
17
|
+
sysnet_pyutils-1.1.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|