ramifice 0.3.26__py3-none-any.whl → 0.3.28__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 (74) hide show
  1. ramifice/__init__.py +2 -1
  2. ramifice/commons/__init__.py +1 -3
  3. ramifice/commons/general.py +1 -1
  4. ramifice/commons/indexes.py +1 -1
  5. ramifice/commons/many.py +9 -5
  6. ramifice/commons/one.py +17 -7
  7. ramifice/commons/tools.py +62 -57
  8. ramifice/commons/{units.py → unit_manager.py} +3 -3
  9. ramifice/fields/bool_field.py +2 -2
  10. ramifice/fields/choice_float_dyn_field.py +2 -2
  11. ramifice/fields/choice_float_field.py +2 -2
  12. ramifice/fields/choice_float_mult_dyn_field.py +2 -2
  13. ramifice/fields/choice_float_mult_field.py +2 -2
  14. ramifice/fields/choice_int_dyn_field.py +2 -2
  15. ramifice/fields/choice_int_field.py +2 -2
  16. ramifice/fields/choice_int_mult_dyn_field.py +2 -2
  17. ramifice/fields/choice_int_mult_field.py +2 -2
  18. ramifice/fields/choice_text_dyn_field.py +2 -2
  19. ramifice/fields/choice_text_field.py +2 -2
  20. ramifice/fields/choice_text_mult_dyn_field.py +2 -2
  21. ramifice/fields/choice_text_mult_field.py +2 -2
  22. ramifice/fields/color_field.py +2 -2
  23. ramifice/fields/date_field.py +1 -1
  24. ramifice/fields/date_time_field.py +1 -1
  25. ramifice/fields/email_field.py +2 -2
  26. ramifice/fields/file_field.py +3 -3
  27. ramifice/fields/float_field.py +2 -2
  28. ramifice/fields/id_field.py +1 -1
  29. ramifice/fields/image_field.py +3 -3
  30. ramifice/fields/integer_field.py +2 -2
  31. ramifice/fields/ip_field.py +2 -2
  32. ramifice/fields/password_field.py +1 -1
  33. ramifice/fields/phone_field.py +2 -2
  34. ramifice/fields/slug_field.py +2 -2
  35. ramifice/fields/text_field.py +2 -2
  36. ramifice/fields/url_field.py +2 -2
  37. ramifice/models/__init__.py +1 -0
  38. ramifice/{decorators.py → models/decorator.py} +11 -13
  39. ramifice/{model.py → models/model.py} +4 -4
  40. ramifice/{pseudo_model.py → models/pseudo.py} +4 -4
  41. ramifice/paladins/check.py +2 -2
  42. ramifice/paladins/delete.py +2 -2
  43. ramifice/paladins/groups/choice_group.py +1 -1
  44. ramifice/paladins/groups/date_group.py +1 -1
  45. ramifice/paladins/groups/file_group.py +2 -2
  46. ramifice/paladins/groups/id_group.py +1 -1
  47. ramifice/paladins/groups/img_group.py +2 -2
  48. ramifice/paladins/groups/num_group.py +1 -1
  49. ramifice/paladins/groups/pass_group.py +2 -2
  50. ramifice/paladins/groups/slug_group.py +1 -1
  51. ramifice/paladins/groups/text_group.py +2 -2
  52. ramifice/paladins/password.py +2 -2
  53. ramifice/paladins/refrash.py +2 -2
  54. ramifice/paladins/save.py +2 -2
  55. ramifice/paladins/tools.py +1 -1
  56. ramifice/utils/__init__.py +1 -0
  57. ramifice/{migration.py → utils/migration.py} +1 -1
  58. ramifice/utils/mixins/__init__.py +6 -0
  59. ramifice/{add_valid.py → utils/mixins/add_valid.py} +2 -2
  60. ramifice/{hooks.py → utils/mixins/hooks.py} +2 -2
  61. ramifice/utils/mixins/indexing.py +11 -0
  62. ramifice/{mixins.py → utils/mixins/json_converter.py} +2 -5
  63. ramifice/{types.py → utils/unit.py} +2 -9
  64. {ramifice-0.3.26.dist-info → ramifice-0.3.28.dist-info}/METADATA +5 -6
  65. ramifice-0.3.28.dist-info/RECORD +85 -0
  66. ramifice/indexing.py +0 -11
  67. ramifice-0.3.26.dist-info/RECORD +0 -82
  68. /ramifice/{errors.py → utils/errors.py} +0 -0
  69. /ramifice/{fixtures.py → utils/fixtures.py} +0 -0
  70. /ramifice/{store.py → utils/store.py} +0 -0
  71. /ramifice/{utilities.py → utils/tools.py} +0 -0
  72. /ramifice/{translations.py → utils/translations.py} +0 -0
  73. {ramifice-0.3.26.dist-info → ramifice-0.3.28.dist-info}/WHEEL +0 -0
  74. {ramifice-0.3.26.dist-info → ramifice-0.3.28.dist-info}/licenses/LICENSE +0 -0
