Upload files to "/"
This commit is contained in:
parent
efaf4e5dea
commit
b0a23cd1bd
57
recurmaid
Normal file
57
recurmaid
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
from datetime import datetime
|
||||||
|
from datetime import timedelta
|
||||||
|
from dateutil.relativedelta import relativedelta
|
||||||
|
from operator import itemgetter
|
||||||
|
import csv
|
||||||
|
|
||||||
|
file_db = os.path.realpath(__file__) + ".csv"
|
||||||
|
|
||||||
|
if not os.path.exists(file_db):
|
||||||
|
print("Couldn't find '" + file_db + "', exiting.")
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
data = list(csv.reader(open(file_db))) #NAME,PRICE[USD/EUR/ETC],DATE_START,PERIOD_RECUR[Y/M/D],CODE_COLOR
|
||||||
|
today = datetime.today().date()
|
||||||
|
temp = []
|
||||||
|
|
||||||
|
for x in data:
|
||||||
|
name = x[0]
|
||||||
|
price = "%0.2f" % float(x[1][:-3])
|
||||||
|
currency = x[1][-3:]
|
||||||
|
color = x[4]
|
||||||
|
date_start = datetime.strptime(x[2], "%Y-%m-%d").date()
|
||||||
|
|
||||||
|
date_next = date_start
|
||||||
|
delta = (today - date_start).days
|
||||||
|
period_recur = int(x[3][:-1])
|
||||||
|
unit_recur = x[3][-1:]
|
||||||
|
if unit_recur == "D":
|
||||||
|
while True:
|
||||||
|
date_next = date_next + timedelta(days=period_recur)
|
||||||
|
if date_next >= today: break
|
||||||
|
elif unit_recur == "M":
|
||||||
|
while True:
|
||||||
|
date_next = date_next + relativedelta(months=1)
|
||||||
|
if date_next >= today: break
|
||||||
|
elif unit_recur == "Y":
|
||||||
|
while True:
|
||||||
|
date_next = date_next + relativedelta(years=1)
|
||||||
|
if date_next >= today: break
|
||||||
|
temp.append([str(name), str(price), str(currency), str(color), str((date_next - today).days), str(date_next)])
|
||||||
|
|
||||||
|
dates = []
|
||||||
|
for x in temp:
|
||||||
|
dates.append(int(x[-2]))
|
||||||
|
|
||||||
|
while True:
|
||||||
|
smallest = min(dates)
|
||||||
|
res = min(list(enumerate(dates))[0:], key=itemgetter(1))[0]
|
||||||
|
print(str(temp[res][0]).ljust(16, " ") + " " + str(temp[res][1]).rjust(8, " ") + " " + str(temp[res][2])
|
||||||
|
+ "\t#" + str(temp[res][3]) + " NEXT: " + str(temp[res][4]).rjust(4, " ") + " days at " + str(temp[res][5]))
|
||||||
|
temp.pop(res)
|
||||||
|
dates.pop(res)
|
||||||
|
if len(temp) == 0:
|
||||||
|
break
|
6
recurmaid.csv
Normal file
6
recurmaid.csv
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
Stream Service 1,17.99EUR,2023-03-21,1M,EE9911
|
||||||
|
VPS,5USD,2023-01-16,1M,44BB66
|
||||||
|
Domain,10.72USD,2023-08-24,1Y,FF7777
|
||||||
|
Cell Phone,10.00EUR,2022-10-13,1M,33CCDD
|
||||||
|
Stream Service 2,10.00USD,2023-03-22,1M,11BB55
|
||||||
|
Bus,30.99USD,2023-04-25,31D,55DDFF
|
|
Loading…
Reference in New Issue
Block a user