Ver código fonte

popi_reimbursement: sort contributions by date, only show last 2 months

raylu 5 dias atrás
pai
commit
04bcaed0ed
1 arquivos alterados com 5 adições e 2 exclusões
  1. 5 2
      popi_reimbursement.py

+ 5 - 2
popi_reimbursement.py

@@ -1,5 +1,6 @@
 from __future__ import annotations
 
+import datetime
 import sys
 import typing
 
@@ -15,10 +16,12 @@ def main() -> None:
 
 	infras: typing.Sequence[Infrastructure] = cache.get(
 			'https://api.fnar.net/infrastructure?include_contributions=true&infrastructure=' + planet)
+	threshold = (datetime.datetime.now(datetime.UTC) - datetime.timedelta(days=60)).strftime('%Y-%m-%d')
 	for infra in infras:
 		print(infra['Type'])
+		infra['Contributions'].sort(key=lambda c: c['Time'])
 		for contribution in infra['Contributions']:
-			if contribution['ContributerName'] != config.company:
+			if contribution['ContributerName'] != config.company or contribution['Time'] < threshold:
 				continue
 			print('\t' + contribution['Time'])
 			for mat in contribution['Materials']:
@@ -40,7 +43,7 @@ def get_prices() -> typing.Mapping[str, float]:
 
 class Infrastructure(typing.TypedDict):
 	Type: str
-	Contributions: typing.Sequence[Contribution]
+	Contributions: list[Contribution]
 
 class Contribution(typing.TypedDict):
 	ContributerName: str