@@ -1,22 +1,20 @@
1
- """Decorators."""
1
+ """Decorator for converting Python classes into Ramifice models."""
2
2
 
3
3
  import os
4
4
  from typing import Any
5
5
 
6
- from . import translations
7
- from .add_valid import AddValidMixin
8
- from .commons import QCommonsMixin
9
- from .errors import DoesNotMatchRegexError, PanicError
10
- from .fields import DateTimeField, IDField # type: ignore[attr-defined]
11
- from .hooks import HooksMixin
12
- from .indexing import IndexMixin
6
+ from ..commons import QCommonsMixin
7
+ from ..fields import DateTimeField, IDField # type: ignore[attr-defined]
8
+ from ..paladins import CheckMixin, QPaladinsMixin, ValidationMixin # type: ignore[attr-defined]
9
+ from ..utils.errors import DoesNotMatchRegexError, PanicError
10
+ from ..utils.mixins.add_valid import AddValidMixin
11
+ from ..utils.mixins.hooks import HooksMixin
12
+ from ..utils.mixins.indexing import IndexMixin
13
+ from ..utils.store import REGEX
13
14
  from .model import Model
14
- from .paladins import CheckMixin, QPaladinsMixin, ValidationMixin # type: ignore[attr-defined]
15
- from .pseudo_model import PseudoModel
16
- from .store import REGEX
15
+ from .pseudo import PseudoModel
17
16
 
18
17
 
