解析数据源(ofx、qif、csv等)并导入gnucash文件。
gnucash-magical-importer的Python项目详细描述
gnucash魔法导入器
使用gnucash管理我的个人财务的脚本集。这个项目有许多gnucash文件的解析器。其目的是将不同的数据源集成到gnucash数据文件中。
gnucash的xml文件将充当事务数据库。所有其他报告都将由解析器生成。
信息来源
- Nubank信用卡
- ITAU的支票账户
- CEF的储蓄
- gnucash mobile(未追踪费用:钱包中的钱、礼物等)
- 布拉德斯科的储蓄
要求
- 运行集成的cronjob
- 从任何数据源,所有事务都必须集成到一个文件中
- 一个git提交的文件
- 导入文件的报告
- 将gnucash的xml文件保存为常规文件,而不是二进制文件(压缩的)-可以使用选项file compression=false在general section of gnucash configuration
财务管理
交易来源
- ITAU支票账户
- CEF储蓄
- 钱包里的钱
- 纽班克
- 布拉德斯科储蓄
分类器
主要目标
- 单笔交易
更复杂的操作
- 是另一笔大宗交易(带摊位购买)的一部分的交易
- 每月(经常性)付款:哈文、RCHLO和水电费(天然气、水、电)
环境
virtualenv
它不能与virtualenv一起使用,因为它依赖于python3 gnucash deb包和gnucash本身。 因此,您需要在操作系统中直接安装命令:
jefferson@nami.jeffersoncampos.eti.br: ~/universal/projects/gnucash/gnucash-magical-importer/ $ pip3 install -r requirements.txt
配置文件
此项目有一个setup.cfg文件(ini format),必须安装该文件才能运行应用程序。搜索顺序是:
- /etc/gnucash magical importer/setup.cfg
- /usr/local/etc/gnucash magical importer/setup.cfg
- /usr/etc/gnucash magical importer/setup.cfg
- ~/.gnucash magical importer/setup.cfg
您仍然可以使用make targetsetup cfg作为:
jefferson@nami.jeffersoncampos.eti.br: ~/universal/projects/gnucash/gnucash-magical-importer/ $ make setup-cfg
此外,还可以删除目标为remove cfg的文件,并查看目标为show cfg的目录内容。
码头工人
对于开发机器,可以使用Docker进行开发。用
jefferson@nami.jeffersoncampos.eti.br: ~/universal/projects/gnucash/gnucash-magical-importer/ $ sudo docker build -t foguinhoperuca/gnucash_magical_importer . --build-arg USE_APT_PROXY=True --build-arg APT_PROXY=192.168.1.101:8000
或
jefferson@nami.jeffersoncampos.eti.br: ~/universal/projects/gnucash/gnucash-magical-importer/ $ make docker_build
然后,使用以下命令运行测试:
jefferson@nami.jeffersoncampos.eti.br: ~/universal/projects/gnucash/gnucash-magical-importer/ $ docker run -ti foguinhoperuca/gnucash_magical_importer /bin/sh -c "make test-check"
或
jefferson@nami.jeffersoncampos.eti.br: ~/universal/projects/gnucash/gnucash-magical-importer/ $ make docker_run
使用bdsit轮进行黑客攻击
- 手动创建egg info bdsit(bdist_egg),并在build/bdsit.linux-x86_64/wheel;目录中将其复制为gnucash_magical_importer-0.1.0-py3.6.egg-info
- python3源代码中的注释行:sudo vim/usr/lib/python3.6/email/message.py 558和559;
- 然后,运行python3 setup.py sdist bdist_wheel;
- 最后,还原步骤2;
https://github.com/pypa/wheel/blob/master/wheel/bdist_wheel.py
类似项目
- https://github.com/tdf/pygnclib
- https://github.com/hjacobs/gnucash-fiximports
- https://github.com/hjacobs/gnucash-qif-import
- https://krzysztofzuraw.com/blog/2016/makefiles-in-python-projects.html
- https://github.com/sdementen/gnucash-utilities
- https://github.com/wesabe/fixofx(有一个x.py到genarete fixtures的fakeofx.py)
- https://gist.github.com/foguinhoperuca/ef11a07937e531b5d0e98271f1422de5(文档的css样式)