Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion docs/source/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,29 @@ All notable changes to this project will be documented in this file.

Added
^^^^^

- ``IsDateTimeValidator``
- ``IsDateValidator``

Changed
^^^^^^^
- Updated ``IsTypedDictValidator` and ``IsDataclassValidator`` to require a specific model and
checks if the input json is in the defined format.
- Introduced Mixins for parts of InputFilter

- ``ConditionMixin``
- ``DataMixin``
- ``ErrorHandlingMixin``
- ``ExternalApiMixin``
- ``FieldMixin``
- ``FilterMixin``
- ``ModelMixin``
- ``ValidationMixin``

Removed
^^^^^^^
- ``RemoveEmojisFilter``
- ``ToPascaleCaseFilter``
- ``SlugifyFilter``


[0.2.0] - 2025-04-07
Expand Down
8 changes: 4 additions & 4 deletions docs/source/options/copy.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Basic Copy Integration
.. code-block:: python

from flask_inputfilter import InputFilter
from flask_inputfilter.Filter import SlugifyFilter
from flask_inputfilter.Filter import StringSlugifyFilter

class MyInputFilter(InputFilter):
def __init__(self):
Expand All @@ -33,7 +33,7 @@ Basic Copy Integration
self.add(
"escapedUsername",
copy="username"
filters=[SlugifyFilter()]
filters=[StringSlugifyFilter()]
)

# Example usage
Expand All @@ -53,7 +53,7 @@ The coping can also be used as a chain.
.. code-block:: python

from flask_inputfilter import InputFilter
from flask_inputfilter.Filter import SlugifyFilter, ToUpperFilter, ToLowerFilter
from flask_inputfilter.Filter import StringSlugifyFilter, ToUpperFilter, ToLowerFilter

class MyInputFilter(InputFilter):
def __init__(self):
Expand All @@ -66,7 +66,7 @@ The coping can also be used as a chain.
self.add(
"escapedUsername",
copy="username"
filters=[SlugifyFilter()]
filters=[StringSlugifyFilter()]
)

self.add(
Expand Down
2 changes: 1 addition & 1 deletion docs/source/options/filter.rst
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ StringSlugifyFilter
~~~~~~~~~~~~~~~~~~~
**Description:**

Converts a string into a slug format without deprecation warnings.
Converts a string into a slug format.

**Expected Behavior:**

Expand Down
2 changes: 1 addition & 1 deletion flask_inputfilter/Condition/CustomCondition.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class CustomCondition(BaseCondition):
Allows users to define their own condition as a callable.
"""

__slots__ = "condition"
__slots__ = ("condition",)

def __init__(self, condition: Callable[[Dict[str, Any]], bool]) -> None:
self.condition = condition
Expand Down
2 changes: 1 addition & 1 deletion flask_inputfilter/Condition/ExactlyOneOfCondition.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class ExactlyOneOfCondition(BaseCondition):
Condition that ensures exactly one of the specified fields is present.
"""

__slots__ = "fields"
__slots__ = ("fields",)

def __init__(self, fields: List[str]) -> None:
self.fields = fields
Expand Down
2 changes: 1 addition & 1 deletion flask_inputfilter/Condition/OneOfCondition.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class OneOfCondition(BaseCondition):
Condition that ensures at least one of the specified fields is present.
"""

__slots__ = "fields"
__slots__ = ("fields",)

def __init__(self, fields: List[str]) -> None:
self.fields = fields
Expand Down
1 change: 1 addition & 0 deletions flask_inputfilter/Condition/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
from .IntegerBiggerThanCondition import IntegerBiggerThanCondition
from .NOfCondition import NOfCondition
from .NOfMatchesCondition import NOfMatchesCondition
from .NotEqualCondition import NotEqualCondition
from .OneOfCondition import OneOfCondition
from .OneOfMatchesCondition import OneOfMatchesCondition
from .RequiredIfCondition import RequiredIfCondition
Expand Down
2 changes: 1 addition & 1 deletion flask_inputfilter/Filter/ArrayExplodeFilter.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class ArrayExplodeFilter(BaseFilter):
Filter that splits a string into an array based on a specified delimiter.
"""

__slots__ = "delimiter"
__slots__ = ("delimiter",)

def __init__(self, delimiter: str = ",") -> None:
self.delimiter = delimiter
Expand Down
2 changes: 1 addition & 1 deletion flask_inputfilter/Filter/BlacklistFilter.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class BlacklistFilter(BaseFilter):
Filter that filters out values that are in the blacklist.
"""

__slots__ = "blacklist"
__slots__ = ("blacklist",)

def __init__(self, blacklist: List[str]) -> None:
self.blacklist = blacklist
Expand Down
41 changes: 0 additions & 41 deletions flask_inputfilter/Filter/SlugifyFilter.py

This file was deleted.

2 changes: 1 addition & 1 deletion flask_inputfilter/Filter/ToDataclassFilter.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class ToDataclassFilter(BaseFilter):
Filter that converts a dictionary to a dataclass.
"""

__slots__ = "dataclass_type"
__slots__ = ("dataclass_type",)

def __init__(self, dataclass_type: Type[dict]) -> None:
self.dataclass_type = dataclass_type
Expand Down
2 changes: 1 addition & 1 deletion flask_inputfilter/Filter/ToEnumFilter.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ class ToEnumFilter(BaseFilter):
Filter that converts a value to an Enum instance.
"""

__slots__ = "enum_class"
__slots__ = ("enum_class",)

def __init__(self, enum_class: Type[Enum]) -> None:
self.enum_class = enum_class
Expand Down
2 changes: 1 addition & 1 deletion flask_inputfilter/Filter/ToNormalizedUnicodeFilter.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class ToNormalizedUnicodeFilter(BaseFilter):
Filter that normalizes a string to a specified Unicode form.
"""

__slots__ = "form"
__slots__ = ("form",)

def __init__(
self,
Expand Down
2 changes: 1 addition & 1 deletion flask_inputfilter/Filter/ToTypedDictFilter.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class ToTypedDictFilter(BaseFilter):
Filter that converts a dictionary to a TypedDict.
"""

__slots__ = "typed_dict"
__slots__ = ("typed_dict",)

def __init__(self, typed_dict: Type[TypedDict]) -> None:
self.typed_dict = typed_dict
Expand Down
2 changes: 1 addition & 1 deletion flask_inputfilter/Filter/TruncateFilter.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class TruncateFilter(BaseFilter):
Filter that truncates a string to a specified maximum length.
"""

__slots__ = "max_length"
__slots__ = ("max_length",)

def __init__(self, max_length: int) -> None:
self.max_length = max_length
Expand Down
2 changes: 1 addition & 1 deletion flask_inputfilter/Filter/WhitelistFilter.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
class WhitelistFilter(BaseFilter):
"""Filter that filters out values that are not in the whitelist."""

__slots__ = "whitelist"
__slots__ = ("whitelist",)

def __init__(self, whitelist: List[str] = None) -> None:
self.whitelist = whitelist
Expand Down
1 change: 0 additions & 1 deletion flask_inputfilter/Filter/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
from .Base64ImageDownscaleFilter import Base64ImageDownscaleFilter
from .Base64ImageResizeFilter import Base64ImageResizeFilter
from .BlacklistFilter import BlacklistFilter
from .SlugifyFilter import SlugifyFilter
from .StringRemoveEmojisFilter import StringRemoveEmojisFilter
from .StringSlugifyFilter import StringSlugifyFilter
from .StringTrimFilter import StringTrimFilter
Expand Down
Loading