From 3fb1e33dbba945235e057088a87ad7287465fcd2 Mon Sep 17 00:00:00 2001 From: Jacob Babor Date: Sun, 15 Dec 2024 15:11:11 -0600 Subject: [PATCH] More workin on it --- invoice.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/invoice.py b/invoice.py index daadd17..19ec856 100755 --- a/invoice.py +++ b/invoice.py @@ -7,25 +7,28 @@ # Distributed under terms of the MIT license. from csv import DictReader -from datetime import date +import datetime import glob import re import requests import textwrap +# Config globals rate = float(41.00) timesheet = {} +# First, acquire a CSV to look at csv = glob.glob('*.csv') if not csv: print('No csv found!') quit() +# Then, open that CSV and collect its data, storing it in timesheet with open(csv[0], 'r') as csv: items = DictReader(csv) for row in items: issue = row["Issue Key"] - date = row["Work date"] + date = datetime.datetime.strptime(row["Work date"], '%Y-%m-%d %H:%M').strftime('%Y-%m-%d') hours = float(row["Hours"]) if not date in timesheet.keys(): @@ -35,7 +38,23 @@ with open(csv[0], 'r') as csv: timesheet[date][issue] = 0 timesheet[date][issue] += hours + +# Next, construct args for the request we'll make to invoice-generator.com's API +requestbody = { + "from": "JACOB", + "to": "CLIENT", + "number": 9999, + "date": "CURRENT_DATE", + "due_date": "DUE_DATE", + "terms": "Net 14 days", + "items": [] +} for k,v in timesheet.items(): print(k) for i,h in v.items(): + requestbody["items"] += { + "name": f"" + } print(f'{ i } - { h }') + +# Submit said request