19
- # Decorator for converting into a Model.
20
18
  def model(
21
19
  service_name: str,
22
20
  fixture_name: str | None = None,
@@ -26,7 +24,7 @@ def model(
26
24
  is_update_doc: bool = True,
27
25
  is_delete_doc: bool = True,
28
26
  ) -> Any:
29
- """Decorator for converting into a Model."""
27
+ """Decorator for converting Python Classe into Ramifice Model."""
30
28
  if not isinstance(service_name, str):
31
29
  raise AssertionError("Parameter `service_name` - Must be `str` type!")
32
30
  if not isinstance(fixture_name, (str, type(None))):
@@ -1,4 +1,4 @@
1
- """For converting Python classes into Ramifice Model."""
1
+ """For converting Python classes into Ramifice models."""
2
2
 
3
3
  import json
4
4
  from abc import ABCMeta, abstractmethod
@@ -8,12 +8,12 @@ from babel.dates import format_date, format_datetime
8
8
  from bson.objectid import ObjectId
9
9
  from dateutil.parser import parse
10
10
 
11
- from . import translations
12
- from .fields import DateTimeField, IDField # type: ignore[attr-defined]
11
+ from ..fields import DateTimeField, IDField # type: ignore[attr-defined]
12
+ from ..utils import translations
13
13
 
14
14
 
15
15
  class Model(metaclass=ABCMeta):
16
- """For converting Python Class into Ramifice Model."""
16
+ """Converting Python Class into Ramifice Model."""
17
17
 
18
18
  META: dict[str, Any] = {}
19
19
 
@@ -1,4 +1,4 @@
1
- """For converting Python classes into Ramifice Model."""
1
+ """For converting Python classes into Ramifice models."""
2
2
 
3
3
  import json
4
4
  import os
@@ -10,12 +10,12 @@ from babel.dates import format_date, format_datetime
10
10
  from bson.objectid import ObjectId
11
11
  from dateutil.parser import parse
12
12
 
13
- from . import translations
14
- from .errors import PanicError
13
+ from ..utils import translations
14
+ from ..utils.errors import PanicError
15
15
 
16
16
 
17
17
  class PseudoModel(metaclass=ABCMeta):
18
- """For convert the Python class into a pseudo model Ramifice.
18
+ """Convert the Python Class into a pseudo Model Ramifice.
19
19
 
20
20
  Used for a Model that do not migrate into the database.
21
21
  """
@@ -7,8 +7,8 @@ from typing import Any
7
7
  from bson.objectid import ObjectId
8
8
  from pymongo.asynchronous.collection import AsyncCollection
9
9
 
10
- from .. import store
11
- from ..errors import PanicError
10
+ from ..utils import store
11
+ from ..utils.errors import PanicError
12
12
  from .groups import ( # type: ignore[attr-defined]
13
13
  BoolGroupMixin,
14
14
  ChoiceGroupMixin,
@@ -6,8 +6,8 @@ from typing import Any
6
6
 
7
7
  from pymongo.asynchronous.collection import AsyncCollection
8
8
 
9
- from .. import store
10
- from ..errors import PanicError
9
+ from ..utils import store
10
+ from ..utils.errors import PanicError
11
11
 
12
12
 
13
13
  class DeleteMixin:
@@ -9,7 +9,7 @@ Supported fields:
9
9
 
10
10
  from typing import Any
11
11
 
12
- from ... import translations
12
+ from ...utils import translations
13
13
  from ..tools import accumulate_error
14
14
 
15
15
 
@@ -9,7 +9,7 @@ from typing import Any
9
9
 
10
10
  from babel.dates import format_date, format_datetime
11
11
 
12
- from ... import translations
12
+ from ...utils import translations
13
13
  from ..tools import accumulate_error, panic_type_error
14
14
 
15
15
 
@@ -5,8 +5,8 @@ Supported fields: FileField
5
5
 
6
6
  from typing import Any
7
7
 
8
- from ... import translations
9
- from ...utilities import to_human_size
8
+ from ...utils import translations
9
+ from ...utils.tools import to_human_size
10
10
  from ..tools import accumulate_error, panic_type_error
11
11
 
12
12
 
@@ -8,7 +8,7 @@ from typing import Any
8
8
 
9
9
  from bson.objectid import ObjectId
10
10
 
11
- from ... import translations
11
+ from ...utils import translations
12
12
  from ..tools import accumulate_error, panic_type_error
13
13
 
14
14
 
@@ -7,8 +7,8 @@ from typing import Any
7
7
 
8
8
  from PIL import Image
9
9
 
10
- from ... import translations
11
- from ...utilities import to_human_size
10
+ from ...utils import translations
11
+ from ...utils.tools import to_human_size
12
12
  from ..tools import accumulate_error, panic_type_error
13
13
 
14
14
 
@@ -6,7 +6,7 @@ Supported fields:
6
6
 
7
7
  from typing import Any
8
8
 
9
- from ... import translations
9
+ from ...utils import translations
10
10
  from ..tools import accumulate_error, check_uniqueness, panic_type_error
11
11
 
12
12
 
@@ -7,8 +7,8 @@ from typing import Any
7
7
 
8
8
  from argon2 import PasswordHasher
9
9
 
10
- from ... import translations
11
- from ...utilities import is_password
10
+ from ...utils import translations
11
+ from ...utils.tools import is_password
12
12
  from ..tools import accumulate_error, panic_type_error
13
13
 
14
14
 
@@ -8,7 +8,7 @@ from typing import Any
8
8
 
9
9
  from slugify import slugify
10
10
 
11
- from ...errors import PanicError
11
+ from ...utils.errors import PanicError
12
12
  from ..tools import check_uniqueness
13
13
 
14
14
 
@@ -9,8 +9,8 @@ from typing import Any
9
9
 
10
10
  from email_validator import EmailNotValidError, validate_email
11
11
 
12
- from ... import translations
13
- from ...utilities import is_color, is_ip, is_phone, is_url
12
+ from ...utils import translations
13
+ from ...utils.tools import is_color, is_ip, is_phone, is_url
14
14
  from ..tools import accumulate_error, check_uniqueness, panic_type_error
15
15
 
16
16
 
@@ -5,8 +5,8 @@ from typing import Any
5
5
  from argon2 import PasswordHasher
6
6
  from pymongo.asynchronous.collection import AsyncCollection
7
7
 
8
- from .. import store
9
- from ..errors import OldPassNotMatchError, PanicError
8
+ from ..utils import store
9
+ from ..utils.errors import OldPassNotMatchError, PanicError
10
10
 
11
11
 
12
12
  class PasswordMixin:
@@ -4,8 +4,8 @@ from typing import Any
4
4
 
5
5
  from pymongo.asynchronous.collection import AsyncCollection
6
6
 
7
- from .. import store
8
- from ..errors import PanicError
7
+ from ..utils import store
8
+ from ..utils.errors import PanicError
9
9
  from .tools import refresh_from_mongo_doc
10
10
 
11
11
 
ramifice/paladins/save.py CHANGED
@@ -5,8 +5,8 @@ from typing import Any
5
5
 
6
6
  from pymongo.asynchronous.collection import AsyncCollection
7
7
 
8
- from .. import store
9
- from ..errors import PanicError
8
+ from ..utils import store
9
+ from ..utils.errors import PanicError
10
10
  from .tools import ignored_fields_to_none, refresh_from_mongo_doc
11
11
 
12
12
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  from typing import Any
4
4
 
5
- from ..errors import PanicError
5
+ from ..utils.errors import PanicError
6
6
 
7
7
 
8
8
  def ignored_fields_to_none(inst_model: Any) -> None:
@@ -0,0 +1 @@
1
+ """A set of Ramifice useful utilities."""
@@ -11,10 +11,10 @@ from pymongo import AsyncMongoClient
11
11
  from pymongo.asynchronous.collection import AsyncCollection
12
12
  from termcolor import colored
13
13
 
14
+ from ..models.model import Model
14
15
  from . import store
15
16
  from .errors import DoesNotMatchRegexError, NoModelsForMigrationError, PanicError
16
17
  from .fixtures import apply_fixture
17
- from .model import Model
18
18
 
19
19
 
20
20
  class Monitor:
@@ -0,0 +1,6 @@
1
+ """A set of mixins for Ramifice."""
2
+
3
+ from .add_valid import AddValidMixin
4
+ from .hooks import HooksMixin
5
+ from .indexing import IndexMixin
6
+ from .json_converter import JsonMixin
@@ -1,10 +1,10 @@
1
- """Additional validation of fields."""
1
+ """AddValidMixin - Contains an abstract method for additional validation of fields."""
2
2
 
3
3
  from abc import ABCMeta
4
4
 
5
5
 
6
6
  class AddValidMixin(metaclass=ABCMeta):
7
- """Additional validation of fields."""
7
+ """Contains an abstract method for additional validation of fields."""
8
8
 
9
9
  async def add_validation(self) -> dict[str, str]:
10
10
  """Additional validation of fields."""
@@ -1,10 +1,10 @@
1
- """Hook methods."""
1
+ """HooksMixin - Contains abstract methods for creating hooks."""
2
2
 
3
3
  from abc import ABCMeta
4
4
 
5
5
 
6
6
  class HooksMixin(metaclass=ABCMeta):
7
- """Hook methods and additional validation of fields."""
7
+ """A set of abstract methods for creating hooks."""
8
8
 
9
9
  async def pre_create(self) -> None:
10
10
  """Called before a new document is created in the database."""
@@ -0,0 +1,11 @@
1
+ """IndexMixin - Contains abstract method for indexing the model in the database."""
2
+
3
+ from abc import ABCMeta
4
+
5
+
6
+ class IndexMixin(metaclass=ABCMeta):
7
+ """Contains the method for indexing the model in the database."""
8
+
9
+ @classmethod
10
+ async def indexing(cls) -> None:
11
+ """For set up and start indexing."""
@@ -1,14 +1,11 @@
1
- """Complect of mixins."""
1
+ """JsonMixin - Contains the methods for converting Fields to JSON and back."""
2
2
 
3
3
  import json
4
4
  from typing import Any
5
5
 
6
6
 
7
7
  class JsonMixin:
8
- """Complect of methods for converting Fields to JSON and back.
9
-
10
- For fields FileField and ImageField is used FileJsonMixin.
11
- """
8
+ """Contains the methods for converting Fields to JSON and back."""
12
9
 
13
10
  def to_dict(self) -> dict[str, Any]:
14
11
  """Convert object instance to a dictionary."""
@@ -1,14 +1,7 @@
1
- """Auxiliary types collection.
2
-
3
- These types are used to transfer information.
4
-
5
- The module contains the following types:
6
-
7
- - `Unit` - Used for data management in dynamic fields.
8
- """
1
+ """Unit - Data management in dynamic fields."""
9
2
 
10
3
  from .errors import PanicError
11
- from .mixins import JsonMixin
4
+ from .mixins.json_converter import JsonMixin
12
5
 
13
6
 
14
7
  class Unit(JsonMixin):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ramifice
3
- Version: 0.3.26
3
+ Version: 0.3.28
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/
@@ -134,9 +134,8 @@ import pprint
134
134
  from datetime import datetime
135
135
 
136
136
  from pymongo import AsyncMongoClient
137
- from ramifice import model, translations
137
+ from ramifice import model, translations, migration
138
138
  from ramifice.fields import DateField, EmailField, ImageField, PasswordField, TextField
139
- from ramifice.migration import Monitor
140
139
 
141
140
 
142
141
  @model(service_name="Accounts")
@@ -192,7 +191,7 @@ class User:
192
191
  async def main():
193
192
  client = AsyncMongoClient()
194
193
 
195
- await Monitor(
194
+ await migration.Monitor(
196
195
  database_name="test_db",
197
196
  mongo_client=client,
198
197
  ).migrat()
@@ -474,7 +473,7 @@ async for index in await User.list_indexes():
474
473
  # Units Management.
475
474
  # Management for `choices` parameter in dynamic field types.
476
475
  # Units are stored in a separate collection.
477
- from ramifice.types import Unit
476
+ from ramifice.utils.unit import Unit
478
477
  unit = Unit(
479
478
  field="field_name", # The name of the dynamic field.
480
479
  title="Title", # The name of the choice item.
@@ -522,7 +521,7 @@ await user.update_password( # + verify_password
522
521
  ## General auxiliary methods
523
522
 
524
523
  ```python
525
- from ramifice.utilities import (
524
+ from ramifice.utils.tools import (
526
525
  get_file_size,
527
526
  hash_to_obj_id,
528
527
  is_color,
@@ -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=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,,
ramifice/indexing.py DELETED
@@ -1,11 +0,0 @@
1
- """For indexing the Model in the database."""
2
-
3
- from abc import ABCMeta
4
-
5
-
6
- class IndexMixin(metaclass=ABCMeta):
7
- """For indexing the Model in the database."""
8
-
9
- @classmethod
10
- async def indexing(cls) -> None:
11
- """For set up and start indexing."""
@@ -1,82 +0,0 @@
1
- ramifice/__init__.py,sha256=jOSfXKsCkSk7y_mkKMF32gKotkD8V4RmQYvPh4smVVE,679
2
- ramifice/add_valid.py,sha256=kvpMg7snL9tor0A23XRdgwiXazRwHfb8baoJUNjM_4Y,327
3
- ramifice/decorators.py,sha256=VSAnaD8ZtDzpzNqdTgRKZcYGNm8aJQm9ITChGl4UcEM,6838
4
- ramifice/errors.py,sha256=iuhq7fzpUmsOyeXeg2fJjta8yAuqlXLKsZVMpfUhtHE,1901
5
- ramifice/fixtures.py,sha256=NtxOnZslYJb4yvRpZbs3ckugmTwHQFS_9iCt2zddOC0,3102
6
- ramifice/hooks.py,sha256=Ri-ISfMT-IHaLO2eAqg8CODCTs3HRTxSylqspUKnVf4,873
7
- ramifice/indexing.py,sha256=wQpX2qei5Zc7iIq5yIV93Skp8Aa8ZD0vybnEk7cRuXs,271
8
- ramifice/migration.py,sha256=t_Rm1OUQYrlaPQQd1uS5S7EYMvSuKUcWzi7P4JMkrOw,11114
9
- ramifice/mixins.py,sha256=gKLmWQ-QrGO3K5_k-h1tDa08lkCql_dte2Jy05q1wsM,1125
10
- ramifice/model.py,sha256=xhLKosxnT3HkPr6j_BSkB7pvG2WNY_7uylcHo3Oq0vM,6521
11
- ramifice/pseudo_model.py,sha256=K00TqtrO6QScfAswM3Rr5Y017PfbtEXHymGSJYYgA40,6744
12
- ramifice/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- ramifice/store.py,sha256=MpDEPvUvbs11FXjakNtHPm9MekIv5p1U3as2Y80lTyc,1860
14
- ramifice/translations.py,sha256=GNGE0ULAA0aOY5pTxUd3MQW-nVaKvp6BeXWEcsR0s0o,4048
15
- ramifice/types.py,sha256=ljo6VscUGWEJ4Km4JYo8GEfxd1YK1CUbS8CfHp_MlEA,2390
16
- ramifice/utilities.py,sha256=NX4mtXBi6H3UNlYcTMdlfltJ0MikTPa7kpB3F0qmUpM,2731
17
- ramifice/commons/__init__.py,sha256=LHCsdpl4z8W-xUvAlOr1ad0ras9hspvCpuce4SAdfP0,472
18
- ramifice/commons/general.py,sha256=fTnIRA3IGbi0lMKBCgeqkI7BGJWTbZVu0nOJYoNRSRU,4571
19
- ramifice/commons/indexes.py,sha256=ABNRXeWZSreAE4_EDlsTN9aS8QiZbzhsatUJFn2EuOo,3849
20
- ramifice/commons/many.py,sha256=uxWgtXE40s0s6siLeqi55oAM3H9Z6S-1wKgNoJlVytg,8312
21
- ramifice/commons/one.py,sha256=XKWYYZn7SZ4At_yhjPSM1zXMoQzvt8wSM0F8kgWxhNU,5631
22
- ramifice/commons/tools.py,sha256=1oJHgb_WpWwoGtMcGQ-ta1oUMJLyN8QxuMbY83Sk36o,2220
23
- ramifice/commons/units.py,sha256=sYlRThKQPdBDJB3togJz8qyASpQ7gNZndbudUGDQEwE,4402
24
- ramifice/fields/__init__.py,sha256=yRfX7Tvpuh27Ggcx5u9e1RRYK7Wu59EVJYxxetmuP1w,1290
25
- ramifice/fields/bool_field.py,sha256=Jvzm6Kvepkr3myE1zBMV3bhVyVWI4nTaRV4d6LVmDYY,2042
26
- ramifice/fields/choice_float_dyn_field.py,sha256=advKW92aetPjv_QMdouGygrPoMYLsA4ED36MpTlOt-4,2988
27
- ramifice/fields/choice_float_field.py,sha256=shvUvb952qjvWW4Ta1uKwEu0eCulABkPR5KUfYxx0wg,3619
28
- ramifice/fields/choice_float_mult_dyn_field.py,sha256=zCREf9neu1uJ9a2IA22QXE92K41rypX_XBDpcTzCVrI,3051
29
- ramifice/fields/choice_float_mult_field.py,sha256=7si2Uf_nyMUCkfjg6tZf-EjlCCG_6hBXGbEr6dEz-PU,4176
30
- ramifice/fields/choice_int_dyn_field.py,sha256=gwo64SipoJzJ9EY4vK4VKigABfBFDT55Ya-Xt0M3wEw,2982
31
- ramifice/fields/choice_int_field.py,sha256=M4t9clnkQ_m8G7x6IhBetW3mjyjL1jVYAdndvFPOvMo,3607
32
- ramifice/fields/choice_int_mult_dyn_field.py,sha256=JVjo5l-rqd_MVibU2Cwjs0-u2zNIjCU7ai8EIf7brko,3047
33
- ramifice/fields/choice_int_mult_field.py,sha256=W1NNpP8yxeEtl6gHPtcguOtRM9OXH9XDDq9Y5V2xb4Q,4170
34
- ramifice/fields/choice_text_dyn_field.py,sha256=FyXeaTOfg3YfpgZ5TjXGGvFe2LasmbsMV9dK5kXtF3c,2978
35
- ramifice/fields/choice_text_field.py,sha256=oy_yB_0cuWNM2CWZAC9ZMzkMtkyb7ViCvB3YcWJG41Y,3812
36
- ramifice/fields/choice_text_mult_dyn_field.py,sha256=L-pmeIMa8Vh8O6G7f1TnmEI26dlyHbSOc2fPKN6tJoU,3043
37
- ramifice/fields/choice_text_mult_field.py,sha256=1R1z7hzmdhhlEBoltxL67KwrId6WEapEuCxMI-O46_Q,4166
38
- ramifice/fields/color_field.py,sha256=zoqNw7o8VNE7qogd-7yV2Kh3SDb-u76FskpE2RTKHuQ,3494
39
- ramifice/fields/date_field.py,sha256=Vlaxgp3WeDNMwbnQcTGu8kyQ7gc7M-7sFBPfzu-4MVw,5205
40
- ramifice/fields/date_time_field.py,sha256=VpLeYJHs0df45fz4gnprtn7aipVFKGY4n02eRep7in0,5240
41
- ramifice/fields/email_field.py,sha256=NrP87ZpYsEFbI2jd4MiiLHi6MpE3uRr5XVm1GRwcWpM,3403
42
- ramifice/fields/file_field.py,sha256=NMM9k-kVes7VarxvTQmsl2f2nvRKp-upjPHMDjNIrwY,7892
43
- ramifice/fields/float_field.py,sha256=4l7gzg46qQ7ZbXS6Z8GUhiUBR26rXChvO_uFx-lbUds,4555
44
- ramifice/fields/id_field.py,sha256=5wlY2j051TB2GPsw0iQkFiQBV_Y_o1W_QnCtBlaDuYQ,4126
45
- ramifice/fields/image_field.py,sha256=u4YJ3vFtGj5uhVLjgrvV9gNLwLXT4jfVPUN2mlPKHfg,12269
46
- ramifice/fields/integer_field.py,sha256=Gnm5IBSvWtCLGbg5pOSAdKa5xLzqXgiigVbzw8zcjas,4531
47
- ramifice/fields/ip_field.py,sha256=inImogNq0ldYZ8ceOG9vMj_cqbykmgnsTcsRzV_vWWg,3312
48
- ramifice/fields/password_field.py,sha256=_O2VGcKAfrMkFSWFIE7foVB5r3K4EoO8TIQNNNooQxo,3207
49
- ramifice/fields/phone_field.py,sha256=dPpEdiiaZtf1eYV7AgzrM_-ZfkGPQVaGZmMsnwXECto,3585
50
- ramifice/fields/slug_field.py,sha256=t-9ckQ6ki7lNis7U05t4MDd0cE_cdm29es8zfRlHfSs,2655
51
- ramifice/fields/text_field.py,sha256=AFkXCEI_4QjBdyYtp1DClwaCLkwjKurmLcrDtxhSGxc,3971
52
- ramifice/fields/url_field.py,sha256=FPfpJGeRSdiVVQ1Wf8USZ7BxOm25v3Kp2FLmd-mxvMw,3963
53
- ramifice/fields/general/__init__.py,sha256=5OE0TwPQjvpB3lBPuEwKrhjR_1ehOWxB98OJP_n32MA,20
54
- ramifice/fields/general/choice_group.py,sha256=TBJblwH8mB71wd1z2jcSs28H-zx3JZVBfkk4YCE1-pI,916
55
- ramifice/fields/general/date_group.py,sha256=RKockc_X1bYAbpzxTzXdc0kxgx51MK0bjko_j34ixWU,1169
56
- ramifice/fields/general/field.py,sha256=Iwjx0idIUIFwcQw4TQEqejKct1EGaaJv1zZ1poSW8lo,1338
57
- ramifice/fields/general/file_group.py,sha256=n45KfPzFI_l5hXoKkPDG0Q-0mdC2obExV-3PJ-MN5tA,1071
58
- ramifice/fields/general/number_group.py,sha256=AqlCY-t6JHZ2QVBe7mk5nPt6z8M4VJ_RARRlSBoIxms,715
59
- ramifice/fields/general/text_group.py,sha256=gP6mUGXr-LTI1UegqgEMQ-5vtUJuJs0wDYKVkknW_5E,873
60
- ramifice/paladins/__init__.py,sha256=PIP3AXI2KBRXNcLJUF0d7ygJ7VLOAxlhb4HRKQ9MGYY,516
61
- ramifice/paladins/check.py,sha256=h07UX4OKa_1X4Wt3rC-qAAZ8xd-d0rGYlqprXE4CXk0,7009
62
- ramifice/paladins/delete.py,sha256=RfCyew5tbBCT8u1c8nMgC2vIQlIWzu9Tvh6TuO7VBmM,3584
63
- ramifice/paladins/password.py,sha256=O1OvmeKuXbwtBX1sPTRVsoWYHPQn9isOe1rju6A3wbE,3264
64
- ramifice/paladins/refrash.py,sha256=DfBFGjPB6yYjga57GuCiWFBNHalmDO3EfMjkhgoWnVI,1207
65
- ramifice/paladins/save.py,sha256=7KxocEisEVYWkZtBpHZyP6drGMyOVvF2vaymm4HNHmg,4276
66
- ramifice/paladins/tools.py,sha256=9RDjyRJ5j8E5jNxVYHx-L87hCxqpu9WadycGSz7LZY0,2038
67
- ramifice/paladins/validation.py,sha256=7lFDWjokUwMwVxWAVgd_GlWGpF4mukxIVpxvpdyA19A,1850
68
- ramifice/paladins/groups/__init__.py,sha256=hpqmWLsYAMvZHAbmMXluQSqLhkHOSTUAgLHyTM1LTYI,472
69
- ramifice/paladins/groups/bool_group.py,sha256=oJc9mw9KGrnK_Pj7uXixYYQAJphcXLr_xSQv3PMUlcU,792
70
- ramifice/paladins/groups/choice_group.py,sha256=ZV6t6qgh__BzWGRUSx2RdXH_K9BtBOo0eAZ3Yon0tfY,1723
71
- ramifice/paladins/groups/date_group.py,sha256=bVhzmwsN3sKbmzvm4jI0i_Mzjwn8gdx4kxCUWq-0Yqs,3736
72
- ramifice/paladins/groups/file_group.py,sha256=AtGu2sQ9A64dPo2Kpt4milp5HWPdULdPdQycwFW8ZgE,2925
73
- ramifice/paladins/groups/id_group.py,sha256=zAlJrDTOdRY9e7eFYSXPjjsD05A4EsgSE6ibN3KKOMU,1263
74
- ramifice/paladins/groups/img_group.py,sha256=o0bMI1WIA6t1QrhLaR2bBAAJUKCgHg7SiIFQsGTr2Cg,5535
75
- ramifice/paladins/groups/num_group.py,sha256=lpyFG9a6WGOzu9f_9jwYVWZNFHxG0B0AVWvvbv_2mV0,2224
76
- ramifice/paladins/groups/pass_group.py,sha256=tjBSovPSCKATF46FazT0a1EQ2YiztRqOjBq0uu2nTU8,1852
77
- ramifice/paladins/groups/slug_group.py,sha256=SVYxHcSSgCA51C18LVGxMQYuUw-6ryQlTi6B9T8Dzsw,2185
78
- ramifice/paladins/groups/text_group.py,sha256=o5DnlptN93vsHtb36qO-noEnPv7CSAiqVj1j603zKw0,3159
79
- ramifice-0.3.26.dist-info/METADATA,sha256=RtWfTYrINWsELm_ilRSn8MYrv4He6xvlKJ9ete4zMT4,20706
80
- ramifice-0.3.26.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
81
- ramifice-0.3.26.dist-info/licenses/LICENSE,sha256=LrEL0aTZx90HDwFUQCJutORiDjJL9AnuVvCtspXIqt4,1095
82
- ramifice-0.3.26.dist-info/RECORD,,
File without changes
File without changes
File without changes
File without changes
File without changes