ramifice 0.8.8__py3-none-any.whl → 0.8.10__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.
Files changed (76) hide show
  1. ramifice/commons/__init__.py +2 -0
  2. ramifice/commons/general.py +2 -0
  3. ramifice/commons/indexes.py +2 -0
  4. ramifice/commons/many.py +2 -0
  5. ramifice/commons/one.py +2 -0
  6. ramifice/commons/tools.py +6 -0
  7. ramifice/commons/unit_manager.py +5 -1
  8. ramifice/fields/bool_field.py +2 -0
  9. ramifice/fields/choice_float_dyn_field.py +2 -0
  10. ramifice/fields/choice_float_field.py +2 -0
  11. ramifice/fields/choice_float_mult_dyn_field.py +2 -0
  12. ramifice/fields/choice_float_mult_field.py +2 -0
  13. ramifice/fields/choice_int_dyn_field.py +2 -0
  14. ramifice/fields/choice_int_field.py +2 -0
  15. ramifice/fields/choice_int_mult_dyn_field.py +2 -0
  16. ramifice/fields/choice_int_mult_field.py +2 -0
  17. ramifice/fields/choice_text_dyn_field.py +2 -0
  18. ramifice/fields/choice_text_field.py +2 -0
  19. ramifice/fields/choice_text_mult_dyn_field.py +2 -0
  20. ramifice/fields/choice_text_mult_field.py +2 -0
  21. ramifice/fields/color_field.py +2 -0
  22. ramifice/fields/date_field.py +2 -0
  23. ramifice/fields/date_time_field.py +2 -0
  24. ramifice/fields/email_field.py +2 -0
  25. ramifice/fields/file_field.py +2 -0
  26. ramifice/fields/float_field.py +2 -0
  27. ramifice/fields/general/choice_group.py +2 -0
  28. ramifice/fields/general/date_group.py +2 -0
  29. ramifice/fields/general/field.py +2 -0
  30. ramifice/fields/general/file_group.py +2 -0
  31. ramifice/fields/general/number_group.py +2 -0
  32. ramifice/fields/general/text_group.py +2 -0
  33. ramifice/fields/id_field.py +2 -0
  34. ramifice/fields/image_field.py +2 -0
  35. ramifice/fields/integer_field.py +2 -0
  36. ramifice/fields/ip_field.py +2 -0
  37. ramifice/fields/password_field.py +2 -0
  38. ramifice/fields/phone_field.py +2 -0
  39. ramifice/fields/slug_field.py +2 -0
  40. ramifice/fields/text_field.py +2 -0
  41. ramifice/fields/url_field.py +2 -0
  42. ramifice/models/decorator.py +2 -0
  43. ramifice/models/model.py +2 -0
  44. ramifice/paladins/__init__.py +2 -0
  45. ramifice/paladins/check.py +2 -0
  46. ramifice/paladins/delete.py +2 -0
  47. ramifice/paladins/groups/bool_group.py +2 -0
  48. ramifice/paladins/groups/choice_group.py +2 -0
  49. ramifice/paladins/groups/date_group.py +2 -0
  50. ramifice/paladins/groups/file_group.py +2 -0
  51. ramifice/paladins/groups/id_group.py +2 -0
  52. ramifice/paladins/groups/img_group.py +2 -0
  53. ramifice/paladins/groups/num_group.py +2 -0
  54. ramifice/paladins/groups/pass_group.py +2 -0
  55. ramifice/paladins/groups/slug_group.py +2 -0
  56. ramifice/paladins/groups/text_group.py +2 -0
  57. ramifice/paladins/password.py +2 -0
  58. ramifice/paladins/refrash.py +2 -0
  59. ramifice/paladins/save.py +2 -0
  60. ramifice/paladins/tools.py +8 -0
  61. ramifice/paladins/validation.py +2 -0
  62. ramifice/utils/constants.py +13 -0
  63. ramifice/utils/fixtures.py +2 -0
  64. ramifice/utils/migration.py +2 -0
  65. ramifice/utils/mixins/add_valid.py +2 -0
  66. ramifice/utils/mixins/hooks.py +2 -0
  67. ramifice/utils/mixins/indexing.py +2 -0
  68. ramifice/utils/mixins/json_converter.py +2 -0
  69. ramifice/utils/tools.py +14 -0
  70. ramifice/utils/translations.py +11 -3
  71. ramifice/utils/unit.py +1 -1
  72. {ramifice-0.8.8.dist-info → ramifice-0.8.10.dist-info}/METADATA +1 -1
  73. ramifice-0.8.10.dist-info/RECORD +84 -0
  74. ramifice-0.8.8.dist-info/RECORD +0 -84
  75. {ramifice-0.8.8.dist-info → ramifice-0.8.10.dist-info}/WHEEL +0 -0
  76. {ramifice-0.8.8.dist-info → ramifice-0.8.10.dist-info}/licenses/LICENSE +0 -0
@@ -1,5 +1,7 @@
1
1
  """Commons - Model class methods."""
2
2
 
3
+ __all__ = ("QCommonsMixin",)
4
+
3
5
  from ramifice.commons.general import GeneralMixin
4
6
  from ramifice.commons.indexes import IndexMixin
5
7
  from ramifice.commons.many import ManyMixin
@@ -1,5 +1,7 @@
1
1
  """General purpose query methods."""
2
2
 
3
+ __all__ = ("GeneralMixin",)
4
+
3
5
  from typing import Any
4
6
 
5
7
  from pymongo.asynchronous.collection import AsyncCollection
@@ -1,5 +1,7 @@
1
1
  """Indexation documents of collection."""
2
2
 
3
+ __all__ = ("IndexMixin",)
4
+
3
5
  from typing import Any
4
6
 
5
7
  from pymongo.asynchronous.collection import AsyncCollection
ramifice/commons/many.py CHANGED
@@ -1,5 +1,7 @@
1
1
  """Queries like `find many`."""
2
2
 
3
+ __all__ = ("ManyMixin",)
4
+
3
5
  from typing import Any
4
6
 
5
7
  import orjson
ramifice/commons/one.py CHANGED
@@ -1,5 +1,7 @@
1
1
  """Requests like `find one`."""
2
2
 
3
+ __all__ = ("OneMixin",)
4
+
3
5
  from typing import Any
4
6
 
5
7
  from pymongo.asynchronous.collection import AsyncCollection
ramifice/commons/tools.py CHANGED
@@ -1,5 +1,11 @@
1
1
  """Tool of Commons - A set of auxiliary methods."""
2
2
 
3
+ __all__ = (
4
+ "correct_mongo_filter",
5
+ "password_to_none",
6
+ "mongo_doc_to_raw_doc",
7
+ )
8
+
3
9
  from typing import Any
4
10
 
5
11
  from babel.dates import format_date, format_datetime
@@ -3,6 +3,8 @@
3
3
  Management for `choices` parameter in dynamic field types.
4
4
  """
5
5
 
6
+ __all__ = ("UnitMixin",)
7
+
6
8
  from typing import Any
7
9
 
8
10
  from pymongo.asynchronous.collection import AsyncCollection
@@ -26,7 +28,9 @@ class UnitMixin:
26
28
  """
