Proof of concept GnuCash Webinterface

Overview

Proof of Concept GnuCash Webinterface

This may one day be a something truly great.

Milestones

  • [ ] Browse accounts and view transactions
  • [ ] Record simple transactions with a smartphone

Quickstart

pip install -r requirements.txt
export FLASK_ENV=development
flask run

Disclaimer

This is (currently) a personal project to play around and satisfy my own everyday needs and intellectual curiosity. Who knows what will become of it?

Comments
  • Getting quotes

    Getting quotes

    Add a CLI-command to get quotes for securities in the database.

    piecash claims to support that, but I haven't found out how.

    See: https://flask.palletsprojects.com/en/2.0.x/cli/#custom-commands

    enhancement backend 
    opened by joshuabach 1
  • AttributeError in update_prices

    AttributeError in update_prices

    Output of gnucash-web commodities update_prices on my uberspace on Wed, 28 Dec 2022 23:00:29 +0000:

    New price for L4K3.DE: €[email protected] -> €[email protected]
    Traceback (most recent call last):
      File "/home/joshua/gnucash_web/ENV/bin/gnucash-web", line 8, in <module>
        sys.exit(cli())
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/core.py", line 1128, in __call__
        return self.main(*args, **kwargs)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/flask/cli.py", line 600, in main
        return super().main(*args, **kwargs)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/core.py", line 1053, in main
        rv = self.invoke(ctx)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/core.py", line 1659, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/core.py", line 1659, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/core.py", line 1395, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/core.py", line 754, in invoke
        return __callback(*args, **kwargs)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/decorators.py", line 26, in new_func
        return f(get_current_context(), *args, **kwargs)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/flask/cli.py", line 444, in decorator
        return __ctx.invoke(f, *args, **kwargs)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/core.py", line 754, in invoke
        return __callback(*args, **kwargs)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/decorators.py", line 26, in new_func
        return f(get_current_context(), *args, **kwargs)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/gnucash_web/commodities.py", line 117, in update_prices
        f"Price for {commodity.menmonic}:"
    AttributeError: 'Commodity' object has no attribute 'menmonic'
    
    bug backend 
    opened by joshuabach 0
  • Navbar at bottom of screen on mobile

    Navbar at bottom of screen on mobile

    On one-handed touch devices such as smartphones, it is usually more ergonomic to have the navbar at the bottom of the screen, where the thumb usually rests.

    This is also the default for the URL bar on Firefox for Android.

    Possible solution ist to do the following below a certain Bootstrap breakpoint:

    • Set navbar to class="fixed-bottom"
    • Invert .scrolled-up and .scrolled-down CSS rules
    • Remove top padding on body
    enhancement frontend responsiveness 
    opened by joshuabach 0
  • Make entering of expenses more convenient

    Make entering of expenses more convenient

    Entering an expense (negative transaction value) could be more convenient, e.g. by having a "expense / income" checkbox or a small "invert" button.

    enhancement frontend cosmetic responsiveness 
    opened by joshuabach 0
  • How to store GnuCash database in SQL

    How to store GnuCash database in SQL

    We should add a quick explanation to the README on how to either create an empty book in an SQL database or how to migrate an existing GnuCash-XML-File into an SQL-server using the desktop client.

    documentation 
    opened by joshuabach 2
Releases(v0.0.1)
Owner
Josh
Josh
Obfuscate your python code into a string of integers. De-obfuscate also supported.

int-obfuscator Obfuscate your python code into a string of integers. De-obfuscate also supported. How it works: Each printable character gets replaced

6 Nov 13, 2022
Scan all java processes on your host to check weather it's affected by log4j2 remote code execution

Log4j2 Vulnerability Local Scanner (CVE-2021-45046) Log4j 漏洞本地检测脚本,扫描主机上所有java进程,检测是否引入了有漏洞的log4j-core jar包,是否可能遭到远程代码执行攻击(CVE-2021-45046)。上传扫描报告到指定的服

86 Dec 09, 2022
Automatically fetch, measure, and merge subscription links on the network, use Github Action

Free Node Merge Introduction Modified from alanbobs999/TopFreeProxies It measures the speed of free nodes on the network and import the stable and hig

