arpakitlib 1.8.199__py3-none-any.whl → 1.8.201__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.
@@ -25,7 +25,8 @@ class OperationMV(SimpleMV, model=OperationDBM):
25
25
  OperationDBM.error_data,
26
26
  OperationDBM.extra_data,
27
27
 
28
- "duration"
28
+ OperationDBM.duration.fget.__name__,
29
+ OperationDBM.duration_as_str.fget.__name__
29
30
  ]
30
31
  column_details_list = [
31
32
  OperationDBM.id,
@@ -42,7 +43,8 @@ class OperationMV(SimpleMV, model=OperationDBM):
42
43
  OperationDBM.error_data,
43
44
  OperationDBM.extra_data,
44
45
 
45
- "duration"
46
+ OperationDBM.duration.fget.__name__,
47
+ OperationDBM.duration_as_str.fget.__name__
46
48
  ]
47
49
  form_columns = [
48
50
  OperationDBM.slug,
@@ -0,0 +1,43 @@
1
+ from typing import Any, Type
2
+
3
+ from pydantic import BaseModel, create_model
4
+ from pydantic_core import PydanticUndefined
5
+
6
+
7
+ def clone_pydantic_model_fields(
8
+ *,
9
+ model_cls: Type[BaseModel],
10
+ fields_to_remove: set[str],
11
+ new_class_name: str | None = None,
12
+ ) -> Type[BaseModel]:
13
+ if new_class_name is None:
14
+ new_class_name = f"{model_cls.__name__}Cloned"
15
+
16
+ field_defs: dict[str, tuple[type[Any], Any]] = {}
17
+
18
+ for field_name, field_ in model_cls.model_fields.items():
19
+ if field_name in fields_to_remove:
20
+ continue
21
+
22
+ if field_.default_factory is not None and field_.default is PydanticUndefined:
23
+ default = field_
24
+ elif field_.default is not PydanticUndefined:
25
+ default = field_.default
26
+ else:
27
+ default = field_
28
+
29
+ field_defs[field_name] = ((field_.annotation or Any), default)
30
+
31
+ return create_model(
32
+ new_class_name,
33
+ __base__=BaseModel,
34
+ **field_defs,
35
+ )
36
+
37
+
38
+ def __example():
39
+ pass
40
+
41
+
42
+ if __name__ == '__main__':
43
+ __example()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.8.199
3
+ Version: 1.8.201
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
@@ -249,7 +249,7 @@ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/event.py,sha256=LjAUY
249
249
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/__init__.py,sha256=aKX6k2bEVvfXa9dATYts-sUoWgf4MV3H_PiiUceejr4,596
250
250
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py,sha256=VTpepKLCKrPnftGD-8Ibp75S0dwUrLlUytRfcXDDcKg,1597
251
251
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/common.py,sha256=U4KbXPAoyvgUB2BoPYUOPKLpHQLOdvZp-JdeVnC1MPY,5573
252
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py,sha256=WWUrY_TL0ANUfiDFAlU3GAvpYYUIUIKCDHr5ls6W4rg,3505
252
+ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py,sha256=B3Y3VGM0-3pm1Ib5CWbW3gKYgpMixIPKb4S3GksS314,3659
253
253
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py,sha256=KTyvMty9bozjnC0bSDoTtK1H4LTFfbX_MwqP72Ip5D0,2194
254
254
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py,sha256=AhK-2YocK1dM2wMxX_xF0qnsMiI5Pu0Arj5yfDe8Noo,2669
255
255
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py,sha256=pyeyDTg4rss8-67hIE3-SQlAvNfje6HazuaVnyFBpN8,2054
@@ -413,8 +413,9 @@ arpakitlib/ar_sqlalchemy_util.py,sha256=hiDh1GrFHmnqa6lJPMq4fb9m3_fs-eDKuRQzbFxI
413
413
  arpakitlib/ar_str_util.py,sha256=2lGpnXDf2h1cBZpVf5i1tX_HCv5iBd6IGnrCw4QWWlY,4350
414
414
  arpakitlib/ar_type_util.py,sha256=Cs_tef-Fc5xeyAF54KgISCsP11NHyzIsglm4S3Xx7iM,4049
415
415
  arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrIMsdpNK-AUlm0,5347
416
- arpakitlib-1.8.199.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
417
- arpakitlib-1.8.199.dist-info/METADATA,sha256=VAmw9Y3J0tKjISZxdwXsimwEXypbp0_Oy7poWe0ESvc,3741
418
- arpakitlib-1.8.199.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
419
- arpakitlib-1.8.199.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
420
- arpakitlib-1.8.199.dist-info/RECORD,,
416
+ arpakitlib/clone_pydantic_model_fields.py,sha256=breicLEvj9tMJxyZDM93P_Mi1WpSqkuHVBSNLB1PwVM,1072
417
+ arpakitlib-1.8.201.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
418
+ arpakitlib-1.8.201.dist-info/METADATA,sha256=4-wwzeEiw4Wc3oOAzfUKmecDRVpu-gzTahMI-P5j4r4,3741
419
+ arpakitlib-1.8.201.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
420
+ arpakitlib-1.8.201.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
421
+ arpakitlib-1.8.201.dist-info/RECORD,,