27
29
  # Get access to super collection.
28
30
  # (Contains Model state and dynamic field data.)
29
- super_collection: AsyncCollection = constants.MONGO_DATABASE[constants.SUPER_COLLECTION_NAME]
31
+ super_collection: AsyncCollection = constants.MONGO_DATABASE[
32
+ constants.SUPER_COLLECTION_NAME
33
+ ]
30
34
  # Get Model state.
31
35
  model_state: dict[str, Any] | None = await super_collection.find_one(
32
36
  filter={"collection_name": cls.META["collection_name"]}
@@ -1,5 +1,7 @@
1
1
  """Field of Model for enter boolean value."""
2
2
 
3
+ __all__ = ("BooleanField",)
4
+
3
5
  from ramifice.fields.general.field import Field
4
6
  from ramifice.utils import constants
5
7
  from ramifice.utils.mixins.json_converter import JsonMixin
@@ -3,6 +3,8 @@
3
3
  Type of selective float field with dynamic addition of elements.
4
4
  """
5
5
 
6
+ __all__ = ("ChoiceFloatDynField",)
7
+
6
8
  from ramifice.fields.general.choice_group import ChoiceGroup
7
9
  from ramifice.fields.general.field import Field
8
10
  from ramifice.utils import constants
@@ -3,6 +3,8 @@
3
3
  Type of selective float field with static of elements.
4
4
  """
5
5
 
6
+ __all__ = ("ChoiceFloatField",)
7
+
6
8
  from ramifice.fields.general.choice_group import ChoiceGroup
7
9
  from ramifice.fields.general.field import Field
8
10
  from ramifice.utils import constants
@@ -3,6 +3,8 @@
3
3
  Type of selective float field with dynamic addition of elements.
4
4
  """
5
5
 
6
+ __all__ = ("ChoiceFloatMultDynField",)
7
+
6
8
  from ramifice.fields.general.choice_group import ChoiceGroup
7
9
  from ramifice.fields.general.field import Field
8
10
  from ramifice.utils import constants
@@ -3,6 +3,8 @@
3
3
  Type of selective float field with static of elements.
4
4
  """
5
5
 
6
+ __all__ = ("ChoiceFloatMultField",)
7
+
6
8
  from ramifice.fields.general.choice_group import ChoiceGroup
7
9
  from ramifice.fields.general.field import Field
8
10
  from ramifice.utils import constants
@@ -3,6 +3,8 @@
3
3
  Type of selective integer field with dynamic addition of elements.
4
4
  """
5
5
 
6
+ __all__ = ("ChoiceIntDynField",)
7
+
6
8
  from ramifice.fields.general.choice_group import ChoiceGroup
7
9
  from ramifice.fields.general.field import Field
8
10
  from ramifice.utils import constants
@@ -3,6 +3,8 @@
3
3
  Type of selective integer field with static of elements.
4
4
  """
5
5
 
6
+ __all__ = ("ChoiceIntField",)
7
+
6
8
  from ramifice.fields.general.choice_group import ChoiceGroup
7
9
  from ramifice.fields.general.field import Field
8
10
  from ramifice.utils import constants
@@ -3,6 +3,8 @@
3
3
  Type of selective integer field with dynamic addition of elements.
4
4
  """
5
5
 
6
+ __all__ = ("ChoiceIntMultDynField",)
7
+
6
8
  from ramifice.fields.general.choice_group import ChoiceGroup
7
9
  from ramifice.fields.general.field import Field
8
10
  from ramifice.utils import constants
@@ -3,6 +3,8 @@
3
3
  Type of selective integer field with static of elements.
4
4
  """
5
5
 
6
+ __all__ = ("ChoiceIntMultField",)
7
+
6
8
  from ramifice.fields.general.choice_group import ChoiceGroup
7
9
  from ramifice.fields.general.field import Field
8
10
  from ramifice.utils import constants
@@ -3,6 +3,8 @@
3
3
  Type of selective text field with dynamic addition of elements.
4
4
  """
5
5
 
6
+ __all__ = ("ChoiceTextDynField",)
7
+
6
8
  from ramifice.fields.general.choice_group import ChoiceGroup
7
9
  from ramifice.fields.general.field import Field
8
10
  from ramifice.utils import constants
@@ -3,6 +3,8 @@
3
3
  Type of selective text field with static of elements.
4
4
  """
5
5
 
6
+ __all__ = ("ChoiceTextField",)
7
+
6
8
  from ramifice.fields.general.choice_group import ChoiceGroup
7
9
  from ramifice.fields.general.field import Field
8
10
  from ramifice.utils import constants
@@ -3,6 +3,8 @@
3
3
  Type of selective text field with dynamic addition of elements.
4
4
  """
5
5
 
6
+ __all__ = ("ChoiceTextMultDynField",)
7
+
6
8
  from ramifice.fields.general.choice_group import ChoiceGroup
7
9
  from ramifice.fields.general.field import Field
8
10
  from ramifice.utils import constants
@@ -3,6 +3,8 @@
3
3
  Type of selective text field with static of elements.
4
4
  """
5
5
 
6
+ __all__ = ("ChoiceTextMultField",)
7
+
6
8
  from ramifice.fields.general.choice_group import ChoiceGroup
7
9
  from ramifice.fields.general.field import Field
8
10
  from ramifice.utils import constants
@@ -1,5 +1,7 @@
1
1
  """Field of Model for enter color code."""
2
2
 
3
+ __all__ = ("ColorField",)
4
+
3
5
  from ramifice.fields.general.field import Field
4
6
  from ramifice.fields.general.text_group import TextGroup
5
7
  from ramifice.utils import constants
@@ -1,5 +1,7 @@
1
1
  """Field of Model for enter date."""
2
2
 
3
+ __all__ = ("DateField",)
4
+
3
5
  from datetime import datetime
4
6
  from typing import Any
5
7
 
@@ -1,5 +1,7 @@
1
1
  """Field of Model for enter date and time."""
2
2
 
3
+ __all__ = ("DateTimeField",)
4
+
3
5
  from datetime import datetime
4
6
  from typing import Any
5
7
 
@@ -1,5 +1,7 @@
1
1
  """Field of Model for enter email address."""
2
2
 
3
+ __all__ = ("EmailField",)
4
+
3
5
  from email_validator import EmailNotValidError, validate_email
4
6
 
5
7
  from ramifice.fields.general.field import Field
@@ -1,5 +1,7 @@
1
1
  """Field of Model for upload file."""
2
2
 
3
+ __all__ = ("FileField",)
4
+
3
5
  import uuid
4
6
  from base64 import b64decode
5
7
  from datetime import date
@@ -1,5 +1,7 @@
1
1
  """Field of Model for enter (float) number."""
2
2
 
3
+ __all__ = ("FloatField",)
4
+
3
5
  from ramifice.fields.general.field import Field
4
6
  from ramifice.fields.general.number_group import NumberGroup
5
7
  from ramifice.utils import constants
@@ -1,5 +1,7 @@
1
1
  """General additional parameters for choice fields."""
2
2
 
3
+ __all__ = ("ChoiceGroup",)
4
+
3
5
  from abc import ABCMeta
4
6
 
5
7
 
@@ -1,5 +1,7 @@
1
1
  """General additional parameters for date|datetime fields."""
2
2
 
3
+ __all__ = ("DateGroup",)
4
+
3
5
  from abc import ABCMeta
4
6
  from datetime import datetime
5
7
 
@@ -1,5 +1,7 @@
1
1
  """General parameters for all types fields of Model."""
2
2
 
3
+ __all__ = ("Field",)
4
+
3
5
  from abc import ABCMeta
4
6
 
5
7
 
@@ -1,5 +1,7 @@
1
1
  """General additional parameters for file fields."""
2
2
 
3
+ __all__ = ("FileGroup",)
4
+
3
5
  from abc import ABCMeta
4
6
 
5
7
 
@@ -1,5 +1,7 @@
1
1
  """General additional parameters for number fields."""
2
2
 
3
+ __all__ = ("NumberGroup",)
4
+
3
5
  from abc import ABCMeta
4
6
 
5
7
 
@@ -1,5 +1,7 @@
1
1
  """General additional parameters for text fields."""
2
2
 
3
+ __all__ = ("TextGroup",)
4
+
3
5
  from abc import ABCMeta
4
6
 
5
7
 
@@ -1,5 +1,7 @@
1
1
  """Field of Model for enter identifier of document."""
2
2
 
3
+ __all__ = ("IDField",)
4
+
3
5
  from typing import Any
4
6
 
5
7
  import orjson
@@ -1,5 +1,7 @@
1
1
  """Field of Model for upload image."""
2
2
 
3
+ __all__ = ("ImageField",)
4
+
3
5
  import uuid
4
6
  from base64 import b64decode
5
7
  from datetime import date
@@ -1,5 +1,7 @@
1
1
  """Field of Model for enter (int) number."""
2
2
 
3
+ __all__ = ("IntegerField",)
4
+
3
5
  from ramifice.fields.general.field import Field
4
6
  from ramifice.fields.general.number_group import NumberGroup
5
7
  from ramifice.utils import constants
@@ -1,5 +1,7 @@
1
1
  """Field of Model for enter IP address."""
2
2
 
3
+ __all__ = ("IPField",)
4
+
3
5
  import ipaddress
4
6
 
5
7
  from ramifice.fields.general.field import Field
@@ -1,5 +1,7 @@
1
1
  """Field of Model for enter password."""
2
2
 
3
+ __all__ = ("PasswordField",)
4
+
3
5
  from typing import Any
4
6
 
5
7
  import orjson
@@ -1,5 +1,7 @@
1
1
  """Field of Model for enter phone number."""
2
2
 
3
+ __all__ = ("PhoneField",)
4
+
3
5
  import phonenumbers
4
6
 
5
7
  from ramifice.fields.general.field import Field
@@ -1,5 +1,7 @@
1
1
  """Field of Model for automatic generation of string `slug`."""
2
2
 
3
+ __all__ = ("SlugField",)
4
+
3
5
  from ramifice.fields.general.field import Field
4
6
  from ramifice.fields.general.text_group import TextGroup
5
7
  from ramifice.utils import constants
@@ -1,5 +1,7 @@
1
1
  """Field of Model for enter text."""
2
2
 
3
+ __all__ = ("TextField",)
4
+
3
5
  from ramifice.fields.general.field import Field
4
6
  from ramifice.utils import constants
5
7
  from ramifice.utils.mixins.json_converter import JsonMixin
@@ -1,5 +1,7 @@
1
1
  """Field of Model for enter URL address."""
2
2
 
3
+ __all__ = ("URLField",)
4
+
3
5
  from urllib.parse import urlparse
4
6
 
5
7
  from ramifice.fields.general.field import Field
@@ -1,5 +1,7 @@
1
1
  """Decorator for converting Python classes into Ramifice models."""
2
2
 
3
+ __all__ = ("model",)
4
+
3
5
  import re
4
6
  from os.path import exists
5
7
  from typing import Any
ramifice/models/model.py CHANGED
@@ -1,5 +1,7 @@
1
1
  """For converting Python classes into Ramifice models."""
2
2
 
3
+ __all__ = ("Model",)
4
+
3
5
  from abc import ABCMeta, abstractmethod
4
6
  from typing import Any
5
7
 
@@ -1,5 +1,7 @@
1
1
  """Paladins - Model instance methods."""
2
2
 
3
+ __all__ = ("QPaladinsMixin",)
4
+
3
5
  from ramifice.paladins.check import CheckMixin
4
6
  from ramifice.paladins.delete import DeleteMixin
5
7
  from ramifice.paladins.password import PasswordMixin
@@ -1,5 +1,7 @@
1
1
  """Validation of Model data before saving to the database."""
2
2
 
3
+ __all__ = ("CheckMixin",)
4
+
3
5
  from os import remove
4
6
  from shutil import rmtree
5
7
  from typing import Any
@@ -1,5 +1,7 @@
1
1
  """Delete document from database."""
2
2
 
3
+ __all__ = ("DeleteMixin",)
4
+
3
5
  from os import remove
4
6
  from shutil import rmtree
5
7
  from typing import Any
@@ -4,6 +4,8 @@ Supported fields:
4
4
  BooleanField
5
5
  """
6
6
 
7
+ __all__ = ("BoolGroupMixin",)
8
+
7
9
  from typing import Any
8
10
 
9
11
  from ramifice.paladins.tools import panic_type_error
@@ -7,6 +7,8 @@ Supported fields:
7
7
  | ChoiceFloatMultDynField | ChoiceFloatField | ChoiceFloatDynField
8
8
  """
9
9
 
10
+ __all__ = ("ChoiceGroupMixin",)
11
+
10
12
  from typing import Any
11
13
 
12
14
  from ramifice.paladins.tools import accumulate_error
@@ -4,6 +4,8 @@ Supported fields:
4
4
  DateTimeField | DateField
5
5
  """
6
6
 
7
+ __all__ = ("DateGroupMixin",)
8
+
7
9
  from datetime import datetime
8
10
  from typing import Any
9
11
 
@@ -3,6 +3,8 @@
3
3
  Supported fields: FileField
4
4
  """
5
5
 
6
+ __all__ = ("FileGroupMixin",)
7
+
6
8
  from typing import Any
7
9
 
8
10
  from ramifice.paladins.tools import (
@@ -4,6 +4,8 @@ Supported fields:
4
4
  IDField
5
5
  """
6
6
 
7
+ __all__ = ("IDGroupMixin",)
8
+
7
9
  from typing import Any
8
10
 
9
11
  from bson.objectid import ObjectId
@@ -3,6 +3,8 @@
3
3
  Supported fields: ImageField
4
4
  """
5
5
 
6
+ __all__ = ("ImgGroupMixin",)
7
+
6
8
  from asyncio import to_thread
7
9
  from typing import Any
8
10
 
@@ -4,6 +4,8 @@ Supported fields:
4
4
  IntegerField | FloatField
5
5
  """
6
6
 
7
+ __all__ = ("NumGroupMixin",)
8
+
7
9
  from typing import Any
8
10
 
9
11
  from ramifice.paladins.tools import (
@@ -3,6 +3,8 @@
3
3
  Supported fields: PasswordField
4
4
  """
5
5
 
6
+ __all__ = ("PassGroupMixin",)
7
+
6
8
  from typing import Any
7
9
 
8
10
  from argon2 import PasswordHasher
@@ -4,6 +4,8 @@ Supported fields:
4
4
  SlugField
5
5
  """
6
6
 
7
+ __all__ = ("SlugGroupMixin",)
8
+
7
9
  from typing import Any
8
10
 
9
11
  from slugify import slugify
@@ -5,6 +5,8 @@ Supported fields:
5
5
  IPField | EmailField | ColorField
6
6
  """
7
7
 
8
+ __all__ = ("TextGroupMixin",)
9
+
8
10
  import asyncio
9
11
  from typing import Any
10
12
 
@@ -1,5 +1,7 @@
1
1
  """Verification, replacement and recoverang of password."""
2
2
 
3
+ __all__ = ("PasswordMixin",)
4
+
3
5
  from typing import Any
4
6
 
5
7
  from argon2 import PasswordHasher
@@ -1,5 +1,7 @@
1
1
  """Update Model instance from database."""
2
2
 
3
+ __all__ = ("RefrashMixin",)
4
+
3
5
  from typing import Any
4
6
 
5
7
  from pymongo.asynchronous.collection import AsyncCollection
ramifice/paladins/save.py CHANGED
@@ -1,5 +1,7 @@
1
1
  """Create or update document in database."""
2
2
 
3
+ __all__ = ("SaveMixin",)
4
+
3
5
  from datetime import datetime
4
6
  from typing import Any
5
7
 
@@ -1,5 +1,13 @@
1
1
  """Tool of Paladins - A set of auxiliary methods."""
2
2
 
3
+ __all__ = (
4
+ "ignored_fields_to_none",
5
+ "refresh_from_mongo_doc",
6
+ "panic_type_error",
7
+ "accumulate_error",
8
+ "check_uniqueness",
9
+ )
10
+
3
11
  from typing import Any
4
12
 
5
13
  from ramifice.utils import errors, translations
@@ -1,5 +1,7 @@
1
1
  """Validation of Model and printing errors to console."""
2
2
 
3
+ __all__ = ("ValidationMixin",)
4
+
3
5
  from typing import Any
4
6
 
5
7
  from termcolor import colored
@@ -14,6 +14,19 @@ List of variables:
14
14
  - `REGEX` - Caching a patterns of regular expression.
15
15
  """
16
16
 
17
+ __all__ = (
18
+ "DEBUG",
19
+ "MONGO_CLIENT",
20
+ "MONGO_DATABASE",
21
+ "DATABASE_NAME",
22
+ "SUPER_COLLECTION_NAME",
23
+ "MEDIA_ROOT",
24
+ "MEDIA_URL",
25
+ "STATIC_ROOT",
26
+ "STATIC_URL",
27
+ "REGEX",
28
+ )
29
+
17
30
  import re
18
31
 
19
32
  from pymongo import AsyncMongoClient
@@ -3,6 +3,8 @@
3
3
  Runs automatically during Model migration.
4
4
  """
5
5
 
6
+ __all__ = ("apply_fixture",)
7
+
6
8
  from datetime import datetime
7
9
  from typing import Any
8
10
 
@@ -4,6 +4,8 @@ your models (add or delete a Model, add or delete a field in Model, etc.) into
4
4
  your database schema.
5
5
  """ # noqa: D205
6
6
 
7
+ __all__ = ("Migration",)
8
+
7
9
  from datetime import datetime
8
10
  from typing import Any
9
11
 
@@ -1,5 +1,7 @@
1
1
  """AddValidMixin - Contains an abstract method for additional validation of fields."""
2
2
 
3
+ __all__ = ("AddValidMixin",)
4
+
3
5
  from abc import ABCMeta
4
6
 
5
7
 
@@ -1,5 +1,7 @@
1
1
  """HooksMixin - Contains abstract methods for creating hooks."""
2
2
 
3
+ __all__ = ("HooksMixin",)
4
+
3
5
  from abc import ABCMeta
4
6
 
5
7
 
@@ -1,5 +1,7 @@
1
1
  """IndexMixin - Contains abstract method for indexing the model in the database."""
2
2
 
3
+ __all__ = ("IndexMixin",)
4
+
3
5
  from abc import ABCMeta
4
6
 
5
7
 
@@ -1,5 +1,7 @@
1
1
  """JsonMixin - Contains the methods for converting Fields to JSON and back."""
2
2
 
3
+ __all__ = ("JsonMixin",)
4
+
3
5
  from typing import Any
4
6
 
5
7
  import orjson
ramifice/utils/tools.py CHANGED
@@ -1,5 +1,19 @@
1
1
  """Global collection of auxiliary methods."""
2
2
 
3
+ __all__ = (
4
+ "is_password",
5
+ "to_human_size",
6
+ "get_file_size",
7
+ "normal_email",
8
+ "is_email",
9
+ "is_url",
10
+ "is_ip",
11
+ "is_color",
12
+ "is_phone",
13
+ "is_mongo_id",
14
+ "hash_to_obj_id",
15
+ )
16
+
3
17
  import ipaddress
4
18
  import math
5
19
  from asyncio import to_thread
@@ -5,12 +5,11 @@ The module contains the following variables:
5
5
  - `CURRENT_LOCALE` - Code of current language.
6
6
  - `DEFAULT_LOCALE` - Language code by default.
7
7
  - `LANGUAGES` - List of codes supported by languages.
8
- - `translations` - List of translations
9
- - `gettext` - The object of the current translation.
8
+ - `gettext` - The object of the current translator.
9
+ - `ngettext` - The object of the current translator.
10
10
 
11
11
  The module contains the following functions:
12
12
 
13
- - `get_translator` - Get an object of translation for the desired language.
14
13
  - `change_locale` - To change the current language and translation object.
15
14
 
16
15
  CKEditor supported languages:
@@ -23,6 +22,15 @@ sl | sq | sr | sr_latn | sv | th | tk | tr | tt | ug | uk | vi |
23
22
  zh | zh_cn
24
23
  """
25
24
 
25
+ __all__ = (
26
+ "DEFAULT_LOCALE",
27
+ "CURRENT_LOCALE",
28
+ "LANGUAGES",
29
+ "change_locale",
30
+ "gettext",
31
+ "ngettext",
32
+ )
33
+
26
34
  import copy
27
35
  import gettext as _gettext
28
36
  from gettext import NullTranslations
ramifice/utils/unit.py CHANGED
@@ -1,6 +1,6 @@
1
1
  """Unit - Data management in dynamic fields."""
2
2
 
3
- from typing import Any
3
+ __all__ = ("Unit",)
4
4
 
5
5
  from ramifice.utils.errors import PanicError
6
6
  from ramifice.utils.mixins.json_converter import JsonMixin
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ramifice
3
- Version: 0.8.8
3
+ Version: 0.8.10
4
4
  Summary: ORM-pseudo-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/
@@ -0,0 +1,84 @@
1
+ ramifice/__init__.py,sha256=Pm2v5QCHErdx0sWBFeJnoczz3fg_rzd8UB7AS_ICDL0,820
2
+ ramifice/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ ramifice/commons/__init__.py,sha256=HwOckqlNkt4OzFbYqnLw9x0VXLbwO_mJaJ9MLYgSvtI,545
4
+ ramifice/commons/general.py,sha256=ZryiRH-qf_cH9HCul7EP11UU-k4YO_rp_kku2FWAwj4,5433
5
+ ramifice/commons/indexes.py,sha256=dBPVYeJGbEyENLEzGjQmQ2XYOr3qqzjonj6zyH4rl54,3696
6
+ ramifice/commons/many.py,sha256=VkEVWzz3FgoSsuQULfV8rfW87H558_NRbwfQhlGgqNs,9311
7
+ ramifice/commons/one.py,sha256=XHXUthY-ACW-9dhI4yWGupZ1RsaRSQbIuwu_rdngjBc,6822
8
+ ramifice/commons/tools.py,sha256=wBnJFibq3jW09vXywnP3MFGWCb2iLxWeDfwWBKf2b7g,2461
9
+ ramifice/commons/unit_manager.py,sha256=bKvHEAag5FrH3kXmmqQCgfSEIkJjIGIo1ymCfLhbcKc,4569
10
+ ramifice/fields/__init__.py,sha256=u_XTUfcWTI96lvxinMPm_s9XNJ4jNDd8zhL9vwRvckc,1710
11
+ ramifice/fields/bool_field.py,sha256=ZZftUSR9CKhl2eGTGfbmmSgoKVnWDcNuP2bMrycF9O0,2136
12
+ ramifice/fields/choice_float_dyn_field.py,sha256=F6hXUXV9iNW4TgvSvBGTXwK33qtDFx7OskfEeHFgkP4,3199
13
+ ramifice/fields/choice_float_field.py,sha256=NVQGPPOMdkdFRyqXhEJoKjv6-MPAYPJcLN25VVojM78,3989
14
+ ramifice/fields/choice_float_mult_dyn_field.py,sha256=voiokW_Rx89nckrRq5e_DClIe7V7cQ2B3Y58yvDSenc,3266
15
+ ramifice/fields/choice_float_mult_field.py,sha256=VZtTO8Yx4fSJkW4p5mVw_DuroncGNHvtAM1nbL5rku4,4339
16
+ ramifice/fields/choice_int_dyn_field.py,sha256=UHi2jpxXhP5xZQz2PhFGJybR_yjHgmrxTsUpiH7dPlU,3191
17
+ ramifice/fields/choice_int_field.py,sha256=eAPQzt97_mHCDhCJt8oYuDFEMBb8s-DAwEEaRbMRDnw,3975
18
+ ramifice/fields/choice_int_mult_dyn_field.py,sha256=a0p70n0xnAzJWfnOJ7HrZqYCPZeKVQEd3yNisFUgNfw,3260
19
+ ramifice/fields/choice_int_mult_field.py,sha256=ZnC7bB5r1Z6PsW0Lp7r6Pu2yyI46GGPHyj9PC6juajA,4331
20
+ ramifice/fields/choice_text_dyn_field.py,sha256=h2eUA2gUwmiP-ykzWVDLSCZRNLE6LFeb04GgF4MJdlU,3182
21
+ ramifice/fields/choice_text_field.py,sha256=TLkZ47oX1_HCtP3erl-0vIMqzSD_vpGbcImymw3YB8M,4175
22
+ ramifice/fields/choice_text_mult_dyn_field.py,sha256=h104T9SR9vjWi6KBrQ0U1-hM1rqZXXyaEVkBRb_ct4w,3251
23
+ ramifice/fields/choice_text_mult_field.py,sha256=XlLxwPWyrQWmiL95GAg5Avlo84vi8jovAnkXq5GsS3E,4322
24
+ ramifice/fields/color_field.py,sha256=I87c8w-2PHMCSTfWTXCmZMJNmrnqzW9Kox436M7yx6A,3605
25
+ ramifice/fields/date_field.py,sha256=QkUiaBd0FxgDkjYnkCG9M8Jlsg1YuhCe-csuvZ20AGY,5305
26
+ ramifice/fields/date_time_field.py,sha256=1WBb_zzYe8-eG7mWvoHSm08PF8YDCxZo7iDk8-h3arY,5344
27
+ ramifice/fields/email_field.py,sha256=8BxJZQGkYSLVz01HFaSaZQw9VC_n8pUc423d7halxGA,3510
28
+ ramifice/fields/file_field.py,sha256=IYICN6iYiz-VmN6GrrashE2qOBzEHTZgUzyYdYYBdPQ,8333
29
+ ramifice/fields/float_field.py,sha256=pKe_XgBjUKxUWZ_ZKTwTgrZlNx8Zn1jShMukeG7P5FQ,4666
30
+ ramifice/fields/id_field.py,sha256=O68MAiRcYsGmM6gxTaA7NH1obI7HFyba_ANx8_HQL9Y,4209
31
+ ramifice/fields/image_field.py,sha256=w0Xd0d9idmB1Eb41VcZqjcRRU7aSPbTWp0zm0Qqom78,11753
32
+ ramifice/fields/integer_field.py,sha256=CJ1tOn6eOyK9zc-NRWkNTCmpZ9HoKgEvRzCUdEHgY6o,4640
33
+ ramifice/fields/ip_field.py,sha256=dS4uxcCaL49fisacVhhBS3npTuRORgKJClDMys82CG4,3416
34
+ ramifice/fields/password_field.py,sha256=cEwU-YiqxZfGu7OeMilmYEakpwF5JWIYKfHiUrSKtGA,3298
35
+ ramifice/fields/phone_field.py,sha256=gOU3dYfWvYzzI2TA73KiIz3vTyp1khAbVNjqz_z6Dbg,3692
36
+ ramifice/fields/slug_field.py,sha256=o8ftFnwClNUl7y6zyE7UUo0daUu5SV_tvwR_f7uFNg8,2761
37
+ ramifice/fields/text_field.py,sha256=QEjsvqxe76OgU5e0yIxGw_6MDbTzz0QAqtdxqbdz9-4,4168
38
+ ramifice/fields/url_field.py,sha256=ww2qYPmKYMYvgG4UHbWqEZdRPLVDFTqaMFD2EZUxpWM,4068
39
+ ramifice/fields/general/__init__.py,sha256=JzgIDseNQLB_IDwY9-JSiT_bONxvhJmbKl5PhQzTnpE,40
40
+ ramifice/fields/general/choice_group.py,sha256=Nvpz_lXMeZPWnogOL0QB71DApv2k-KQ9ZhWCx2AjilM,992
41
+ ramifice/fields/general/date_group.py,sha256=DDQayQPU0EESfYMY4pVHleYK9ysWRV86VLefV3Gs5k4,1241
42
+ ramifice/fields/general/field.py,sha256=3HnAV6hQ2Jn4nn_Cososs9EqfV1Y5wbDUwEzOu23mzE,1408
43
+ ramifice/fields/general/file_group.py,sha256=q1gPQpTYsLMYZIpmj_dj4CQ_Ryo7PBpsTSKwy3E5dow,1042
44
+ ramifice/fields/general/number_group.py,sha256=GBE2Cv61rYKg1WjyD1nqE7z3QF3thBiLKAWAkKw1xGs,791
45
+ ramifice/fields/general/text_group.py,sha256=6SLJ8TM9moFECrxDbNXeFNGclQPYxmnP2Tm19e98hmk,1131
46
+ ramifice/models/__init__.py,sha256=h_QQ5rSJNZ-7kmx7wIFd8E8RmUS94b_x4jdwMbq8zm4,15
47
+ ramifice/models/decorator.py,sha256=8Uy6uutRxbyNbS-C1nB50stUqJzF00MKsMECjxgMkd8,5991
48
+ ramifice/models/model.py,sha256=ugkEDWsaUJOMLVQPhqDp0fcijcTk9vTsh9l-H43tZL4,7184
49
+ ramifice/paladins/__init__.py,sha256=4cHrf5OhQGQm3GOTH4Wv3LVDgnVGbp6rc2EeNCRDD6Q,651
50
+ ramifice/paladins/check.py,sha256=6uisaM3MgUpA_LQ_w8Did4dRcDKz9il-tRY2lrqh91I,6602
51
+ ramifice/paladins/delete.py,sha256=1-CbxQMvfrdg1BXH9L1ah0tQShweXF1rbL89Yc5XMSg,3495
52
+ ramifice/paladins/password.py,sha256=pcDOCNW1WOLa8qGfoCIeNOZjCe_qlcNNKBYutn52RQ0,3079
53
+ ramifice/paladins/refrash.py,sha256=Ab22W4nQs3s8LgFgjmxjYKElsfRwRowM9LzTrGFyJAM,1131
54
+ ramifice/paladins/save.py,sha256=2YeEofr-kRF7bP5mEVejIlspDBjiLKzBqG2lSj6BOus,3927
55
+ ramifice/paladins/tools.py,sha256=YSJsjSAqP1jlcS1XvQGtLlL5b_EL-U6nYNewv5dFaZo,2807
56
+ ramifice/paladins/validation.py,sha256=3x8WUR0bTDkzJj41mEZyKc6brEmNukKpy0fc0NsniwQ,1764
57
+ ramifice/paladins/groups/__init__.py,sha256=GxJWM3IkYT3HW9pnJ1QTEjdOKJnjEoAaQ8SRukXnIW0,712
58
+ ramifice/paladins/groups/bool_group.py,sha256=X8P4YDh02gNzxTo9rgeCnmnV88jApUPqPLYIkpf5vGg,841
59
+ ramifice/paladins/groups/choice_group.py,sha256=NkD2sKqBkdUMHY36pFdvL4uQ-81LXByRHF_lhCEAI6Y,1848
60
+ ramifice/paladins/groups/date_group.py,sha256=i6beJVv4RpMsSnqZziCLnvKoC43r4lyjsUjyBu_ZBkk,3812
61
+ ramifice/paladins/groups/file_group.py,sha256=vzTfkEKA4GDd3c4opeFbM_teGslYreoAyplvzvzpeCw,3015
62
+ ramifice/paladins/groups/id_group.py,sha256=9iurBTOuhG1_8Wmxc5piTMcUNxAW3H0ZavA1sW7uopY,1321
63
+ ramifice/paladins/groups/img_group.py,sha256=qy2PeCIcEHTeFsP3GFJspUBMAGprlZEeasB8rETRtEY,6047
64
+ ramifice/paladins/groups/num_group.py,sha256=UtpmYELsNyooiOEIAhSaRuTxYr_FrNpqq9KqAflX2aU,2349
65
+ ramifice/paladins/groups/pass_group.py,sha256=54kvAyoUCEjujTw0Dh6oUrtv3RU80sWEem_b-3Ytv0k,1920
66
+ ramifice/paladins/groups/slug_group.py,sha256=OFuSqwnvmN6SSbR05zHHHngr44lbrAgZnIugSV650V0,2362
67
+ ramifice/paladins/groups/text_group.py,sha256=PzFuRaHQzfsboGOOGKsxuqazN6We5u9TudB0-k1v0Ow,4505
68
+ ramifice/utils/__init__.py,sha256=xixHoOX4ja5jIUZemem1qn4k4aonv3G3Q76azQK_pkU,43
69
+ ramifice/utils/constants.py,sha256=Wu_MyXvPpNonBbdgCmETLvMsZavyNXQ1IW9RXS9CMTA,2613
70
+ ramifice/utils/errors.py,sha256=iuhq7fzpUmsOyeXeg2fJjta8yAuqlXLKsZVMpfUhtHE,1901
71
+ ramifice/utils/fixtures.py,sha256=4vUFyIiEcqtkS5bAqwBWwXUKny3akbyWbI1j9450sBg,3211
72
+ ramifice/utils/migration.py,sha256=3rGebK-df0EBvq2QKIP9URnm3TPZLI97GXUf4EZRNsM,11134
73
+ ramifice/utils/tools.py,sha256=EPFINdgAJgewwQ9OErLEX8_z-_soQckyX7FsA7eRvyQ,3147
74
+ ramifice/utils/translations.py,sha256=h8B9AdqFu2V-8eg8DMwLpa9pib8IMv59SyPSDuyxchM,4305
75
+ ramifice/utils/unit.py,sha256=kfVlPHeVhVsli6jw5tV5yHC23QhAsTEL_V2rwHtDE20,2479
76
+ ramifice/utils/mixins/__init__.py,sha256=GrxJDsw73bEkitIh0-0BCxNnUK-N5uRXMCRlaPoaz1o,265
77
+ ramifice/utils/mixins/add_valid.py,sha256=9GV0XwprHl4yNRQty3InKij8oqO-9WZgWiQTfh0CVH0,439
78
+ ramifice/utils/mixins/hooks.py,sha256=oZXO2v9zsEzpf2w3L04YjigGKyk6c8PzCWBneqGi2CQ,943
79
+ ramifice/utils/mixins/indexing.py,sha256=bpQaQCLIhk6SmjEwZssAXhabsdXV8MFihlKhHHxO--w,358
80
+ ramifice/utils/mixins/json_converter.py,sha256=HMU4gDnrUS0oW3vT-mWAruvNJGn37Pv2A4CKnOBnrJA,1159
81
+ ramifice-0.8.10.dist-info/METADATA,sha256=CvH9io_z3tA8tvXlOyXRqFIcT5lWabVct11yeQW_a9g,20328
82
+ ramifice-0.8.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
83
+ ramifice-0.8.10.dist-info/licenses/LICENSE,sha256=LrEL0aTZx90HDwFUQCJutORiDjJL9AnuVvCtspXIqt4,1095
84
+ ramifice-0.8.10.dist-info/RECORD,,
@@ -1,84 +0,0 @@
1
- ramifice/__init__.py,sha256=Pm2v5QCHErdx0sWBFeJnoczz3fg_rzd8UB7AS_ICDL0,820
2
- ramifice/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- ramifice/commons/__init__.py,sha256=NZeqK9PEX7q8bVfiUaysdk_GShpA-5EfdM61mhj3wHg,513
4
- ramifice/commons/general.py,sha256=qqISFnLo6WvStQSbm--ayRHeNGJcugpk3W_2p14ELiM,5402
5
- ramifice/commons/indexes.py,sha256=GxUGj9rboPzrDBRcnz0UtancsO-MpvnlUJWum6fa5-Y,3667
6
- ramifice/commons/many.py,sha256=Y9u_hTa6eehFNlOCVBp3q1jJjGvu_VOgalmDri0HaQ0,9283
7
- ramifice/commons/one.py,sha256=njE7fFYGDu-gJyvLHP-l1tFsJsRQfI7YZ81ZiQO0voI,6795
8
- ramifice/commons/tools.py,sha256=cF6gPOh-krNSEgslm-3tpTvbTAc6JdqihBoD0pmhSvU,2360
9
- ramifice/commons/unit_manager.py,sha256=EuRWEDw_TRnL5F5c5IwK0YEYftzjrel7yVHwTEwL5iM,4517
10
- ramifice/fields/__init__.py,sha256=u_XTUfcWTI96lvxinMPm_s9XNJ4jNDd8zhL9vwRvckc,1710
11
- ramifice/fields/bool_field.py,sha256=l9oV36IkdFZhc2cTln5QWGzwf0t1s1QLf2GUBcFjNYs,2105
12
- ramifice/fields/choice_float_dyn_field.py,sha256=eAATxYw5nyuCnnOU3n45jQ9U97dkgM5drvHh44nmEJM,3161
13
- ramifice/fields/choice_float_field.py,sha256=0790wb8_aMjvxG7ocP1JcHr1NA3N-LbbUiBWPef9Rmc,3954
14
- ramifice/fields/choice_float_mult_dyn_field.py,sha256=qQ99-4WbuIqKZOsoWmPvNnvMCthd2zuxPR1hgeKA3pM,3224
15
- ramifice/fields/choice_float_mult_field.py,sha256=bxr-NAfuJqatoDt6R8KucxNZnaG4mvgTce027A12toI,4300
16
- ramifice/fields/choice_int_dyn_field.py,sha256=XY9Li347jrX1KoVzQrE2gcu2WKYb4z2s5TKjmfw2_zc,3155
17
- ramifice/fields/choice_int_field.py,sha256=G73y-hvO_NjKbgT2iBJ9O7ElPj4mA1b5VDNFpXvm8qs,3942
18
- ramifice/fields/choice_int_mult_dyn_field.py,sha256=oDVSzafEQioGEBGIfRoXaukUxXJLhwo6p_WT_votvsQ,3220
19
- ramifice/fields/choice_int_mult_field.py,sha256=RHJisTklROl-q_tEfPJVjd5Bjl2pJpC0aYM2ODHr-_0,4294
20
- ramifice/fields/choice_text_dyn_field.py,sha256=cYAZL1v9PlvjM5BGEq0dkhtX38aC6cCGBxDFHusBdCk,3145
21
- ramifice/fields/choice_text_field.py,sha256=ky4NHXV39v7acdUVCj0kUt2K-4AUrCtGD6ubaTeD3Tc,4141
22
- ramifice/fields/choice_text_mult_dyn_field.py,sha256=LGSWuoNCJLGITbivsZ4XJOzjHtRh07Hhy0zwuQ7Cc6I,3210
23
- ramifice/fields/choice_text_mult_field.py,sha256=44tKyFoUB6tEnC7pjHvbqDAqjY6vC5GiCNLBvAN_scw,4284
24
- ramifice/fields/color_field.py,sha256=K-lYp8f08HTZt6WU0kY3CQWaAmx6I3-uyKHBq7xAeSA,3576
25
- ramifice/fields/date_field.py,sha256=-M_dD8tVUXcDCQD5Hy5Ns9Z2QGlRya0qbvoWgA4qpmg,5277
26
- ramifice/fields/date_time_field.py,sha256=ahjX-cD5Qj-V7JUi5QAZ8qgv9UePhYYYzJghiasKdqE,5312
27
- ramifice/fields/email_field.py,sha256=4Kxy1K6CXJUJ8Db0CQuopjodiY4ybe7V0GT756t7Nks,3481
28
- ramifice/fields/file_field.py,sha256=2uc2YyuS0WDYO-jD0I8b3RL74m1Fw5DKAc7GlkzU8LE,8305
29
- ramifice/fields/float_field.py,sha256=JeVwoIi6j-dovXarZ3NgmSQI7f3qZzydlRs_yqp3Faw,4637
30
- ramifice/fields/id_field.py,sha256=YO5oIwXtqgURjjd2oYe2ouXxdpaiJp5ZhUgUA2pkNeo,4183
31
- ramifice/fields/image_field.py,sha256=_UseQMYOh7jUebsH1u4bYlTt3xTM3Yb09yrTtQx2wi0,11724
32
- ramifice/fields/integer_field.py,sha256=xPwpdhYNz4MyHgOypqa29oGNdKZic05yyUYHg5CDD3E,4609
33
- ramifice/fields/ip_field.py,sha256=tBFGFMC_zwAyLGtVRNNfiu4vQoxXPcgVHhX_aoHrvns,3390
34
- ramifice/fields/password_field.py,sha256=USD4Y8MTI89QZVT6zqLGBmb5kqOKrXqh73-z99cOvtk,3266
35
- ramifice/fields/phone_field.py,sha256=UkszdRWQ-7-SutpVmr71IBZ9_Oc33h8W2vy_udMSERM,3663
36
- ramifice/fields/slug_field.py,sha256=_g4fOyzv1qr9WI7cSXa2EOj9h1SVIBWfc29RZgxhn3c,2733
37
- ramifice/fields/text_field.py,sha256=p4RhNjWbq0U2nd5OGnJd0CZZvoLea53nZ22kFc1NVWw,4140
38
- ramifice/fields/url_field.py,sha256=oLdaVDwb3zaCEIE_XIikp-OZzYfi-8s19DnGrLJQ9XU,4041
39
- ramifice/fields/general/__init__.py,sha256=JzgIDseNQLB_IDwY9-JSiT_bONxvhJmbKl5PhQzTnpE,40
40
- ramifice/fields/general/choice_group.py,sha256=aNO8LnsafGOOQ7d2lAppI9YtzVHbWUZ6t1znEEIbAv8,962
41
- ramifice/fields/general/date_group.py,sha256=C5VgR0CBEGgG7nIYEeI82hVXttngSJAGFvEdXC_OpGY,1213
42
- ramifice/fields/general/field.py,sha256=qm7N-U5H1V6BK_6quJeGGpTmb9IqA-vxZlNHwoABye0,1384
43
- ramifice/fields/general/file_group.py,sha256=pC9bGUpDeu7FLJVD6NMCzq18aPETotipknSly2GH7Q0,1014
44
- ramifice/fields/general/number_group.py,sha256=LOPHbKAnIuqW4DEh2fH78w6qOQjp0OhkuP7MoikhlkA,761
45
- ramifice/fields/general/text_group.py,sha256=m9EnlYGwqlck-JIYOCUd0hUYAVr8jH4YCnTmm9QlCkQ,1103
46
- ramifice/models/__init__.py,sha256=h_QQ5rSJNZ-7kmx7wIFd8E8RmUS94b_x4jdwMbq8zm4,15
47
- ramifice/models/decorator.py,sha256=4NwnWcu2wxiX0EI_YXhbleyn4LB22mgDaDkQzJbHKD0,5967
48
- ramifice/models/model.py,sha256=e5UWHKIHwm7saxQ4bbamsTkz1VVBIqTRlAmJCOg5uRE,7160
49
- ramifice/paladins/__init__.py,sha256=EJ6EEKXUcMG5P1bDmlEa4W3fsxSz5u6mzDG_oU1efMQ,618
50
- ramifice/paladins/check.py,sha256=cTFM-wkbTtPwT3ZitaFKVuQQ4t9JztskM91s1byFfVg,6573
51
- ramifice/paladins/delete.py,sha256=V3vahfx_kVCv5dTG6PVRsDlehVk4OtET4nHtxr9M5s0,3465
52
- ramifice/paladins/password.py,sha256=G-tMz2dIiOYEhOeSHYgAmc2e4tG_TJ2gt5tzPwBapkw,3047
53
- ramifice/paladins/refrash.py,sha256=hIZQEBGtoIhuGGg2KQYGApCaMb8WhK_QZlzi1_-zzU0,1100
54
- ramifice/paladins/save.py,sha256=mFau65uWYy4dSVyTVdZGR3VUnP-I_NPdMvq7F5n1sFo,3899
55
- ramifice/paladins/tools.py,sha256=zc2VXp1U_BCT4IQWopwhxJ5vqci9jX128U5_nMeHawY,2652
56
- ramifice/paladins/validation.py,sha256=gcEJXIEPu1g7Z54vl14YTs5rCmxOEYsgQH1usFfyy7k,1730
57
- ramifice/paladins/groups/__init__.py,sha256=GxJWM3IkYT3HW9pnJ1QTEjdOKJnjEoAaQ8SRukXnIW0,712
58
- ramifice/paladins/groups/bool_group.py,sha256=rz1XIIdhOqbCOYZT1Yl84XaJg-0vwdcqCnt0BH-xHVA,808
59
- ramifice/paladins/groups/choice_group.py,sha256=KmrjbuHLLl6yGbRkdoMflf1thh17GLWrcbfaqrHlDiE,1813
60
- ramifice/paladins/groups/date_group.py,sha256=V3MCp8eA7txVLh6xmg76G9_y62TzWIQWqH59Ip26Xag,3779
61
- ramifice/paladins/groups/file_group.py,sha256=ySS7L5zcm2XrZRQUUOU8kgzqrucZ95UYzXD6pALWqE4,2982
62
- ramifice/paladins/groups/id_group.py,sha256=zN_Glu_cMGk8jMSDli3vYPvYrQXvQJNJFzb-t-qtZlQ,1290
63
- ramifice/paladins/groups/img_group.py,sha256=YOTUiXlmpNcsbzuLOEGB0eyemQxwaLkOBN9kzPb-lkI,6015
64
- ramifice/paladins/groups/num_group.py,sha256=sbxzTdl33TVySfaNfqMixyBkJ69v6AqEgraFUN3Kftk,2317
65
- ramifice/paladins/groups/pass_group.py,sha256=uuIIqMBXsYG7vTHc_AhdgWuNCivxTgQMjkEu0-ElSmY,1887
66
- ramifice/paladins/groups/slug_group.py,sha256=ztiA2v7e5lQYRZtlLw8WGOhSWaYQfOdZ6wkKbx3ZbTM,2329
67
- ramifice/paladins/groups/text_group.py,sha256=cdwUZoomw61A7CmDIbds_oOaia2tD-J5LLuj5b8E8O4,4472
68
- ramifice/utils/__init__.py,sha256=xixHoOX4ja5jIUZemem1qn4k4aonv3G3Q76azQK_pkU,43
69
- ramifice/utils/constants.py,sha256=dTSk07FVc6hgXwG1IF0_klPnbfxlFHiaRmym5zWgzIM,2395
70
- ramifice/utils/errors.py,sha256=iuhq7fzpUmsOyeXeg2fJjta8yAuqlXLKsZVMpfUhtHE,1901
71
- ramifice/utils/fixtures.py,sha256=PMRl1Ud0Ek0eX5F7BPiL7az_H7YKtIVKB8MJ17CeBdw,3179
72
- ramifice/utils/migration.py,sha256=5VYYB7DFMzLCRYWdlwtqGRSUPFdXp5SMxuMWraofVCw,11106
73
- ramifice/utils/tools.py,sha256=6N0YNlYB6c6Tz-4rhHrZJPi-KCUbRZhtK0VXHdusnNs,2921
74
- ramifice/utils/translations.py,sha256=Ibx6HqPcnsNxuBfXDs9mCLEA7xu4mkl3q39vqFaK-GI,4233
75
- ramifice/utils/unit.py,sha256=PPNKWYFJ8cz0nwbBPaTdL58_Nr7N0fIHFJBpKG2ZLKI,2482
76
- ramifice/utils/mixins/__init__.py,sha256=GrxJDsw73bEkitIh0-0BCxNnUK-N5uRXMCRlaPoaz1o,265
77
- ramifice/utils/mixins/add_valid.py,sha256=TLOObedzXNA9eCylfAVbVCqIKE5sV-P5AdIN7avj-GA,407
78
- ramifice/utils/mixins/hooks.py,sha256=33jvJRhfnJeL2Hd_YFXk3M_7wjqHaByU2wRjKyboL6s,914
79
- ramifice/utils/mixins/indexing.py,sha256=Z0427HoaVRyNmSNN8Fx0mSICgAKV-gDdu3iR5qYUEbs,329
80
- ramifice/utils/mixins/json_converter.py,sha256=2K_PZ34AzpesusgyyQFOLXFPcjXez3TWn-m9CHIKwRo,1131
81
- ramifice-0.8.8.dist-info/METADATA,sha256=yGouiOlBNJ18tW5F5IjJSxgQOPcT4FL_r-rQvhQINP4,20327
82
- ramifice-0.8.8.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
83
- ramifice-0.8.8.dist-info/licenses/LICENSE,sha256=LrEL0aTZx90HDwFUQCJutORiDjJL9AnuVvCtspXIqt4,1095
84
- ramifice-0.8.8.dist-info/RECORD,,