[grisbi-devel] [RFC] Détection automatique de la catégorie d'une transaction

Kevin Pouget kevin.pouget at gmail.com
Sat Jan 19 14:45:46 CET 2013


Bonjour,

je voudrais discuter avec vous d'un patch que je viens d'écrire pour
Grisbi, qui permet de "deviner" la catégorie d'une transaction en
fonction de son "payee" et "notes". J'ai mis le patch en PJ. Ce n'est
qu'un prototype, mais l'ensemble tourne et compile comme il faut. Si
besoin c'est aussi en ligne à cette adresse:
https://github.com/wazari972/Grisbi/tree/regexp__v_0.8.9

L'idée est simple, il y a souvent des mots-clés dans les champs payee
ou notes qui permettent de savoir dans quelle catégorie la transaction
va aller.

Je pars donc d'un fichier de configuration
(/home/kevin/categories.rgxp pour le moment; par la suite peut-être un
équivalent dan ~/.config, ou via les propriétés de la catégorie, je ne
sais pas vraiment ce qui est le mieux) de la forme
"<regex>/<categorie>\n *", par exemple "CARREFOUR CITY/Daily :
Supermarket".

La partie de gauche est une regex POSIX, donc "RET.* DAB" va trouver
"RET DAB" et "RETRAIT DAB". Je ne sais pas si les regex trop complexes
pour les utilisateurs de Grisbi, sinon on peut se limiter à des
mots-clés.
La partie de droite est 'juste' une chaine de caractére, qui sera
écrite dans le champs catégorie. Grisbi se charge du reste.

Je pense que le patch est assez lisible,  il faudra que je corrige un
peu la mise en forme, et peut-être adapter le code à glib, je ne
connais pas du tout donc j'ai sûrement loupé certains aspects. Avec
les regex j'ajoute aussi une dépendance à "<regex.h>".

J'ai aussi eu à modifier manuellement mes fichiers de comptes pour
ajouter 'proprement' mon bouton au formulaire:
    Form_organization="1-6-2-3-0-0-**21**-7-11-12-0-0-0-10-17-0-0-0-0-0-0-0-0-0"
-> le **21** était un 0.
Sinon il faut un hack/hook, si row == 1 et colonne == 0, ...

Et un dernier point, j'ai fait mes testes et dévelopements sur le code
de la version 0.8.9, mais il me semble que le patch s'applique
correctement sur les dernières versions du git.

Qu'en pensez-vous,

Kevin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-working-prototype-for-regex-based-category-guessing.patch
Type: application/octet-stream
Size: 7478 bytes
Desc: not available
URL: <http://listes.grisbi.org/pipermail/devel/attachments/20130119/abeb84fa/attachment.obj>


More information about the devel mailing list