|
@@ -19,8 +19,8 @@ parser.add_argument('--dbpassword', type=str, default=None, help="Je PostgreSQL
|
|
|
parser.add_argument('--dbport', type=int, default=5432, help="Je PostgreSQL poort (standaard 5432)")
|
|
|
parser.add_argument('--dbname', type=str, default='voeding', help="De naam van je PostgreSQL database (standaard voeding)")
|
|
|
|
|
|
-parser.add_argument('--from-date', type=str, help="Datum vanaf wanneer je gegevens wilt ophalen (standaard vandaag)")
|
|
|
-parser.add_argument('--to-date', type=str, help="Datum tot wanneer je gegevens wilt ophalen (standaard vandaag)")
|
|
|
+parser.add_argument('--from-date', type=str, help="Datum vanaf wanneer je gegevens wilt ophalen")
|
|
|
+parser.add_argument('--to-date', type=str, help="Datum tot wanneer je gegevens wilt ophalen")
|
|
|
args = parser.parse_args()
|
|
|
|
|
|
def parse_date(date_string):
|
|
@@ -114,8 +114,28 @@ DATABASE = {'host': args.dbhost,
|
|
|
'password': args.dbpassword,
|
|
|
'dbname': args.dbname,
|
|
|
'port': args.dbport}
|
|
|
-DATE_FROM = parse_date(args.from_date) if args.from_date else date.today()
|
|
|
+
|
|
|
+conn = psycopg2.connect(**DATABASE)
|
|
|
+cursor = conn.cursor()
|
|
|
+
|
|
|
+# Controleer van welke datum we voor het laatst gegevens hebben
|
|
|
+cursor.execute(f"SELECT MAX(datum) FROM consumpties_{args.dbuser}")
|
|
|
+if cursor.rowcount == 1:
|
|
|
+ last_known_date = cursor.fetchone()[0]
|
|
|
+else:
|
|
|
+ last_known_date = None
|
|
|
+
|
|
|
+# Bepaal de datum range waarbinnen we gaan zoeken
|
|
|
+if args.from_date:
|
|
|
+ DATE_FROM = parse_date(args.from_date)
|
|
|
+elif last_known_date and last_known_date <= date.today():
|
|
|
+ DATE_FROM = last_known_date
|
|
|
+else:
|
|
|
+ DATE_FROM = date.today()
|
|
|
+
|
|
|
DATE_TO = parse_date(args.to_date) if args.to_date else date.today()
|
|
|
+if DATE_TO < DATE_FROM:
|
|
|
+ DATE_TO = DATE_FROM
|
|
|
|
|
|
data = download_data()
|
|
|
if not data:
|