Skip to content

Commit 2cf64ce

Browse files
authored
Merge pull request #40 from LeanderCS/37
39 | Add mixins
2 parents 0371327 + 8529666 commit 2cf64ce

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1053
-873
lines changed

docs/source/changelog.rst

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,29 @@ All notable changes to this project will be documented in this file.
88

99
Added
1010
^^^^^
11-
11+
- ``IsDateTimeValidator``
12+
- ``IsDateValidator``
1213

1314
Changed
1415
^^^^^^^
1516
- Updated ``IsTypedDictValidator` and ``IsDataclassValidator`` to require a specific model and
1617
checks if the input json is in the defined format.
18+
- Introduced Mixins for parts of InputFilter
19+
20+
- ``ConditionMixin``
21+
- ``DataMixin``
22+
- ``ErrorHandlingMixin``
23+
- ``ExternalApiMixin``
24+
- ``FieldMixin``
25+
- ``FilterMixin``
26+
- ``ModelMixin``
27+
- ``ValidationMixin``
1728

1829
Removed
1930
^^^^^^^
2031
- ``RemoveEmojisFilter``
2132
- ``ToPascaleCaseFilter``
33+
- ``SlugifyFilter``
2234

2335

2436
[0.2.0] - 2025-04-07

docs/source/options/copy.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Basic Copy Integration
2020
.. code-block:: python
2121
2222
from flask_inputfilter import InputFilter
23-
from flask_inputfilter.Filter import SlugifyFilter
23+
from flask_inputfilter.Filter import StringSlugifyFilter
2424
2525
class MyInputFilter(InputFilter):
2626
def __init__(self):
@@ -33,7 +33,7 @@ Basic Copy Integration
3333
self.add(
3434
"escapedUsername",
3535
copy="username"
36-
filters=[SlugifyFilter()]
36+
filters=[StringSlugifyFilter()]
3737
)
3838
3939
# Example usage
@@ -53,7 +53,7 @@ The coping can also be used as a chain.
5353
.. code-block:: python
5454
5555
from flask_inputfilter import InputFilter
56-
from flask_inputfilter.Filter import SlugifyFilter, ToUpperFilter, ToLowerFilter
56+
from flask_inputfilter.Filter import StringSlugifyFilter, ToUpperFilter, ToLowerFilter
5757
5858
class MyInputFilter(InputFilter):
5959
def __init__(self):
@@ -66,7 +66,7 @@ The coping can also be used as a chain.
6666
self.add(
6767
"escapedUsername",
6868
copy="username"
69-
filters=[SlugifyFilter()]
69+
filters=[StringSlugifyFilter()]
7070
)
7171
7272
self.add(

docs/source/options/filter.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ StringSlugifyFilter
224224
~~~~~~~~~~~~~~~~~~~
225225
**Description:**
226226

227-
Converts a string into a slug format without deprecation warnings.
227+
Converts a string into a slug format.
228228

229229
**Expected Behavior:**
230230

flask_inputfilter/Condition/CustomCondition.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class CustomCondition(BaseCondition):
88
Allows users to define their own condition as a callable.
99
"""
1010

11-
__slots__ = "condition"
11+
__slots__ = ("condition",)
1212

1313
def __init__(self, condition: Callable[[Dict[str, Any]], bool]) -> None:
1414
self.condition = condition

flask_inputfilter/Condition/ExactlyOneOfCondition.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class ExactlyOneOfCondition(BaseCondition):
88
Condition that ensures exactly one of the specified fields is present.
99
"""
1010

11-
__slots__ = "fields"
11+
__slots__ = ("fields",)
1212

1313
def __init__(self, fields: List[str]) -> None:
1414
self.fields = fields

flask_inputfilter/Condition/OneOfCondition.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class OneOfCondition(BaseCondition):
88
Condition that ensures at least one of the specified fields is present.
99
"""
1010

11-
__slots__ = "fields"
11+
__slots__ = ("fields",)
1212

1313
def __init__(self, fields: List[str]) -> None:
1414
self.fields = fields

flask_inputfilter/Condition/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from .IntegerBiggerThanCondition import IntegerBiggerThanCondition
1212
from .NOfCondition import NOfCondition
1313
from .NOfMatchesCondition import NOfMatchesCondition
14+
from .NotEqualCondition import NotEqualCondition
1415
from .OneOfCondition import OneOfCondition
1516
from .OneOfMatchesCondition import OneOfMatchesCondition
1617
from .RequiredIfCondition import RequiredIfCondition

flask_inputfilter/Filter/ArrayExplodeFilter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class ArrayExplodeFilter(BaseFilter):
88
Filter that splits a string into an array based on a specified delimiter.
99
"""
1010

11-
__slots__ = "delimiter"
11+
__slots__ = ("delimiter",)
1212

1313
def __init__(self, delimiter: str = ",") -> None:
1414
self.delimiter = delimiter

flask_inputfilter/Filter/BlacklistFilter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class BlacklistFilter(BaseFilter):
88
Filter that filters out values that are in the blacklist.
99
"""
1010

11-
__slots__ = "blacklist"
11+
__slots__ = ("blacklist",)
1212

1313
def __init__(self, blacklist: List[str]) -> None:
1414
self.blacklist = blacklist

flask_inputfilter/Filter/SlugifyFilter.py

Lines changed: 0 additions & 41 deletions
This file was deleted.

0 commit comments

Comments
 (0)