@@ -85,13 +85,18 @@ def get_from_dates(granularity):
8585 Get the dates from which to start querying for each ledger, which corresponds to the last updated date + the granularity
8686 (e.g. the month following the last update if granularity is 'month').
8787 :param granularity: The granularity of the data collection. Can be 'day', 'week', 'month', or 'year'.
88- :return: A dictionary with ledgers as keys and the corresponding start dates as values.
88+ :return: A dictionary with ledgers as keys and the corresponding start dates (or None if no date is set) as values.
8989 """
9090 with open (hlp .ROOT_DIR / "data_collection_scripts/last_update.json" ) as f :
9191 last_update = json .load (f )
92+ last_update = last_update [granularity ]
9293 from_dates = {}
9394 for ledger in last_update :
94- from_dates [ledger ] = hlp .increment_date (date = hlp .get_date_beginning (last_update [ledger ]), by = granularity )
95+ ledger_from_date = last_update [ledger ]
96+ if ledger_from_date is None :
97+ from_dates [ledger ] = None
98+ else :
99+ from_dates [ledger ] = hlp .increment_date (date = hlp .get_date_beginning (last_update [ledger ]), by = granularity )
95100 return from_dates
96101
97102
@@ -130,9 +135,14 @@ def update_last_update(ledger_last_updates):
130135 ledgers = args .ledgers
131136 granularity = hlp .get_granularity ()
132137 if granularity is None :
138+ # if no granularity is set, only the given snapshot date is queried
133139 ledger_snapshot_dates = {ledger : [hlp .get_date_string_from_date (to_date )] for ledger in ledgers }
134140 else :
141+ default_from_date = hlp .get_date_beginning (hlp .get_snapshot_dates ()[0 ])
135142 ledger_from_dates = get_from_dates (granularity = granularity )
136- ledger_snapshot_dates = {ledger : hlp .get_dates_between (ledger_from_dates [ledger ], to_date , granularity ) for ledger in ledgers }
143+ ledger_snapshot_dates = dict ()
144+ for ledger in ledgers :
145+ from_date = ledger_from_dates [ledger ] if ledger in ledger_from_dates and ledger_from_dates [ledger ] is not None else default_from_date
146+ ledger_snapshot_dates [ledger ] = hlp .get_dates_between (from_date , to_date , granularity )
137147 ledger_last_updates = collect_data (ledger_snapshot_dates = ledger_snapshot_dates , force_query = args .force_query )
138148 update_last_update (ledger_last_updates = ledger_last_updates )
0 commit comments