Remove null rules from Categorizer

and allow for multiple null rules on the Nullifier.

Also create an empty list on the Nullifier constructor to simplify the
logic afterwards, in the case no "null" rule exist.
This commit is contained in:
Luís Murta 2024-01-21 11:17:40 +00:00
parent f966868736
commit 95eff24418
Signed by: satprog
GPG Key ID: 169EF1BBD7049F94
2 changed files with 13 additions and 3 deletions

View File

@ -101,10 +101,20 @@ class Manager:
categories = session.select(Category)
tags = session.select(Tag)
rules = [cat.rules for cat in categories if cat.name == "null"]
rules = [
rule
for cat in categories
if cat.name == "null"
for rule in cat.rules
]
Nullifier(rules).transform_inplace(uncategorized)
rules = [rule for cat in categories for rule in cat.rules]
rules = [
rule
for cat in categories
if cat.name != "null"
for rule in cat.rules
]
Categorizer(rules).transform_inplace(uncategorized)
rules = [rule for tag in tags for rule in tag.rules]

View File

@ -15,7 +15,7 @@ class Nullifier(Transformer):
NULL_DAYS = 4
def __init__(self, rules=None):
self.rules = rules
self.rules = rules if rules else []
def transform(self, transactions: Sequence[Transaction]) -> Sequence[Transaction]:
"""transform