It separates the monthly transactions by categories and tracks income
and spending along the defined time range.
Now prints the total income/spending and the net result for the define
period of time.
Plot code is surrounded with an if False for future toggle on/off.
New `Transactions` class derived from `list` to add auxilliary methods to a
transaction list.
New get_transactions_by_(year,month,category) methods return dict sorted
by (year,month,category).
Also adds sort_by_bank inplace.
Get methods added for income, fixed expenses, variable expenses and
discretionary expenses.
Search has regex check to detect placeholder category. Removes the need
for an additional search.
reader.py is removed, with main.py becoming the main function where all
others are called from.
All categories added on categories.py, each with its own search function
and regex. The categorize function is also defined on the base class
The parsers have been cleaned to a more strimmed version. Each parser has
its own parse method and encoding and separator attributes.
The `Transaction` class has been incremented with all the comparator
methods. It also has the read and write from file methods.
The transactions.pickle is no longer used, since changes can be done
directly to the parsed data in the data_dir, making the file unused. A
manual categorization function has been created to help fill in the
gaps, interchangeable with directly editing the parsed .csv files. The
master record of data are the .csv present in the data_dir.
Working csv reader, which reorders the transactions on transaction.csv
based on date. Then it aggregates the information per month based on the
used categories, and prints that information.