ramifice 0.3.28__py3-none-any.whl → 0.3.30__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.
- ramifice/commons/general.py +9 -9
- ramifice/commons/indexes.py +7 -7
- ramifice/commons/many.py +14 -14
- ramifice/commons/one.py +7 -7
- ramifice/commons/unit_manager.py +3 -5
- ramifice/fields/bool_field.py +2 -2
- ramifice/fields/choice_float_dyn_field.py +2 -2
- ramifice/fields/choice_float_field.py +2 -2
- ramifice/fields/choice_float_mult_dyn_field.py +2 -2
- ramifice/fields/choice_float_mult_field.py +2 -2
- ramifice/fields/choice_int_dyn_field.py +2 -2
- ramifice/fields/choice_int_field.py +2 -2
- ramifice/fields/choice_int_mult_dyn_field.py +2 -2
- ramifice/fields/choice_int_mult_field.py +2 -2
- ramifice/fields/choice_text_dyn_field.py +2 -2
- ramifice/fields/choice_text_field.py +2 -2
- ramifice/fields/choice_text_mult_dyn_field.py +2 -2
- ramifice/fields/choice_text_mult_field.py +2 -2
- ramifice/fields/color_field.py +3 -3
- ramifice/fields/date_field.py +2 -2
- ramifice/fields/date_time_field.py +2 -2
- ramifice/fields/email_field.py +2 -2
- ramifice/fields/file_field.py +2 -2
- ramifice/fields/float_field.py +2 -2
- ramifice/fields/id_field.py +2 -2
- ramifice/fields/image_field.py +2 -2
- ramifice/fields/integer_field.py +2 -2
- ramifice/fields/ip_field.py +2 -2
- ramifice/fields/password_field.py +2 -2
- ramifice/fields/phone_field.py +2 -2
- ramifice/fields/slug_field.py +2 -2
- ramifice/fields/text_field.py +2 -2
- ramifice/fields/url_field.py +2 -2
- ramifice/models/decorator.py +3 -3
- ramifice/models/model.py +1 -1
- ramifice/paladins/check.py +10 -10
- ramifice/paladins/delete.py +9 -9
- ramifice/paladins/groups/text_group.py +1 -1
- ramifice/paladins/password.py +9 -9
- ramifice/paladins/refrash.py +6 -6
- ramifice/paladins/save.py +15 -15
- ramifice/paladins/validation.py +4 -4
- ramifice/utils/{store.py → globals.py} +2 -4
- ramifice/utils/migration.py +16 -16
- ramifice/utils/tools.py +1 -1
- {ramifice-0.3.28.dist-info → ramifice-0.3.30.dist-info}/METADATA +1 -1
- ramifice-0.3.30.dist-info/RECORD +85 -0
- ramifice-0.3.28.dist-info/RECORD +0 -85
- {ramifice-0.3.28.dist-info → ramifice-0.3.30.dist-info}/WHEEL +0 -0
- {ramifice-0.3.28.dist-info → ramifice-0.3.30.dist-info}/licenses/LICENSE +0 -0
ramifice/utils/migration.py
CHANGED
@@ -12,7 +12,7 @@ from pymongo.asynchronous.collection import AsyncCollection
|
|
12
12
|
from termcolor import colored
|
13
13
|
|
14
14
|
from ..models.model import Model
|
15
|
-
from . import
|
15
|
+
from . import globals
|
16
16
|
from .errors import DoesNotMatchRegexError, NoModelsForMigrationError, PanicError
|
17
17
|
from .fixtures import apply_fixture
|
18
18
|
|
@@ -21,15 +21,15 @@ class Monitor:
|
|
21
21
|
"""Monitoring and updating database state for application."""
|
22
22
|
|
23
23
|
def __init__(self, database_name: str, mongo_client: AsyncMongoClient): # noqa: D107
|
24
|
-
|
24
|
+
globals.DEBUG = False
|
25
25
|
#
|
26
|
-
db_name_regex =
|
26
|
+
db_name_regex = globals.REGEX["database_name"]
|
27
27
|
if db_name_regex.match(database_name) is None:
|
28
28
|
raise DoesNotMatchRegexError("^[a-zA-Z][-_a-zA-Z0-9]{0,59}$")
|
29
29
|
#
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
globals.DATABASE_NAME = database_name
|
31
|
+
globals.MONGO_CLIENT = mongo_client
|
32
|
+
globals.MONGO_DATABASE = globals.MONGO_CLIENT[globals.DATABASE_NAME]
|
33
33
|
# Get Model list.
|
34
34
|
self.model_list: list[Any] = [
|
35
35
|
cls_model for cls_model in Model.__subclasses__() if cls_model.META["is_migrate_model"]
|
@@ -45,7 +45,7 @@ class Monitor:
|
|
45
45
|
"""
|
46
46
|
# Get access to super collection.
|
47
47
|
# (Contains Model state and dynamic field data.)
|
48
|
-
super_collection: AsyncCollection =
|
48
|
+
super_collection: AsyncCollection = globals.MONGO_DATABASE[globals.SUPER_COLLECTION_NAME]
|
49
49
|
# Switch the `is_model_exist` parameter in `False`.
|
50
50
|
async for model_state in super_collection.find():
|
51
51
|
q_filter = {"collection_name": model_state["collection_name"]}
|
@@ -56,7 +56,7 @@ class Monitor:
|
|
56
56
|
"""Get the state of the current model from a super collection."""
|
57
57
|
# Get access to super collection.
|
58
58
|
# (Contains Model state and dynamic field data.)
|
59
|
-
super_collection: AsyncCollection =
|
59
|
+
super_collection: AsyncCollection = globals.MONGO_DATABASE[globals.SUPER_COLLECTION_NAME]
|
60
60
|
# Get state of current Model.
|
61
61
|
model_state: dict[str, Any] | None = await super_collection.find_one(
|
62
62
|
{"collection_name": metadata["collection_name"]}
|
@@ -88,10 +88,10 @@ class Monitor:
|
|
88
88
|
delete collections associated with those Models.
|
89
89
|
""" # noqa: D205
|
90
90
|
# Get access to database.
|
91
|
-
database =
|
91
|
+
database = globals.MONGO_DATABASE
|
92
92
|
# Get access to super collection.
|
93
93
|
# (Contains Model state and dynamic field data.)
|
94
|
-
super_collection: AsyncCollection =
|
94
|
+
super_collection: AsyncCollection = globals.MONGO_DATABASE[globals.SUPER_COLLECTION_NAME]
|
95
95
|
# Delete data for non-existent Models.
|
96
96
|
async for model_state in super_collection.find():
|
97
97
|
if model_state["is_model_exist"] is False:
|
@@ -113,9 +113,9 @@ class Monitor:
|
|
113
113
|
# Switch the `is_model_exist` parameter in the condition `False`.
|
114
114
|
await self.reset()
|
115
115
|
# Get access to database.
|
116
|
-
database =
|
116
|
+
database = globals.MONGO_DATABASE
|
117
117
|
# Get access to super collection.
|
118
|
-
super_collection: AsyncCollection = database[
|
118
|
+
super_collection: AsyncCollection = database[globals.SUPER_COLLECTION_NAME]
|
119
119
|
#
|
120
120
|
for cls_model in self.model_list:
|
121
121
|
# Get metadata of current Model.
|
@@ -128,7 +128,7 @@ class Monitor:
|
|
128
128
|
# Get a list of new fields.
|
129
129
|
new_fields: list[str] = self.new_fields(metadata, model_state)
|
130
130
|
# Get collection for current Model.
|
131
|
-
model_collection: AsyncCollection = database[model_state["collection_name"]]
|
131
|
+
model_collection: AsyncCollection = database[model_state["collection_name"]]
|
132
132
|
# Add new fields with default value or
|
133
133
|
# update existing fields whose field type has changed.
|
134
134
|
async for mongo_doc in model_collection.find():
|
@@ -194,7 +194,7 @@ class Monitor:
|
|
194
194
|
)
|
195
195
|
#
|
196
196
|
# Block the verification code.
|
197
|
-
|
197
|
+
globals.DEBUG = False
|
198
198
|
#
|
199
199
|
# Delete data for non-existent Models from a
|
200
200
|
# super collection and delete collections associated with those Models.
|
@@ -206,8 +206,8 @@ class Monitor:
|
|
206
206
|
# Apply fixture to current Model.
|
207
207
|
fixture_name: str | None = cls_model.META["fixture_name"]
|
208
208
|
if fixture_name is not None:
|
209
|
-
collection: AsyncCollection =
|
210
|
-
cls_model.META["collection_name"]
|
209
|
+
collection: AsyncCollection = globals.MONGO_DATABASE[
|
210
|
+
cls_model.META["collection_name"]
|
211
211
|
]
|
212
212
|
if await collection.estimated_document_count() == 0:
|
213
213
|
await apply_fixture(
|
ramifice/utils/tools.py
CHANGED
@@ -0,0 +1,85 @@
|
|
1
|
+
ramifice/__init__.py,sha256=8B1FtacETazrqrcCpTuO1x1kx1N4pT25hQ3KhiTGsgg,729
|
2
|
+
ramifice/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
|
+
ramifice/commons/__init__.py,sha256=FTG78sTU0ay0rvmrq5fUmVjL-I-S7wgQq3BLcyqnjrQ,433
|
4
|
+
ramifice/commons/general.py,sha256=dy2GTpekLyshrNG68XV2dxNgwsS4QODtIcG-c6Xvalw,4298
|
5
|
+
ramifice/commons/indexes.py,sha256=hAcWKZ9MMgLbRtoQ6Af0b8r-PY0dbEYmMBl8z_d1DRo,3646
|
6
|
+
ramifice/commons/many.py,sha256=KGt7licVJmLADvyPtH7-GbXHig-EnGFbnk7QKu3mfvQ,8214
|
7
|
+
ramifice/commons/one.py,sha256=h9R-Ev-7h-xln4lp4SMJIIU9Cf9acqwjj4YYaML6uFg,5832
|
8
|
+
ramifice/commons/tools.py,sha256=v80Hf2O5NZ5xml4NFxINO9tZXrK4JQ9xC6xgZ9V3_tM,2002
|
9
|
+
ramifice/commons/unit_manager.py,sha256=IkWqXu1PHHal0aGfx6zme81iXPeygxPqEWO-u_8RXoI,4356
|
10
|
+
ramifice/fields/__init__.py,sha256=yRfX7Tvpuh27Ggcx5u9e1RRYK7Wu59EVJYxxetmuP1w,1290
|
11
|
+
ramifice/fields/bool_field.py,sha256=WWubSwsFJZu8b3MviDd2zXnNYOQaYw8toklFNSTVFLA,2072
|
12
|
+
ramifice/fields/choice_float_dyn_field.py,sha256=_QqZHJ9UDaKPWUlvzwAmf0BepKaA3AOhJWVsmajcqbM,3018
|
13
|
+
ramifice/fields/choice_float_field.py,sha256=xoeKVFyAB9Ns64DAEiRjXWBuY7tEECSr6sKApz1NOz4,3649
|
14
|
+
ramifice/fields/choice_float_mult_dyn_field.py,sha256=ERjg-eyZObT-ifMBdk78Ez04YlRz7kY_jhcS5QpEp0s,3081
|
15
|
+
ramifice/fields/choice_float_mult_field.py,sha256=5pUWsZ8Z7OBo85OlZxlyPGNfwjOAfbNpbjgjgodpXZ0,4206
|
16
|
+
ramifice/fields/choice_int_dyn_field.py,sha256=3Wu1alewYrQRPIbnXRrjsAp2E50xGK466x6YQbVQG7I,3012
|
17
|
+
ramifice/fields/choice_int_field.py,sha256=emmmygqEXwwHMc49cV8a4y8iX-jHbwxLxRGjg2e0hig,3637
|
18
|
+
ramifice/fields/choice_int_mult_dyn_field.py,sha256=olcebbGXz8ru8xZ1I1RwLdzIzYMUYBEInOerG_ci2k8,3077
|
19
|
+
ramifice/fields/choice_int_mult_field.py,sha256=r4KN12VD8XtftboCiYfN2M9bg3RmZe8mHj2_6agEo1g,4200
|
20
|
+
ramifice/fields/choice_text_dyn_field.py,sha256=M-Rkb4YyLjSmOBT8WE-fiNapQgk4uZnQMktVW6fMix4,3008
|
21
|
+
ramifice/fields/choice_text_field.py,sha256=jzWNow_nPPzLLdFYyhrMvNALp0fqWbccyB3pUwhrH7k,3842
|
22
|
+
ramifice/fields/choice_text_mult_dyn_field.py,sha256=5jch2i8fLn9Unkanm-zNA_0yegtTVsjcuJDg2TpzLRA,3073
|
23
|
+
ramifice/fields/choice_text_mult_field.py,sha256=wzYQlWQmwYtg4LhK8n-ycX3ijac5Q6vwRHqRgG7WQNs,4196
|
24
|
+
ramifice/fields/color_field.py,sha256=NdYey3Og8hh7oK7yDljrG6K8frgqj4C2OTXFnJVAYFQ,3526
|
25
|
+
ramifice/fields/date_field.py,sha256=w875p6JwssKhEZJLBHmC8sE5wArn161rlQi0Zt-qEZo,5214
|
26
|
+
ramifice/fields/date_time_field.py,sha256=OGi-ED-Gm_AWGzczHA1qch59IuWy3KkVIJHQl3OlatU,5249
|
27
|
+
ramifice/fields/email_field.py,sha256=jEIcWi6glmpK3x3os-b-IFxlrwho4uS4uIamprtg2_M,3433
|
28
|
+
ramifice/fields/file_field.py,sha256=ZikmAleY7G8fU0hVxXWFVP_M8FX9JAOoyypSTYYs1CE,7928
|
29
|
+
ramifice/fields/float_field.py,sha256=o6rkcoYJB0Lyq4GkDxP3v4mUS-nKUgYCxNQkmgbTjlY,4585
|
30
|
+
ramifice/fields/id_field.py,sha256=1_K1pfjYO7mNDs5W2zUHOiB5Y5vw0g02TPoGiBC2IYY,4135
|
31
|
+
ramifice/fields/image_field.py,sha256=eyyKRGYK277feiNeNwzIlNJ1DQhBpg0FuuDPzZSxCw4,12305
|
32
|
+
ramifice/fields/integer_field.py,sha256=O-nddXEn7rkkqB-SgJxLPRTRHmPstrO-IfYiGR_ADe8,4561
|
33
|
+
ramifice/fields/ip_field.py,sha256=tsxdwKd-MhkhnE1F2FmFg67jwh9Q-RvXECv1aG8PitE,3342
|
34
|
+
ramifice/fields/password_field.py,sha256=m3n_qJRRHCtgyBC7nDB0dYBO_82Lp1Ws48d1_jxHA8o,3216
|
35
|
+
ramifice/fields/phone_field.py,sha256=5qZ_rR82M9cuW7Dv-D5d9jDaw7DJp9y60lRB4GEmi4w,3615
|
36
|
+
ramifice/fields/slug_field.py,sha256=9rH1VdxYPoK60QCKHRB91bA3ZmIeIuFmf6WttzB1yTI,2685
|
37
|
+
ramifice/fields/text_field.py,sha256=sihbdO425xYrIY4yAUGtZT4yShJ8OKM0OfhCupTSA2o,4001
|
38
|
+
ramifice/fields/url_field.py,sha256=DTy4B22juav9dzIrqKy3NzM2vuICHvDzIDbzkkyF1C0,3993
|
39
|
+
ramifice/fields/general/__init__.py,sha256=5OE0TwPQjvpB3lBPuEwKrhjR_1ehOWxB98OJP_n32MA,20
|
40
|
+
ramifice/fields/general/choice_group.py,sha256=TBJblwH8mB71wd1z2jcSs28H-zx3JZVBfkk4YCE1-pI,916
|
41
|
+
ramifice/fields/general/date_group.py,sha256=RKockc_X1bYAbpzxTzXdc0kxgx51MK0bjko_j34ixWU,1169
|
42
|
+
ramifice/fields/general/field.py,sha256=Iwjx0idIUIFwcQw4TQEqejKct1EGaaJv1zZ1poSW8lo,1338
|
43
|
+
ramifice/fields/general/file_group.py,sha256=n45KfPzFI_l5hXoKkPDG0Q-0mdC2obExV-3PJ-MN5tA,1071
|
44
|
+
ramifice/fields/general/number_group.py,sha256=AqlCY-t6JHZ2QVBe7mk5nPt6z8M4VJ_RARRlSBoIxms,715
|
45
|
+
ramifice/fields/general/text_group.py,sha256=gP6mUGXr-LTI1UegqgEMQ-5vtUJuJs0wDYKVkknW_5E,873
|
46
|
+
ramifice/models/__init__.py,sha256=h_QQ5rSJNZ-7kmx7wIFd8E8RmUS94b_x4jdwMbq8zm4,15
|
47
|
+
ramifice/models/decorator.py,sha256=jOEn-0v0m_tM7mow45-tM-8LADUmwlG2DWZsEuC9S_w,6834
|
48
|
+
ramifice/models/model.py,sha256=6iD4c6Rk9Y5SFXnKNULWk7PlgVfzU_i4arF6SX6nysg,6495
|
49
|
+
ramifice/models/pseudo.py,sha256=PhLQM4zXdaOtTSmNFzwN4twlUmdvA1D_-YOMJtaOIwM,6754
|
50
|
+
ramifice/paladins/__init__.py,sha256=PIP3AXI2KBRXNcLJUF0d7ygJ7VLOAxlhb4HRKQ9MGYY,516
|
51
|
+
ramifice/paladins/check.py,sha256=6ywXXQLfX7GR2I1M7ka71J82v770JJ9GhPN0bVfsw5Y,6747
|
52
|
+
ramifice/paladins/delete.py,sha256=tw50E98D5eFZ7gHGnh_8ztUB1LeTeWWKZvIcQqlgbF8,3352
|
53
|
+
ramifice/paladins/password.py,sha256=w1XWh3bsncH1VTVjCLxyKI2waxMvltwcsPWW3V9Ib84,3027
|
54
|
+
ramifice/paladins/refrash.py,sha256=fw-9x_NKGzreipBt_F9KF6FTsYm9hSzfq4ubi1FHYrQ,1065
|
55
|
+
ramifice/paladins/save.py,sha256=EG0_v-imCQPax2pJIAXPoQcSL99g8abY2EeGJMvXBW4,3864
|
56
|
+
ramifice/paladins/tools.py,sha256=SrYeZJ0A8yahosvxNXGoPUM3Af9xeyggEQVoSvn6rSI,2044
|
57
|
+
ramifice/paladins/validation.py,sha256=gcEJXIEPu1g7Z54vl14YTs5rCmxOEYsgQH1usFfyy7k,1730
|
58
|
+
ramifice/paladins/groups/__init__.py,sha256=hpqmWLsYAMvZHAbmMXluQSqLhkHOSTUAgLHyTM1LTYI,472
|
59
|
+
ramifice/paladins/groups/bool_group.py,sha256=oJc9mw9KGrnK_Pj7uXixYYQAJphcXLr_xSQv3PMUlcU,792
|
60
|
+
ramifice/paladins/groups/choice_group.py,sha256=VcoPrTHTu9rcY4k6-dWHqBDE2zOHEIoLIKjG6-9dSps,1728
|
61
|
+
ramifice/paladins/groups/date_group.py,sha256=B9usKKrHX16F1ckik60Xkub1tawgNENSHTk5Rt-K96k,3741
|
62
|
+
ramifice/paladins/groups/file_group.py,sha256=-xgtrLOTlKXc71Mnbu3I_LbYnTEd8OprnhtYcJbaDtg,2932
|
63
|
+
ramifice/paladins/groups/id_group.py,sha256=q5BeoM1e7mZmX0zVgemva9K-9ihJKBrX8kxvMh-uhhQ,1268
|
64
|
+
ramifice/paladins/groups/img_group.py,sha256=RoD_QnW0F0DAzrGQmRi8jMZnWy2IomlFn6A5jTM02iA,5542
|
65
|
+
ramifice/paladins/groups/num_group.py,sha256=FHT9D2S3TsxdMypqoBgZsIzlaLY0KjXdPYqB95vvTRI,2229
|
66
|
+
ramifice/paladins/groups/pass_group.py,sha256=YU5a-NwohEutoEx2N5JmGfg8uPiYiW0XJ8XYsOih6eA,1859
|
67
|
+
ramifice/paladins/groups/slug_group.py,sha256=o-lr1ssfhTcBovlS6pWA2TQdg1qI6tlDjZ2iKkz-584,2191
|
68
|
+
ramifice/paladins/groups/text_group.py,sha256=tmuzW2YWgUvRCCUxGZMm7dErC7gw3kBUZrdq5QkLE4o,3136
|
69
|
+
ramifice/utils/__init__.py,sha256=xixHoOX4ja5jIUZemem1qn4k4aonv3G3Q76azQK_pkU,43
|
70
|
+
ramifice/utils/errors.py,sha256=iuhq7fzpUmsOyeXeg2fJjta8yAuqlXLKsZVMpfUhtHE,1901
|
71
|
+
ramifice/utils/fixtures.py,sha256=NtxOnZslYJb4yvRpZbs3ckugmTwHQFS_9iCt2zddOC0,3102
|
72
|
+
ramifice/utils/globals.py,sha256=uR20um3Qg_1SG1t7WyWbpq8kQD-9Mslyr_c1yh5Hw9w,1751
|
73
|
+
ramifice/utils/migration.py,sha256=LON53a8oBpjc9ox-FzqBEGsAWnqW8t-CWBkRC7BbwxI,11022
|
74
|
+
ramifice/utils/tools.py,sha256=sOKzwnvf6vdTNf9r6PKAdw6aB4undat2Z8tzS3M1GnQ,2733
|
75
|
+
ramifice/utils/translations.py,sha256=GNGE0ULAA0aOY5pTxUd3MQW-nVaKvp6BeXWEcsR0s0o,4048
|
76
|
+
ramifice/utils/unit.py,sha256=qJ2SpClsFcMRcwB_ZA-QlrB5T9OinCBiWx5KqQ9vH_A,2266
|
77
|
+
ramifice/utils/mixins/__init__.py,sha256=-UxYokZSlEaqoIs0aPVGtzK2CgN88mTzyhryHEtt0Yo,181
|
78
|
+
ramifice/utils/mixins/add_valid.py,sha256=TLOObedzXNA9eCylfAVbVCqIKE5sV-P5AdIN7avj-GA,407
|
79
|
+
ramifice/utils/mixins/hooks.py,sha256=33jvJRhfnJeL2Hd_YFXk3M_7wjqHaByU2wRjKyboL6s,914
|
80
|
+
ramifice/utils/mixins/indexing.py,sha256=Z0427HoaVRyNmSNN8Fx0mSICgAKV-gDdu3iR5qYUEbs,329
|
81
|
+
ramifice/utils/mixins/json_converter.py,sha256=WhigXyDAV-FfILaZuwvRFRIk0D90Rv3dG5t-mv5fVyc,1107
|
82
|
+
ramifice-0.3.30.dist-info/METADATA,sha256=LW96_DyC4OMVHMorgTAPR5SmbT6-2guMvdNST7US2KY,20695
|
83
|
+
ramifice-0.3.30.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
84
|
+
ramifice-0.3.30.dist-info/licenses/LICENSE,sha256=LrEL0aTZx90HDwFUQCJutORiDjJL9AnuVvCtspXIqt4,1095
|
85
|
+
ramifice-0.3.30.dist-info/RECORD,,
|
ramifice-0.3.28.dist-info/RECORD
DELETED
@@ -1,85 +0,0 @@
|
|
1
|
-
ramifice/__init__.py,sha256=8B1FtacETazrqrcCpTuO1x1kx1N4pT25hQ3KhiTGsgg,729
|
2
|
-
ramifice/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
|
-
ramifice/commons/__init__.py,sha256=FTG78sTU0ay0rvmrq5fUmVjL-I-S7wgQq3BLcyqnjrQ,433
|
4
|
-
ramifice/commons/general.py,sha256=cgpxcFiUcjF6ygIEOd9bODVALbDrTmKxxW_73QD4RXo,4576
|
5
|
-
ramifice/commons/indexes.py,sha256=rQ7nz2_4CVQZfVsfKgOlj7WncN3XeOy1MaEmML7XhiE,3854
|
6
|
-
ramifice/commons/many.py,sha256=MxhJz9hBYe3WVda1vMTOdGu4WP9AszG6jR9-2_Koy00,8622
|
7
|
-
ramifice/commons/one.py,sha256=TCPqsOTQG3NTiYys0rrN9OGqybOwBz6920SWJJU6EHY,5956
|
8
|
-
ramifice/commons/tools.py,sha256=v80Hf2O5NZ5xml4NFxINO9tZXrK4JQ9xC6xgZ9V3_tM,2002
|
9
|
-
ramifice/commons/unit_manager.py,sha256=6kerzTL0ymLfXioVitWTIoYz8Byk0Ax6P-lkjzUA_jI,4418
|
10
|
-
ramifice/fields/__init__.py,sha256=yRfX7Tvpuh27Ggcx5u9e1RRYK7Wu59EVJYxxetmuP1w,1290
|
11
|
-
ramifice/fields/bool_field.py,sha256=Y3pvquB2KJRc7S3nV9TqYW9AcAPe5cioVQgW_b95Q3Q,2068
|
12
|
-
ramifice/fields/choice_float_dyn_field.py,sha256=Vt1zfvEJehpJs9iYjriK89qLot8IKL1jY-AfX-Xnl5A,3014
|
13
|
-
ramifice/fields/choice_float_field.py,sha256=3OfVl9VQNbA5-DBFUQ3JgUeGRfpeLutxzTCAHgfgvnU,3645
|
14
|
-
ramifice/fields/choice_float_mult_dyn_field.py,sha256=HIq_GwWPeCsf4Jf9j-Vs-YUWHvZ4nQTYFFwdS18MNLg,3077
|
15
|
-
ramifice/fields/choice_float_mult_field.py,sha256=Ov8cjL4PKdctinNjDQ06eCFRCZreRtJlwM8E_zWVEyE,4202
|
16
|
-
ramifice/fields/choice_int_dyn_field.py,sha256=5mlUBQqoa5FVkY7T4BaFOAY2OKsBoXbjC0zl8lnjaO0,3008
|
17
|
-
ramifice/fields/choice_int_field.py,sha256=9N1mvcuic4hNPed3vPAgy1ucJlP9usY_pUJqpfAYU_4,3633
|
18
|
-
ramifice/fields/choice_int_mult_dyn_field.py,sha256=j24sCMdmNO8s7nkRWDDGZPj6aN-YOqCTahcDmZkuKJQ,3073
|
19
|
-
ramifice/fields/choice_int_mult_field.py,sha256=dwc9SEUAizmjwkIjW4giME6G6caP3QCOQ3I3Xsbq7Rg,4196
|
20
|
-
ramifice/fields/choice_text_dyn_field.py,sha256=WveIJ7BJp0LXfVLmi8iKIhF9q9igz58tVTMqCENCnbk,3004
|
21
|
-
ramifice/fields/choice_text_field.py,sha256=9w4JGCE1fUBRKZKW-4ZwCjCu3V7sVu8fzPtI5Q6sK_I,3838
|
22
|
-
ramifice/fields/choice_text_mult_dyn_field.py,sha256=bxHrMoxsT10ZAcPTH9qoPd2lio3CC-P6dHChhcldNWE,3069
|
23
|
-
ramifice/fields/choice_text_mult_field.py,sha256=Cag8p4rxdDP7XfrRQxQxAZKVjrXrm_Am2_uZSwSA8Qg,4192
|
24
|
-
ramifice/fields/color_field.py,sha256=DBkXjPphSRV2hHblExj5f3EWqLOLkqdm2a1pk4R_HT8,3520
|
25
|
-
ramifice/fields/date_field.py,sha256=HWj6PFiEVpwzyVckBcMLay8QxWLHP3L6d-RPTjrCM0g,5210
|
26
|
-
ramifice/fields/date_time_field.py,sha256=c8pj-Y6LL1EOiR7v7leo7Kbx5tGhEqh5FHlRe3gYn18,5245
|
27
|
-
ramifice/fields/email_field.py,sha256=fHqJj8SOc-kfke6AFWRkhJlpZiOuns5okSW4iF8huC4,3429
|
28
|
-
ramifice/fields/file_field.py,sha256=frb_NzBE-f27q9L-hayH2Pqbi040-pFeUMrHl7ZjW2U,7924
|
29
|
-
ramifice/fields/float_field.py,sha256=LUonvzOJ7EgBjOzN173rOaFpyFOQkxaFmyhPFrt69Gk,4581
|
30
|
-
ramifice/fields/id_field.py,sha256=fLEa_kL825fEJDLh_xSaShoqWBF01eKTFpVD2YSVQPk,4131
|
31
|
-
ramifice/fields/image_field.py,sha256=C5E2EYrpZNGrWFO99v7PlTWmWECLzra90s9JLp8AXzk,12301
|
32
|
-
ramifice/fields/integer_field.py,sha256=ISMRG-WlTKAeEghHp_J47nr5ch-1hYSGBYooKfPOPu8,4557
|
33
|
-
ramifice/fields/ip_field.py,sha256=m1tZHQ9VK61JLj05LIiv9hSJNG35uN_9ZNJCfH4g4ks,3338
|
34
|
-
ramifice/fields/password_field.py,sha256=Y6UW7rsjdFFTcJq1cx9o8fKjhnu3CiHxGgm_av2Vpps,3212
|
35
|
-
ramifice/fields/phone_field.py,sha256=ExtX766eG2tPHy_KeVIZ3vWhm-cbTA-KrIqyhxNjYg0,3611
|
36
|
-
ramifice/fields/slug_field.py,sha256=HPdkcuSxPZhyyNRso5t0jyEr8CvO14a2zIs0ddzqO4I,2681
|
37
|
-
ramifice/fields/text_field.py,sha256=o_GefkAGXzGVgKt0y85DiIb80JvteRPjia-wMBbM9r8,3997
|
38
|
-
ramifice/fields/url_field.py,sha256=U-I14llZLJeXVPR2T1e4FRNI8eNneZkwfDFIgN6NCuI,3989
|
39
|
-
ramifice/fields/general/__init__.py,sha256=5OE0TwPQjvpB3lBPuEwKrhjR_1ehOWxB98OJP_n32MA,20
|
40
|
-
ramifice/fields/general/choice_group.py,sha256=TBJblwH8mB71wd1z2jcSs28H-zx3JZVBfkk4YCE1-pI,916
|
41
|
-
ramifice/fields/general/date_group.py,sha256=RKockc_X1bYAbpzxTzXdc0kxgx51MK0bjko_j34ixWU,1169
|
42
|
-
ramifice/fields/general/field.py,sha256=Iwjx0idIUIFwcQw4TQEqejKct1EGaaJv1zZ1poSW8lo,1338
|
43
|
-
ramifice/fields/general/file_group.py,sha256=n45KfPzFI_l5hXoKkPDG0Q-0mdC2obExV-3PJ-MN5tA,1071
|
44
|
-
ramifice/fields/general/number_group.py,sha256=AqlCY-t6JHZ2QVBe7mk5nPt6z8M4VJ_RARRlSBoIxms,715
|
45
|
-
ramifice/fields/general/text_group.py,sha256=gP6mUGXr-LTI1UegqgEMQ-5vtUJuJs0wDYKVkknW_5E,873
|
46
|
-
ramifice/models/__init__.py,sha256=h_QQ5rSJNZ-7kmx7wIFd8E8RmUS94b_x4jdwMbq8zm4,15
|
47
|
-
ramifice/models/decorator.py,sha256=GqIeUx8uiqX-FAzH5XBgR38z6CaerUMqCxalwEkeLHM,6892
|
48
|
-
ramifice/models/model.py,sha256=tNXVnZ-JrDl8PeLjNsqcKjx8HSkWAGo2lXhMN4Wogmc,6525
|
49
|
-
ramifice/models/pseudo.py,sha256=PhLQM4zXdaOtTSmNFzwN4twlUmdvA1D_-YOMJtaOIwM,6754
|
50
|
-
ramifice/paladins/__init__.py,sha256=PIP3AXI2KBRXNcLJUF0d7ygJ7VLOAxlhb4HRKQ9MGYY,516
|
51
|
-
ramifice/paladins/check.py,sha256=e7rv-dnzZ-VlCwm2HzNj7WRMhuBXaso2JmdsN83bIUs,7020
|
52
|
-
ramifice/paladins/delete.py,sha256=LOPuoo4pEOoDm0iDVngRM5b8gWBo5R0sce7JXacUJ-Q,3595
|
53
|
-
ramifice/paladins/password.py,sha256=KHqy0Zpn5EhY-hf15EzdOi-3NRwKeLPqJxrVNLd5tbE,3275
|
54
|
-
ramifice/paladins/refrash.py,sha256=quxlIYrysAWeG-3NB4lRMSvLkQ08sYEQvkB9WcdxvQA,1218
|
55
|
-
ramifice/paladins/save.py,sha256=YiD-uqDbZ5o_jKZfAtp7i_IMK1J-sS6v6F5vOe5Q7YA,4287
|
56
|
-
ramifice/paladins/tools.py,sha256=SrYeZJ0A8yahosvxNXGoPUM3Af9xeyggEQVoSvn6rSI,2044
|
57
|
-
ramifice/paladins/validation.py,sha256=7lFDWjokUwMwVxWAVgd_GlWGpF4mukxIVpxvpdyA19A,1850
|
58
|
-
ramifice/paladins/groups/__init__.py,sha256=hpqmWLsYAMvZHAbmMXluQSqLhkHOSTUAgLHyTM1LTYI,472
|
59
|
-
ramifice/paladins/groups/bool_group.py,sha256=oJc9mw9KGrnK_Pj7uXixYYQAJphcXLr_xSQv3PMUlcU,792
|
60
|
-
ramifice/paladins/groups/choice_group.py,sha256=VcoPrTHTu9rcY4k6-dWHqBDE2zOHEIoLIKjG6-9dSps,1728
|
61
|
-
ramifice/paladins/groups/date_group.py,sha256=B9usKKrHX16F1ckik60Xkub1tawgNENSHTk5Rt-K96k,3741
|
62
|
-
ramifice/paladins/groups/file_group.py,sha256=-xgtrLOTlKXc71Mnbu3I_LbYnTEd8OprnhtYcJbaDtg,2932
|
63
|
-
ramifice/paladins/groups/id_group.py,sha256=q5BeoM1e7mZmX0zVgemva9K-9ihJKBrX8kxvMh-uhhQ,1268
|
64
|
-
ramifice/paladins/groups/img_group.py,sha256=RoD_QnW0F0DAzrGQmRi8jMZnWy2IomlFn6A5jTM02iA,5542
|
65
|
-
ramifice/paladins/groups/num_group.py,sha256=FHT9D2S3TsxdMypqoBgZsIzlaLY0KjXdPYqB95vvTRI,2229
|
66
|
-
ramifice/paladins/groups/pass_group.py,sha256=YU5a-NwohEutoEx2N5JmGfg8uPiYiW0XJ8XYsOih6eA,1859
|
67
|
-
ramifice/paladins/groups/slug_group.py,sha256=o-lr1ssfhTcBovlS6pWA2TQdg1qI6tlDjZ2iKkz-584,2191
|
68
|
-
ramifice/paladins/groups/text_group.py,sha256=C1ljhuRvNdoLuF1sRQ8Qy95B0qXFFLSM5qcv5ifOf9E,3166
|
69
|
-
ramifice/utils/__init__.py,sha256=xixHoOX4ja5jIUZemem1qn4k4aonv3G3Q76azQK_pkU,43
|
70
|
-
ramifice/utils/errors.py,sha256=iuhq7fzpUmsOyeXeg2fJjta8yAuqlXLKsZVMpfUhtHE,1901
|
71
|
-
ramifice/utils/fixtures.py,sha256=NtxOnZslYJb4yvRpZbs3ckugmTwHQFS_9iCt2zddOC0,3102
|
72
|
-
ramifice/utils/migration.py,sha256=lrbOZDcbWgafCn6zf0XfPTfx2ez1O8DxBDhbwLvcwyE,11122
|
73
|
-
ramifice/utils/store.py,sha256=MpDEPvUvbs11FXjakNtHPm9MekIv5p1U3as2Y80lTyc,1860
|
74
|
-
ramifice/utils/tools.py,sha256=NX4mtXBi6H3UNlYcTMdlfltJ0MikTPa7kpB3F0qmUpM,2731
|
75
|
-
ramifice/utils/translations.py,sha256=GNGE0ULAA0aOY5pTxUd3MQW-nVaKvp6BeXWEcsR0s0o,4048
|
76
|
-
ramifice/utils/unit.py,sha256=qJ2SpClsFcMRcwB_ZA-QlrB5T9OinCBiWx5KqQ9vH_A,2266
|
77
|
-
ramifice/utils/mixins/__init__.py,sha256=-UxYokZSlEaqoIs0aPVGtzK2CgN88mTzyhryHEtt0Yo,181
|
78
|
-
ramifice/utils/mixins/add_valid.py,sha256=TLOObedzXNA9eCylfAVbVCqIKE5sV-P5AdIN7avj-GA,407
|
79
|
-
ramifice/utils/mixins/hooks.py,sha256=33jvJRhfnJeL2Hd_YFXk3M_7wjqHaByU2wRjKyboL6s,914
|
80
|
-
ramifice/utils/mixins/indexing.py,sha256=Z0427HoaVRyNmSNN8Fx0mSICgAKV-gDdu3iR5qYUEbs,329
|
81
|
-
ramifice/utils/mixins/json_converter.py,sha256=WhigXyDAV-FfILaZuwvRFRIk0D90Rv3dG5t-mv5fVyc,1107
|
82
|
-
ramifice-0.3.28.dist-info/METADATA,sha256=hmHFwmfXLE4hZqII68_OGO3l0RI6MlLMLgRTvQqDdiA,20695
|
83
|
-
ramifice-0.3.28.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
84
|
-
ramifice-0.3.28.dist-info/licenses/LICENSE,sha256=LrEL0aTZx90HDwFUQCJutORiDjJL9AnuVvCtspXIqt4,1095
|
85
|
-
ramifice-0.3.28.dist-info/RECORD,,
|
File without changes
|
File without changes
|