Adds --save option to graph command
By passing the --save option the create graph is saved to a graph.png file. Entire argument dictionary passed to graph function.
This commit is contained in:
parent
35f6d46199
commit
0f5123d91e
@ -12,7 +12,9 @@ if TYPE_CHECKING:
|
|||||||
from pfbudget.database import DBManager
|
from pfbudget.database import DBManager
|
||||||
|
|
||||||
|
|
||||||
def monthly(db: DBManager, start: dt.date = dt.date.min, end: dt.date = dt.date.max):
|
def monthly(
|
||||||
|
db: DBManager, args: dict, start: dt.date = dt.date.min, end: dt.date = dt.date.max
|
||||||
|
):
|
||||||
transactions = db.get_daterange(start, end)
|
transactions = db.get_daterange(start, end)
|
||||||
start, end = transactions[0].date, transactions[-1].date
|
start, end = transactions[0].date, transactions[-1].date
|
||||||
monthly_transactions = tuple(
|
monthly_transactions = tuple(
|
||||||
@ -59,10 +61,15 @@ def monthly(db: DBManager, start: dt.date = dt.date.min, end: dt.date = dt.date.
|
|||||||
)
|
)
|
||||||
plt.legend(loc="upper left")
|
plt.legend(loc="upper left")
|
||||||
plt.tight_layout()
|
plt.tight_layout()
|
||||||
plt.savefig("graph.png")
|
if args["save"]:
|
||||||
|
plt.savefig("graph.png")
|
||||||
|
else:
|
||||||
|
plt.show()
|
||||||
|
|
||||||
|
|
||||||
def discrete(db: DBManager, start: dt.date = dt.date.min, end: dt.date = dt.date.max):
|
def discrete(
|
||||||
|
db: DBManager, args: dict, start: dt.date = dt.date.min, end: dt.date = dt.date.max
|
||||||
|
):
|
||||||
transactions = db.get_daterange(start, end)
|
transactions = db.get_daterange(start, end)
|
||||||
start, end = transactions[0].date, transactions[-1].date
|
start, end = transactions[0].date, transactions[-1].date
|
||||||
monthly_transactions = tuple(
|
monthly_transactions = tuple(
|
||||||
@ -118,4 +125,7 @@ def discrete(db: DBManager, start: dt.date = dt.date.min, end: dt.date = dt.date
|
|||||||
)
|
)
|
||||||
plt.legend(loc="upper left")
|
plt.legend(loc="upper left")
|
||||||
plt.tight_layout()
|
plt.tight_layout()
|
||||||
plt.savefig("graph.png")
|
if args["save"]:
|
||||||
|
plt.savefig("graph.png")
|
||||||
|
else:
|
||||||
|
plt.show()
|
||||||
|
|||||||
@ -89,6 +89,7 @@ def argparser() -> argparse.ArgumentParser:
|
|||||||
default="monthly",
|
default="monthly",
|
||||||
help="graph option help",
|
help="graph option help",
|
||||||
)
|
)
|
||||||
|
p_graph.add_argument("--save", action="store_true")
|
||||||
p_graph.set_defaults(func=graph)
|
p_graph.set_defaults(func=graph)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
@ -126,9 +127,9 @@ def graph(args):
|
|||||||
"""
|
"""
|
||||||
start, end = pfbudget.utils.parse_args_period(args)
|
start, end = pfbudget.utils.parse_args_period(args)
|
||||||
if args.option == "monthly":
|
if args.option == "monthly":
|
||||||
pfbudget.graph.monthly(DBManager(args.database), start, end)
|
pfbudget.graph.monthly(DBManager(args.database), vars(args), start, end)
|
||||||
elif args.option == "discrete":
|
elif args.option == "discrete":
|
||||||
pfbudget.graph.discrete(DBManager(args.database), start, end)
|
pfbudget.graph.discrete(DBManager(args.database), vars(args), start, end)
|
||||||
|
|
||||||
|
|
||||||
def report(args):
|
def report(args):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user