Files
ds_quickbooks/__pycache__/ai_rules.cpython-311.pyc
T

39 lines
4.6 KiB
Plaintext
Raw Normal View History

§
@mbh‰ ãó‚ddlmZddlmZmZmZddlZddlmZm Z eGdd¦«¦«Z
Gdd¦«Z dS) é)Ú dataclass)ÚDictÚAnyÚListN)ÚReceiptÚ TransactioncóFeZdZUeed<eed<eed<eed<dZeed<dS)ÚAIRuleÚnameÚ conditionÚactionÚsourceÚactiveÚstatusN)Ú__name__Ú
__module__Ú __qualname__ÚstrÚ__annotations__r©óú&/Users/user/mkd/quickbooks/ai_rules.pyr
r
sFà
€I€I€N€N €K€K €K€K€FˆCÐÐÑÐÐrr
có–eZdZdZdZdededeee ffdZ
dededede fdZ d ed
eee fdedefd Z
d efd
ZdefdZdS)Ú
AIRulesEnginecó<g|_| ¦«dS©N)ÚrulesÚ_load_default_rules©Úselfs rÚ__init__zAIRulesEngine.__init__s!Ø#%ˆŒ
Ø × Ò Ñ"rcóztdddd¦«tdddd¦«tdd d
d¦«g|_dS) exact_amount_matchzamount_diff <= 0.01Ú auto_approveÚsystemÚsame_vendor_same_datezvendor_match and date_diff <= 1Úhigh_confidenceÚgas_station_patternzvendor contains 'gas' or 'fuel'Úcategorize_transport)r
rrs rrz!AIRulesEngine._load_default_rulessMå Ð'Ð)>ÀÐPXÑ Ð*Ð,MÐO`ÐbjÑ Ð(Ð*KÐMcÐemÑ 
ˆŒ
ˆ
ˆ
rÚreceiptÚ transactionÚreturncó°ddddœ}|jD]G}|jdkrŒ| |j||¦«r| |j|||¦«ŒH|S)NFr)r$Úconfidence_boostÚcategoryr)rrÚ_evaluate_conditionr Ú_execute_actionr
)r r*r+ÚresultsÚrules rÚ apply_ruleszAIRulesEngine.apply_rulesssØ#(¸aÈTÐRˆà”Jð Qð QˆŒ{˜à׬¸ÀÑ
QØ×$ T¤[°'¸7ÀKÑPøàˆrr c ópt|j|jz
¦«}t|j|jz
j¦«}|j ¦«|j ¦«vp1|j ¦«|j ¦«v}t||||||dœ¦«S)N)Ú amount_diffÚ date_diffÚ vendor_matchr*r+)ÚabsÚamountÚ receipt_dateÚtransaction_dateÚdaysÚvendorÚlowerÚeval)r r r*r+r6r7r8s rr0z!AIRulesEngine._evaluate_condition&ݘ'œ.¨;Ô+=Ñ>ˆ Ý˜Ô Ô0LÑSˆ Ø”~×Ô1C×1IÒ1IÑ1KÔ1KÐDÈ{ÔOa×OgÒOgÑOiÔOiÐmtÔm{÷nBònBñnDônDðPDˆ åØ 
ð
ñ ô ð rr
r2cój|dkrd|d<dS|dkr|dxxdz
cc<dS|dkrd|d<dSdS) Nr$Tr'r.gš™™™™™É?r)ÚTransportationr/r)r r
r2r*r+s rr1zAIRulesEngine._execute_action3spØ  #Ø&*ˆG
Ð
Ð '¨3Ñ
Ð
-Ø"2ˆG Ð Ð ð
-rr3có:|j |¦«dSr)rÚappend)r r3s rÚadd_rulezAIRulesEngine.add_rule;sØ Œ
×Ò˜$ÑÔÐÐÐrÚ rule_namecó8ˆfd|jD¦«|_dS)Ncó*g|]}|jk¯
|ŒSr)r )Ú.0ÚrrFs €rú