Skip to content

Commit cb69e06

Browse files
committed
Add granularity to last_update file
1 parent b5ff32e commit cb69e06

File tree

2 files changed

+49
-10
lines changed

2 files changed

+49
-10
lines changed

data_collection_scripts/big_query_balance_data.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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)
Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,38 @@
11
{
2-
"bitcoin": "2023-11-01",
3-
"bitcoin_cash": "2023-11-01",
4-
"cardano": "2023-03-01",
5-
"dogecoin": "2023-11-01",
6-
"ethereum": "2023-08-01",
7-
"litecoin": "2023-11-01",
8-
"tezos": "2023-11-01"
2+
"day": {
3+
"bitcoin": null,
4+
"bitcoin_cash": null,
5+
"cardano": null,
6+
"dogecoin": null,
7+
"ethereum": null,
8+
"litecoin": null,
9+
"tezos": null
10+
},
11+
"week": {
12+
"bitcoin": null,
13+
"bitcoin_cash": null,
14+
"cardano": null,
15+
"dogecoin": null,
16+
"ethereum": null,
17+
"litecoin": null,
18+
"tezos": null
19+
},
20+
"month": {
21+
"bitcoin": "2023-11-01",
22+
"bitcoin_cash": "2023-11-01",
23+
"cardano": "2023-03-01",
24+
"dogecoin": "2023-11-01",
25+
"ethereum": "2023-08-01",
26+
"litecoin": "2023-11-01",
27+
"tezos": "2023-11-01"
28+
},
29+
"year": {
30+
"bitcoin": null,
31+
"bitcoin_cash": null,
32+
"cardano": null,
33+
"dogecoin": null,
34+
"ethereum": null,
35+
"litecoin": null,
36+
"tezos": null
37+
}
938
}

0 commit comments

Comments
 (0)