Change min_amount/max_amount columns for min/max
Simplifies the action creation.
This commit is contained in:
parent
a2b2f2c1d1
commit
6c33a94a5f
49
alembic/versions/753c0bfb2062_rule_min_max.py
Normal file
49
alembic/versions/753c0bfb2062_rule_min_max.py
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
"""Rule min/max
|
||||||
|
|
||||||
|
Revision ID: 753c0bfb2062
|
||||||
|
Revises: e36e6321568e
|
||||||
|
Create Date: 2022-12-18 00:24:03.861461+00:00
|
||||||
|
|
||||||
|
"""
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = "753c0bfb2062"
|
||||||
|
down_revision = "e36e6321568e"
|
||||||
|
branch_labels = None
|
||||||
|
depends_on = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade() -> None:
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
op.alter_column(
|
||||||
|
"categories_rules",
|
||||||
|
"min_amount",
|
||||||
|
new_column_name="min",
|
||||||
|
schema="transactions",
|
||||||
|
)
|
||||||
|
op.alter_column(
|
||||||
|
"categories_rules",
|
||||||
|
"max_amount",
|
||||||
|
new_column_name="max",
|
||||||
|
schema="transactions",
|
||||||
|
)
|
||||||
|
# ### end Alembic commands ###
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade() -> None:
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
op.alter_column(
|
||||||
|
"categories_rules",
|
||||||
|
"min",
|
||||||
|
new_column_name="min_amount",
|
||||||
|
schema="transactions",
|
||||||
|
)
|
||||||
|
op.alter_column(
|
||||||
|
"categories_rules",
|
||||||
|
"max",
|
||||||
|
new_column_name="max_amount",
|
||||||
|
schema="transactions",
|
||||||
|
)
|
||||||
|
# ### end Alembic commands ###
|
||||||
@ -75,11 +75,11 @@ class Categorizer:
|
|||||||
if rule.bank:
|
if rule.bank:
|
||||||
if rule.bank != transaction.bank:
|
if rule.bank != transaction.bank:
|
||||||
continue
|
continue
|
||||||
if rule.min_amount:
|
if rule.min:
|
||||||
if rule.min_amount > transaction.amount:
|
if rule.min > transaction.amount:
|
||||||
continue
|
continue
|
||||||
if rule.max_amount:
|
if rule.max:
|
||||||
if rule.max_amount < transaction.amount:
|
if rule.max < transaction.amount:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# passed all conditions, assign category
|
# passed all conditions, assign category
|
||||||
|
|||||||
@ -183,8 +183,8 @@ class CategoryRule(Base):
|
|||||||
description: Mapped[Optional[str]]
|
description: Mapped[Optional[str]]
|
||||||
regex: Mapped[Optional[str]]
|
regex: Mapped[Optional[str]]
|
||||||
bank: Mapped[Optional[str]]
|
bank: Mapped[Optional[str]]
|
||||||
min_amount: Mapped[Optional[money]]
|
min: Mapped[Optional[money]]
|
||||||
max_amount: Mapped[Optional[money]]
|
max: Mapped[Optional[money]]
|
||||||
|
|
||||||
def __hash__(self):
|
def __hash__(self):
|
||||||
return hash(self.id)
|
return hash(self.id)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user