52 Jul 16, 2022
proof-of-concept running docker container from omero web

docker-from-omero-poc proof-of-concept running docker container from omero web How-to Edit test_script.py so that the BaseClient is created pointing t

Erick Martins Ratamero 2 Jan 22, 2022
A script to extract SNESticle from Fight Night Round 2

fn22snesticle.py A script for producing a SNESticle ISO from a Fight Night Round 2 ISO and any SNES ROM. Background Fight Night Round 2 is a boxing ga

Johannes Holmberg 57 Nov 22, 2022
Driver Buddy Reloaded is an IDA Pro Python plugin that helps automate some tedious Windows Kernel Drivers reverse engineering tasks.

Driver Buddy Reloaded Quickstart Table of Contents Installation Usage About Driver Buddy Reloaded Finding DispatchDeviceControl Labelling WDM & WDF St

Paolo 'VoidSec' Stagno 199 Jan 04, 2023
Python tool for exploiting CVE-2021-35616

OracleOTM Python tool for exploiting CVE-2021-35616 The script works in modules, which I implemented in the following order: ► Username enumeration ►

11 Dec 06, 2022
Wordlist attacks on Bitwarden data.json files

BitwardenDecryptBrute This is a slightly modified version of BitwardenDecrypt. In addition to the decryption this version can do wordlist attacks for

42 Nov 09, 2022
Small python script to look for common vulnerabilities on SMTP server.

BrokenSMTP BrokenSMTP is a python3 BugBounty/Pentesting tool to look for common vulnerabilities on SMTP server. Supported Vulnerability : Spoofing - T

39 Dec 16, 2022
Yesitsme - Simple OSINT script to find Instagram profiles by name and e-mail/phone

Simple OSINT script to find Instagram profiles by name and e-mail/phone

108 Jan 07, 2023
CVE-2022-21907 Vulnerability PoC

CVE-2022-21907 Description POC for CVE-2022-21907: HTTP Protocol Stack Remote Code Execution Vulnerability. create by antx at 2022-01-17, just some sm

Michele 16 Dec 18, 2022
Python low-interaction honeyclient

Thug The number of client-side attacks has grown significantly in the past few years shifting focus on poorly protected vulnerable clients. Just as th

Angelo Dell'Aera 896 Dec 19, 2022
Python library to prevent XSS(cross site scripting attach) by removing harmful content from data.

A tool for removing malicious content from input data before saving data into database. It takes input containing HTML with XSS scripts and returns va

2 Jul 05, 2022
2022-bridge - Example code belonging to the Bridge pattern video

Let's Take The Bridge Pattern To The Next Level This video covers how the bridge

11 Jun 14, 2022
Facebook account cloning/hacking advanced tool + dictionary attack added | Facebook automation tool

loggef Facebook automation tool, Facebook account hacking and cloning advanced tool + dictionary attack added Warning Use this tool for educational pu

Md Josif Khan 149 Aug 10, 2022
Compilation of resources and insights that helped me on my journey to data scientist

Compilation of resources and insights that helped me on my journey to data scientist

Conor Dewey 1.5k Jan 02, 2023
PrivateRoom - Make your work private by building a system using arduino which instantly kills a program when someone enters your room/cabin

privateRoom Make your work private by building a system using arduino which instantly kills a program when someone enters your room/cabin STEPS: Uploa

Divyanshu Kumar 3 Nov 08, 2022
这次是可可萝病毒!

可可萝病毒! 事情是这样的,我又开始不干正事了。 众所周知,在Python里,0x0等于0,但是不等于可可萝。 这很不好,我们得把它改成可可萝! 效果 一般的Python—— Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC

黄巍 29 Jul 14, 2022
WinRemoteEnum is a module-based collection of operations achievable by a low-privileged domain user.

WinRemoteEnum WinRemoteEnum is a module-based collection of operations achievable by a low-privileged domain user, sharing the goal of remotely gather

Simon 9 Nov 09, 2022
Advanced subdomain scanner, any domain hidden subdomains

little advanced subdomain scanner made in python, works very quick and has options to change the port u want it to connect for

Nano 5 Nov 23, 2021