ramifice 0.4.0__py3-none-any.whl → 0.4.1__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/models/model.py CHANGED
@@ -45,6 +45,11 @@ class Model(metaclass=ABCMeta):
45
45
  self.fields()
46
46
  self.inject()
47
47
 
48
+ @property
49
+ def id(self) -> IDField:
50
+ """Getter for the field `_id`."""
51
+ return self._id
52
+
48
53
  @abstractmethod
49
54
  def fields(self) -> None:
50
55
  """For adding fields."""
@@ -84,7 +84,9 @@ class CheckMixin(
84
84
  "field_data": None,
85
85
  "full_model_name": cls_model.META["full_model_name"],
86
86
  "is_migrate_model": is_migrate_model,
87
- "mongo_doc": await collection.find_one({"_id": doc_id}) if is_save else None,
87
+ "curr_doc": (
88
+ await collection.find_one({"_id": doc_id}) if is_save and is_update else None
89
+ ),
88
90
  }
89
91
 
90
92
  # Run checking fields.
@@ -129,9 +131,7 @@ class CheckMixin(
129
131
  if not is_update:
130
132
  self._id.value = None
131
133
  # Delete orphaned files.
132
- curr_doc: dict[str, Any] | None = (
133
- await collection.find_one({"_id": doc_id}) if is_update else None
134
- )
134
+ curr_doc: dict[str, Any] | None = params["curr_doc"]
135
135
  for field_name, field_data in self.__dict__.items():
136
136
  if callable(field_data) or field_data.ignored:
137
137
  continue
@@ -32,7 +32,7 @@ class TextGroupMixin:
32
32
 
33
33
  if is_text_field:
34
34
  if not isinstance(value, (str, dict, type(None))):
35
- panic_type_error("str | None", params)
35
+ panic_type_error("str | dict | None", params)
36
36
  else:
37
37
  if not isinstance(value, (str, type(None))):
38
38
  panic_type_error("str | None", params)
@@ -80,9 +80,9 @@ class TextGroupMixin:
80
80
  # Insert result.
81
81
  if params["is_save"]:
82
82
  if is_text_field:
83
- mult_lang_text: dict[str, str] = {}
84
- if params["mongo_doc"] is not None:
85
- mult_lang_text = params["mongo_doc"][field.name]
83
+ mult_lang_text: dict[str, str] = (
84
+ params["curr_doc"][field.name] if params["is_update"] else {}
85
+ )
86
86
  if isinstance(value, dict):
87
87
  for lang, text in value.items():
88
88
  mult_lang_text[lang] = text
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ramifice
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: ORM-like API MongoDB for Python language.
5
5
  Project-URL: Homepage, https://github.com/kebasyaty/ramifice
6
6
  Project-URL: Documentation, https://kebasyaty.github.io/ramifice/
@@ -228,7 +228,7 @@ async def main():
228
228
  user.print_err()
229
229
 
230
230
  print("User details:")
231
- user_details = await User.find_one_to_raw_doc({"_id": user._id.value})
231
+ user_details = await User.find_one_to_raw_doc({"_id": user.id.value})
232
232
  pprint.pprint(user_details)
233
233
 
234
234
  # Remove User.
@@ -45,10 +45,10 @@ ramifice/fields/general/number_group.py,sha256=AqlCY-t6JHZ2QVBe7mk5nPt6z8M4VJ_RA
45
45
  ramifice/fields/general/text_group.py,sha256=6GD2Fe6Toz6zZjAAlcy5rPVCAGh6Yn1ltdIrFg9RF18,1057
46
46
  ramifice/models/__init__.py,sha256=h_QQ5rSJNZ-7kmx7wIFd8E8RmUS94b_x4jdwMbq8zm4,15
47
47
  ramifice/models/decorator.py,sha256=jOEn-0v0m_tM7mow45-tM-8LADUmwlG2DWZsEuC9S_w,6834
48
- ramifice/models/model.py,sha256=6iD4c6Rk9Y5SFXnKNULWk7PlgVfzU_i4arF6SX6nysg,6495
48
+ ramifice/models/model.py,sha256=ZvgIbcuSXuAkBl_FofOZXGwWMwlqKB-PwTMyXiqK-Fo,6610
49
49
  ramifice/models/pseudo.py,sha256=PhLQM4zXdaOtTSmNFzwN4twlUmdvA1D_-YOMJtaOIwM,6754
50
50
  ramifice/paladins/__init__.py,sha256=PIP3AXI2KBRXNcLJUF0d7ygJ7VLOAxlhb4HRKQ9MGYY,516
51
- ramifice/paladins/check.py,sha256=hz9uQtAarZG9P2I5bwVYgKn2Nk_BD2wB3yqEdD3w494,6838
51
+ ramifice/paladins/check.py,sha256=SdDC9cE4I_Pt9L9NTatEzNYtwpcCIy03yCJqi1O6qM8,6796
52
52
  ramifice/paladins/delete.py,sha256=tw50E98D5eFZ7gHGnh_8ztUB1LeTeWWKZvIcQqlgbF8,3352
53
53
  ramifice/paladins/password.py,sha256=w1XWh3bsncH1VTVjCLxyKI2waxMvltwcsPWW3V9Ib84,3027
54
54
  ramifice/paladins/refrash.py,sha256=fw-9x_NKGzreipBt_F9KF6FTsYm9hSzfq4ubi1FHYrQ,1065
@@ -65,7 +65,7 @@ ramifice/paladins/groups/img_group.py,sha256=RoD_QnW0F0DAzrGQmRi8jMZnWy2IomlFn6A
65
65
  ramifice/paladins/groups/num_group.py,sha256=FHT9D2S3TsxdMypqoBgZsIzlaLY0KjXdPYqB95vvTRI,2229
66
66
  ramifice/paladins/groups/pass_group.py,sha256=YU5a-NwohEutoEx2N5JmGfg8uPiYiW0XJ8XYsOih6eA,1859
67
67
  ramifice/paladins/groups/slug_group.py,sha256=o-lr1ssfhTcBovlS6pWA2TQdg1qI6tlDjZ2iKkz-584,2191
68
- ramifice/paladins/groups/text_group.py,sha256=TVMo19IU-bLEb-xOeNNfSejTr0lDYahrQhWMHvle-Ws,3896
68
+ ramifice/paladins/groups/text_group.py,sha256=HZTocj8Y8tbVDkvKm8jSQQSGhsotPJWtOcb4zEpt6OY,3881
69
69
  ramifice/utils/__init__.py,sha256=xixHoOX4ja5jIUZemem1qn4k4aonv3G3Q76azQK_pkU,43
70
70
  ramifice/utils/errors.py,sha256=iuhq7fzpUmsOyeXeg2fJjta8yAuqlXLKsZVMpfUhtHE,1901
71
71
  ramifice/utils/fixtures.py,sha256=NtxOnZslYJb4yvRpZbs3ckugmTwHQFS_9iCt2zddOC0,3102
@@ -79,7 +79,7 @@ ramifice/utils/mixins/add_valid.py,sha256=TLOObedzXNA9eCylfAVbVCqIKE5sV-P5AdIN7a
79
79
  ramifice/utils/mixins/hooks.py,sha256=33jvJRhfnJeL2Hd_YFXk3M_7wjqHaByU2wRjKyboL6s,914
80
80
  ramifice/utils/mixins/indexing.py,sha256=Z0427HoaVRyNmSNN8Fx0mSICgAKV-gDdu3iR5qYUEbs,329
81
81
  ramifice/utils/mixins/json_converter.py,sha256=WhigXyDAV-FfILaZuwvRFRIk0D90Rv3dG5t-mv5fVyc,1107
82
- ramifice-0.4.0.dist-info/METADATA,sha256=hzKA83Yk4QFj5gAQWnu7X9y-ove9os6gEIiRYj3w3DE,20962
83
- ramifice-0.4.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
84
- ramifice-0.4.0.dist-info/licenses/LICENSE,sha256=LrEL0aTZx90HDwFUQCJutORiDjJL9AnuVvCtspXIqt4,1095
85
- ramifice-0.4.0.dist-info/RECORD,,
82
+ ramifice-0.4.1.dist-info/METADATA,sha256=AYPSoWwW4UiCfShGcS4HDvmfkVhHbru6B2dsYCZZXy0,20961
83
+ ramifice-0.4.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
84
+ ramifice-0.4.1.dist-info/licenses/LICENSE,sha256=LrEL0aTZx90HDwFUQCJutORiDjJL9AnuVvCtspXIqt4,1095
85
+ ramifice-0.4.1.dist-info/RECORD,,