ramifice 0.5.11__py3-none-any.whl → 0.6.0__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/__init__.py +3 -3
- ramifice/commons/__init__.py +5 -5
- ramifice/commons/general.py +2 -2
- ramifice/commons/indexes.py +1 -1
- ramifice/commons/many.py +7 -3
- ramifice/commons/one.py +7 -3
- ramifice/commons/tools.py +1 -1
- ramifice/commons/unit_manager.py +3 -3
- ramifice/fields/__init__.py +28 -28
- ramifice/fields/bool_field.py +3 -3
- ramifice/fields/choice_float_dyn_field.py +4 -4
- ramifice/fields/choice_float_field.py +4 -4
- ramifice/fields/choice_float_mult_dyn_field.py +4 -4
- ramifice/fields/choice_float_mult_field.py +4 -4
- ramifice/fields/choice_int_dyn_field.py +4 -4
- ramifice/fields/choice_int_field.py +4 -4
- ramifice/fields/choice_int_mult_dyn_field.py +4 -4
- ramifice/fields/choice_int_mult_field.py +4 -4
- ramifice/fields/choice_text_dyn_field.py +4 -4
- ramifice/fields/choice_text_field.py +4 -4
- ramifice/fields/choice_text_mult_dyn_field.py +4 -4
- ramifice/fields/choice_text_mult_field.py +4 -4
- ramifice/fields/color_field.py +4 -4
- ramifice/fields/date_field.py +3 -3
- ramifice/fields/date_time_field.py +3 -3
- ramifice/fields/email_field.py +4 -4
- ramifice/fields/file_field.py +19 -18
- ramifice/fields/float_field.py +4 -4
- ramifice/fields/general/__init__.py +1 -1
- ramifice/fields/general/choice_group.py +3 -1
- ramifice/fields/general/date_group.py +2 -1
- ramifice/fields/general/field.py +3 -1
- ramifice/fields/general/file_group.py +3 -1
- ramifice/fields/general/number_group.py +3 -1
- ramifice/fields/general/text_group.py +3 -1
- ramifice/fields/id_field.py +2 -2
- ramifice/fields/image_field.py +18 -37
- ramifice/fields/integer_field.py +4 -4
- ramifice/fields/ip_field.py +4 -4
- ramifice/fields/password_field.py +2 -2
- ramifice/fields/phone_field.py +4 -4
- ramifice/fields/slug_field.py +4 -4
- ramifice/fields/text_field.py +3 -3
- ramifice/fields/url_field.py +4 -4
- ramifice/models/decorator.py +33 -61
- ramifice/models/model.py +2 -2
- ramifice/paladins/__init__.py +6 -6
- ramifice/paladins/check.py +17 -30
- ramifice/paladins/delete.py +6 -6
- ramifice/paladins/groups/__init__.py +10 -10
- ramifice/paladins/groups/bool_group.py +1 -1
- ramifice/paladins/groups/choice_group.py +2 -2
- ramifice/paladins/groups/date_group.py +5 -2
- ramifice/paladins/groups/file_group.py +7 -4
- ramifice/paladins/groups/id_group.py +2 -2
- ramifice/paladins/groups/img_group.py +27 -15
- ramifice/paladins/groups/num_group.py +6 -2
- ramifice/paladins/groups/pass_group.py +3 -3
- ramifice/paladins/groups/slug_group.py +2 -2
- ramifice/paladins/groups/text_group.py +16 -5
- ramifice/paladins/password.py +2 -2
- ramifice/paladins/refrash.py +3 -3
- ramifice/paladins/save.py +3 -3
- ramifice/paladins/tools.py +1 -3
- ramifice/utils/fixtures.py +1 -1
- ramifice/utils/migration.py +5 -7
- ramifice/utils/mixins/__init__.py +4 -4
- ramifice/utils/tools.py +2 -2
- ramifice/utils/translations.py +1 -1
- ramifice/utils/unit.py +2 -2
- {ramifice-0.5.11.dist-info → ramifice-0.6.0.dist-info}/METADATA +4 -17
- ramifice-0.6.0.dist-info/RECORD +84 -0
- ramifice/models/pseudo.py +0 -181
- ramifice-0.5.11.dist-info/RECORD +0 -85
- {ramifice-0.5.11.dist-info → ramifice-0.6.0.dist-info}/WHEEL +0 -0
- {ramifice-0.5.11.dist-info → ramifice-0.6.0.dist-info}/licenses/LICENSE +0 -0
ramifice/__init__.py
CHANGED
@@ -14,6 +14,6 @@
|
|
14
14
|
|
15
15
|
"""ORM-like API MongoDB for Python language."""
|
16
16
|
|
17
|
-
from .models.decorator import model
|
18
|
-
from .utils import migration, translations
|
19
|
-
from .utils.unit import Unit
|
17
|
+
from ramifice.models.decorator import model
|
18
|
+
from ramifice.utils import migration, translations
|
19
|
+
from ramifice.utils.unit import Unit
|
ramifice/commons/__init__.py
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
"""Commons - Model class methods."""
|
2
2
|
|
3
|
-
from .general import GeneralMixin
|
4
|
-
from .indexes import IndexMixin
|
5
|
-
from .many import ManyMixin
|
6
|
-
from .one import OneMixin
|
7
|
-
from .unit_manager import UnitMixin
|
3
|
+
from ramifice.commons.general import GeneralMixin
|
4
|
+
from ramifice.commons.indexes import IndexMixin
|
5
|
+
from ramifice.commons.many import ManyMixin
|
6
|
+
from ramifice.commons.one import OneMixin
|
7
|
+
from ramifice.commons.unit_manager import UnitMixin
|
8
8
|
|
9
9
|
|
10
10
|
class QCommonsMixin(
|
ramifice/commons/general.py
CHANGED
@@ -6,8 +6,8 @@ from pymongo.asynchronous.collection import AsyncCollection
|
|
6
6
|
from pymongo.asynchronous.command_cursor import AsyncCommandCursor
|
7
7
|
from pymongo.asynchronous.database import AsyncDatabase
|
8
8
|
|
9
|
-
from
|
10
|
-
from .
|
9
|
+
from ramifice.commons.tools import correct_mongo_filter
|
10
|
+
from ramifice.utils import globals, translations
|
11
11
|
|
12
12
|
|
13
13
|
class GeneralMixin:
|
ramifice/commons/indexes.py
CHANGED
ramifice/commons/many.py
CHANGED
@@ -7,9 +7,13 @@ from pymongo.asynchronous.collection import AsyncCollection
|
|
7
7
|
from pymongo.asynchronous.cursor import AsyncCursor, CursorType
|
8
8
|
from pymongo.results import DeleteResult
|
9
9
|
|
10
|
-
from
|
11
|
-
|
12
|
-
|
10
|
+
from ramifice.commons.tools import (
|
11
|
+
correct_mongo_filter,
|
12
|
+
mongo_doc_to_raw_doc,
|
13
|
+
password_to_none,
|
14
|
+
)
|
15
|
+
from ramifice.utils import globals, translations
|
16
|
+
from ramifice.utils.errors import PanicError
|
13
17
|
|
14
18
|
|
15
19
|
class ManyMixin:
|
ramifice/commons/one.py
CHANGED
@@ -5,9 +5,13 @@ from typing import Any
|
|
5
5
|
from pymongo.asynchronous.collection import AsyncCollection
|
6
6
|
from pymongo.results import DeleteResult
|
7
7
|
|
8
|
-
from
|
9
|
-
|
10
|
-
|
8
|
+
from ramifice.commons.tools import (
|
9
|
+
correct_mongo_filter,
|
10
|
+
mongo_doc_to_raw_doc,
|
11
|
+
password_to_none,
|
12
|
+
)
|
13
|
+
from ramifice.utils import globals, translations
|
14
|
+
from ramifice.utils.errors import PanicError
|
11
15
|
|
12
16
|
|
13
17
|
class OneMixin:
|
ramifice/commons/tools.py
CHANGED
ramifice/commons/unit_manager.py
CHANGED
@@ -7,9 +7,9 @@ from typing import Any
|
|
7
7
|
|
8
8
|
from pymongo.asynchronous.collection import AsyncCollection
|
9
9
|
|
10
|
-
from
|
11
|
-
from
|
12
|
-
from
|
10
|
+
from ramifice.utils import globals, translations
|
11
|
+
from ramifice.utils.errors import PanicError
|
12
|
+
from ramifice.utils.unit import Unit
|
13
13
|
|
14
14
|
|
15
15
|
class UnitMixin:
|
ramifice/fields/__init__.py
CHANGED
@@ -1,30 +1,30 @@
|
|
1
1
|
"""Available field types."""
|
2
2
|
|
3
|
-
from .bool_field import BooleanField
|
4
|
-
from .choice_float_dyn_field import ChoiceFloatDynField
|
5
|
-
from .choice_float_field import ChoiceFloatField
|
6
|
-
from .choice_float_mult_dyn_field import ChoiceFloatMultDynField
|
7
|
-
from .choice_float_mult_field import ChoiceFloatMultField
|
8
|
-
from .choice_int_dyn_field import ChoiceIntDynField
|
9
|
-
from .choice_int_field import ChoiceIntField
|
10
|
-
from .choice_int_mult_dyn_field import ChoiceIntMultDynField
|
11
|
-
from .choice_int_mult_field import ChoiceIntMultField
|
12
|
-
from .choice_text_dyn_field import ChoiceTextDynField
|
13
|
-
from .choice_text_field import ChoiceTextField
|
14
|
-
from .choice_text_mult_dyn_field import ChoiceTextMultDynField
|
15
|
-
from .choice_text_mult_field import ChoiceTextMultField
|
16
|
-
from .color_field import ColorField
|
17
|
-
from .date_field import DateField
|
18
|
-
from .date_time_field import DateTimeField
|
19
|
-
from .email_field import EmailField
|
20
|
-
from .file_field import FileField
|
21
|
-
from .float_field import FloatField
|
22
|
-
from .id_field import IDField
|
23
|
-
from .image_field import ImageField
|
24
|
-
from .integer_field import IntegerField
|
25
|
-
from .ip_field import IPField
|
26
|
-
from .password_field import PasswordField
|
27
|
-
from .phone_field import PhoneField
|
28
|
-
from .slug_field import SlugField
|
29
|
-
from .text_field import TextField
|
30
|
-
from .url_field import URLField
|
3
|
+
from ramifice.fields.bool_field import BooleanField
|
4
|
+
from ramifice.fields.choice_float_dyn_field import ChoiceFloatDynField
|
5
|
+
from ramifice.fields.choice_float_field import ChoiceFloatField
|
6
|
+
from ramifice.fields.choice_float_mult_dyn_field import ChoiceFloatMultDynField
|
7
|
+
from ramifice.fields.choice_float_mult_field import ChoiceFloatMultField
|
8
|
+
from ramifice.fields.choice_int_dyn_field import ChoiceIntDynField
|
9
|
+
from ramifice.fields.choice_int_field import ChoiceIntField
|
10
|
+
from ramifice.fields.choice_int_mult_dyn_field import ChoiceIntMultDynField
|
11
|
+
from ramifice.fields.choice_int_mult_field import ChoiceIntMultField
|
12
|
+
from ramifice.fields.choice_text_dyn_field import ChoiceTextDynField
|
13
|
+
from ramifice.fields.choice_text_field import ChoiceTextField
|
14
|
+
from ramifice.fields.choice_text_mult_dyn_field import ChoiceTextMultDynField
|
15
|
+
from ramifice.fields.choice_text_mult_field import ChoiceTextMultField
|
16
|
+
from ramifice.fields.color_field import ColorField
|
17
|
+
from ramifice.fields.date_field import DateField
|
18
|
+
from ramifice.fields.date_time_field import DateTimeField
|
19
|
+
from ramifice.fields.email_field import EmailField
|
20
|
+
from ramifice.fields.file_field import FileField
|
21
|
+
from ramifice.fields.float_field import FloatField
|
22
|
+
from ramifice.fields.id_field import IDField
|
23
|
+
from ramifice.fields.image_field import ImageField
|
24
|
+
from ramifice.fields.integer_field import IntegerField
|
25
|
+
from ramifice.fields.ip_field import IPField
|
26
|
+
from ramifice.fields.password_field import PasswordField
|
27
|
+
from ramifice.fields.phone_field import PhoneField
|
28
|
+
from ramifice.fields.slug_field import SlugField
|
29
|
+
from ramifice.fields.text_field import TextField
|
30
|
+
from ramifice.fields.url_field import URLField
|
ramifice/fields/bool_field.py
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
"""Field of Model for enter boolean value."""
|
2
2
|
|
3
|
-
from
|
4
|
-
from
|
5
|
-
from .
|
3
|
+
from ramifice.fields.general.field import Field
|
4
|
+
from ramifice.utils import globals
|
5
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
6
6
|
|
7
7
|
|
8
8
|
class BooleanField(Field, JsonMixin):
|
@@ -3,10 +3,10 @@
|
|
3
3
|
Type of selective float field with dynamic addition of elements.
|
4
4
|
"""
|
5
5
|
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from .
|
9
|
-
from .
|
6
|
+
from ramifice.fields.general.choice_group import ChoiceGroup
|
7
|
+
from ramifice.fields.general.field import Field
|
8
|
+
from ramifice.utils import globals
|
9
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
10
10
|
|
11
11
|
|
12
12
|
class ChoiceFloatDynField(Field, ChoiceGroup, JsonMixin):
|
@@ -3,10 +3,10 @@
|
|
3
3
|
Type of selective float field with static of elements.
|
4
4
|
"""
|
5
5
|
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from .
|
9
|
-
from .
|
6
|
+
from ramifice.fields.general.choice_group import ChoiceGroup
|
7
|
+
from ramifice.fields.general.field import Field
|
8
|
+
from ramifice.utils import globals
|
9
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
10
10
|
|
11
11
|
|
12
12
|
class ChoiceFloatField(Field, ChoiceGroup, JsonMixin):
|
@@ -3,10 +3,10 @@
|
|
3
3
|
Type of selective float field with dynamic addition of elements.
|
4
4
|
"""
|
5
5
|
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from .
|
9
|
-
from .
|
6
|
+
from ramifice.fields.general.choice_group import ChoiceGroup
|
7
|
+
from ramifice.fields.general.field import Field
|
8
|
+
from ramifice.utils import globals
|
9
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
10
10
|
|
11
11
|
|
12
12
|
class ChoiceFloatMultDynField(Field, ChoiceGroup, JsonMixin):
|
@@ -3,10 +3,10 @@
|
|
3
3
|
Type of selective float field with static of elements.
|
4
4
|
"""
|
5
5
|
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from .
|
9
|
-
from .
|
6
|
+
from ramifice.fields.general.choice_group import ChoiceGroup
|
7
|
+
from ramifice.fields.general.field import Field
|
8
|
+
from ramifice.utils import globals
|
9
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
10
10
|
|
11
11
|
|
12
12
|
class ChoiceFloatMultField(Field, ChoiceGroup, JsonMixin):
|
@@ -3,10 +3,10 @@
|
|
3
3
|
Type of selective integer field with dynamic addition of elements.
|
4
4
|
"""
|
5
5
|
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from .
|
9
|
-
from .
|
6
|
+
from ramifice.fields.general.choice_group import ChoiceGroup
|
7
|
+
from ramifice.fields.general.field import Field
|
8
|
+
from ramifice.utils import globals
|
9
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
10
10
|
|
11
11
|
|
12
12
|
class ChoiceIntDynField(Field, ChoiceGroup, JsonMixin):
|
@@ -3,10 +3,10 @@
|
|
3
3
|
Type of selective integer field with static of elements.
|
4
4
|
"""
|
5
5
|
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from .
|
9
|
-
from .
|
6
|
+
from ramifice.fields.general.choice_group import ChoiceGroup
|
7
|
+
from ramifice.fields.general.field import Field
|
8
|
+
from ramifice.utils import globals
|
9
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
10
10
|
|
11
11
|
|
12
12
|
class ChoiceIntField(Field, ChoiceGroup, JsonMixin):
|
@@ -3,10 +3,10 @@
|
|
3
3
|
Type of selective integer field with dynamic addition of elements.
|
4
4
|
"""
|
5
5
|
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from .
|
9
|
-
from .
|
6
|
+
from ramifice.fields.general.choice_group import ChoiceGroup
|
7
|
+
from ramifice.fields.general.field import Field
|
8
|
+
from ramifice.utils import globals
|
9
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
10
10
|
|
11
11
|
|
12
12
|
class ChoiceIntMultDynField(Field, ChoiceGroup, JsonMixin):
|
@@ -3,10 +3,10 @@
|
|
3
3
|
Type of selective integer field with static of elements.
|
4
4
|
"""
|
5
5
|
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from .
|
9
|
-
from .
|
6
|
+
from ramifice.fields.general.choice_group import ChoiceGroup
|
7
|
+
from ramifice.fields.general.field import Field
|
8
|
+
from ramifice.utils import globals
|
9
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
10
10
|
|
11
11
|
|
12
12
|
class ChoiceIntMultField(Field, ChoiceGroup, JsonMixin):
|
@@ -3,10 +3,10 @@
|
|
3
3
|
Type of selective text field with dynamic addition of elements.
|
4
4
|
"""
|
5
5
|
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from .
|
9
|
-
from .
|
6
|
+
from ramifice.fields.general.choice_group import ChoiceGroup
|
7
|
+
from ramifice.fields.general.field import Field
|
8
|
+
from ramifice.utils import globals
|
9
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
10
10
|
|
11
11
|
|
12
12
|
class ChoiceTextDynField(Field, ChoiceGroup, JsonMixin):
|
@@ -3,10 +3,10 @@
|
|
3
3
|
Type of selective text field with static of elements.
|
4
4
|
"""
|
5
5
|
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from .
|
9
|
-
from .
|
6
|
+
from ramifice.fields.general.choice_group import ChoiceGroup
|
7
|
+
from ramifice.fields.general.field import Field
|
8
|
+
from ramifice.utils import globals
|
9
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
10
10
|
|
11
11
|
|
12
12
|
class ChoiceTextField(Field, ChoiceGroup, JsonMixin):
|
@@ -3,10 +3,10 @@
|
|
3
3
|
Type of selective text field with dynamic addition of elements.
|
4
4
|
"""
|
5
5
|
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from .
|
9
|
-
from .
|
6
|
+
from ramifice.fields.general.choice_group import ChoiceGroup
|
7
|
+
from ramifice.fields.general.field import Field
|
8
|
+
from ramifice.utils import globals
|
9
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
10
10
|
|
11
11
|
|
12
12
|
class ChoiceTextMultDynField(Field, ChoiceGroup, JsonMixin):
|
@@ -3,10 +3,10 @@
|
|
3
3
|
Type of selective text field with static of elements.
|
4
4
|
"""
|
5
5
|
|
6
|
-
from
|
7
|
-
from
|
8
|
-
from .
|
9
|
-
from .
|
6
|
+
from ramifice.fields.general.choice_group import ChoiceGroup
|
7
|
+
from ramifice.fields.general.field import Field
|
8
|
+
from ramifice.utils import globals
|
9
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
10
10
|
|
11
11
|
|
12
12
|
class ChoiceTextMultField(Field, ChoiceGroup, JsonMixin):
|
ramifice/fields/color_field.py
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
"""Field of Model for enter color code."""
|
2
2
|
|
3
|
-
from
|
4
|
-
from
|
5
|
-
from .
|
6
|
-
from .
|
3
|
+
from ramifice.fields.general.field import Field
|
4
|
+
from ramifice.fields.general.text_group import TextGroup
|
5
|
+
from ramifice.utils import globals
|
6
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
7
7
|
|
8
8
|
|
9
9
|
class ColorField(Field, TextGroup, JsonMixin):
|
ramifice/fields/date_field.py
CHANGED
@@ -7,9 +7,9 @@ from typing import Any
|
|
7
7
|
from babel.dates import format_date
|
8
8
|
from dateutil.parser import parse
|
9
9
|
|
10
|
-
from
|
11
|
-
from .general.
|
12
|
-
from .
|
10
|
+
from ramifice.fields.general.date_group import DateGroup
|
11
|
+
from ramifice.fields.general.field import Field
|
12
|
+
from ramifice.utils import globals, translations
|
13
13
|
|
14
14
|
|
15
15
|
class DateField(Field, DateGroup):
|
@@ -7,9 +7,9 @@ from typing import Any
|
|
7
7
|
from babel.dates import format_datetime
|
8
8
|
from dateutil.parser import parse
|
9
9
|
|
10
|
-
from
|
11
|
-
from .general.
|
12
|
-
from .
|
10
|
+
from ramifice.fields.general.date_group import DateGroup
|
11
|
+
from ramifice.fields.general.field import Field
|
12
|
+
from ramifice.utils import globals, translations
|
13
13
|
|
14
14
|
|
15
15
|
class DateTimeField(Field, DateGroup):
|
ramifice/fields/email_field.py
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
from email_validator import EmailNotValidError, validate_email
|
4
4
|
|
5
|
-
from
|
6
|
-
from
|
7
|
-
from .
|
8
|
-
from .
|
5
|
+
from ramifice.fields.general.field import Field
|
6
|
+
from ramifice.fields.general.text_group import TextGroup
|
7
|
+
from ramifice.utils import globals
|
8
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
9
9
|
|
10
10
|
|
11
11
|
class EmailField(Field, TextGroup, JsonMixin):
|
ramifice/fields/file_field.py
CHANGED
@@ -1,18 +1,19 @@
|
|
1
1
|
"""Field of Model for upload file."""
|
2
2
|
|
3
3
|
import os
|
4
|
-
import shutil
|
5
4
|
import uuid
|
6
5
|
from base64 import b64decode
|
7
6
|
from datetime import date
|
8
7
|
from pathlib import Path
|
9
|
-
from typing import Any
|
10
8
|
|
11
|
-
|
12
|
-
from
|
13
|
-
|
14
|
-
from .general.field import Field
|
15
|
-
from .general.file_group import FileGroup
|
9
|
+
import aiofiles
|
10
|
+
from aioshutil import copyfile
|
11
|
+
|
12
|
+
from ramifice.fields.general.field import Field
|
13
|
+
from ramifice.fields.general.file_group import FileGroup
|
14
|
+
from ramifice.utils import globals
|
15
|
+
from ramifice.utils.errors import FileHasNoExtensionError
|
16
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
16
17
|
|
17
18
|
|
18
19
|
class FileField(Field, FileGroup, JsonMixin):
|
@@ -91,7 +92,7 @@ class FileField(Field, FileGroup, JsonMixin):
|
|
91
92
|
|
92
93
|
self.value: dict[str, str | int | bool] | None = None
|
93
94
|
|
94
|
-
def from_base64(
|
95
|
+
async def from_base64(
|
95
96
|
self,
|
96
97
|
base64_str: str | None = None,
|
97
98
|
filename: str | None = None,
|
@@ -125,14 +126,14 @@ class FileField(Field, FileGroup, JsonMixin):
|
|
125
126
|
# Create path to target directory.
|
126
127
|
dir_target_path = f"{self.media_root}/{self.target_dir}/{date_str}"
|
127
128
|
# Create target directory if it does not exist.
|
128
|
-
if not os.path.exists(dir_target_path):
|
129
|
-
os.makedirs(dir_target_path)
|
129
|
+
if not await aiofiles.os.path.exists(dir_target_path):
|
130
|
+
await aiofiles.os.makedirs(dir_target_path)
|
130
131
|
# Create path to target file.
|
131
132
|
f_target_path = f"{dir_target_path}/{f_uuid_name}"
|
132
133
|
# Save file in target directory.
|
133
|
-
with open(f_target_path, mode="wb") as open_f:
|
134
|
+
async with aiofiles.open(f_target_path, mode="wb") as open_f:
|
134
135
|
f_content = b64decode(base64_str)
|
135
|
-
open_f.write(f_content)
|
136
|
+
await open_f.write(f_content)
|
136
137
|
# Add paths to target file.
|
137
138
|
file_info["path"] = f_target_path
|
138
139
|
file_info["url"] = f"{self.media_url}/{self.target_dir}/{date_str}/{f_uuid_name}"
|
@@ -141,12 +142,12 @@ class FileField(Field, FileGroup, JsonMixin):
|
|
141
142
|
# Add file extension.
|
142
143
|
file_info["extension"] = extension
|
143
144
|
# Add file size (in bytes).
|
144
|
-
file_info["size"] = os.path.getsize(f_target_path)
|
145
|
+
file_info["size"] = await aiofiles.os.path.getsize(f_target_path)
|
145
146
|
#
|
146
147
|
# to value.
|
147
148
|
self.value = file_info
|
148
149
|
|
149
|
-
def from_path(
|
150
|
+
async def from_path(
|
150
151
|
self,
|
151
152
|
src_path: str | None = None,
|
152
153
|
is_delete: bool = False,
|
@@ -170,12 +171,12 @@ class FileField(Field, FileGroup, JsonMixin):
|
|
170
171
|
# Create path to target directory.
|
171
172
|
dir_target_path = f"{self.media_root}/{self.target_dir}/{date_str}"
|
172
173
|
# Create target directory if it does not exist.
|
173
|
-
if not os.path.exists(dir_target_path):
|
174
|
-
os.makedirs(dir_target_path)
|
174
|
+
if not await aiofiles.os.path.exists(dir_target_path):
|
175
|
+
await aiofiles.os.makedirs(dir_target_path)
|
175
176
|
# Create path to target file.
|
176
177
|
f_target_path = f"{dir_target_path}/{f_uuid_name}"
|
177
178
|
# Save file in target directory.
|
178
|
-
|
179
|
+
await copyfile(src_path, f_target_path)
|
179
180
|
# Add paths to target file.
|
180
181
|
file_info["path"] = f_target_path
|
181
182
|
file_info["url"] = f"{self.media_url}/{self.target_dir}/{date_str}/{f_uuid_name}"
|
@@ -184,7 +185,7 @@ class FileField(Field, FileGroup, JsonMixin):
|
|
184
185
|
# Add file extension.
|
185
186
|
file_info["extension"] = extension
|
186
187
|
# Add file size (in bytes).
|
187
|
-
file_info["size"] = os.path.getsize(f_target_path)
|
188
|
+
file_info["size"] = await aiofiles.os.path.getsize(f_target_path)
|
188
189
|
#
|
189
190
|
# to value.
|
190
191
|
self.value = file_info
|
ramifice/fields/float_field.py
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
"""Field of Model for enter (float) number."""
|
2
2
|
|
3
|
-
from
|
4
|
-
from
|
5
|
-
from .
|
6
|
-
from .
|
3
|
+
from ramifice.fields.general.field import Field
|
4
|
+
from ramifice.fields.general.number_group import NumberGroup
|
5
|
+
from ramifice.utils import globals
|
6
|
+
from ramifice.utils.mixins.json_converter import JsonMixin
|
7
7
|
|
8
8
|
|
9
9
|
class FloatField(Field, NumberGroup, JsonMixin):
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
"""Abstract classes for the fields."""
|
@@ -1,9 +1,10 @@
|
|
1
1
|
"""General additional parameters for date|datetime fields."""
|
2
2
|
|
3
|
+
from abc import ABCMeta
|
3
4
|
from datetime import datetime
|
4
5
|
|
5
6
|
|
6
|
-
class DateGroup:
|
7
|
+
class DateGroup(metaclass=ABCMeta):
|
7
8
|
"""General additional parameters for date|datetime fields.
|
8
9
|
|
9
10
|
Attributes:
|
ramifice/fields/general/field.py
CHANGED
ramifice/fields/id_field.py
CHANGED