MCPcopy Create free account
hub / github.com/DVampire/FinAgent / generate_intervals

Function generate_intervals

finagent/utils/misc.py:12–49  ·  view source on GitHub ↗
(start_date, end_date, interval_level='year')

Source from the content-addressed store, hash-verified

10from datetime import datetime, timedelta
11
12def generate_intervals(start_date, end_date, interval_level='year'):
13
14 intervals = []
15
16 if interval_level == 'year':
17 current_date = start_date
18 while current_date < end_date:
19 next_year = current_date.replace(year=current_date.year + 1)
20 if next_year > end_date:
21 next_year = end_date
22 interval = (current_date, next_year)
23 intervals.append(interval)
24 current_date = next_year
25 elif interval_level == 'day':
26 current_date = start_date
27 while current_date < end_date:
28 next_day = current_date + timedelta(days=1)
29 interval = (current_date, next_day)
30 intervals.append(interval)
31 current_date = next_day
32 elif interval_level == 'month':
33 current_date = start_date
34
35 while current_date < end_date:
36 year, month = current_date.year, current_date.month
37 if month == 12:
38 next_month = datetime(year + 1, 1, 1)
39 else:
40 next_month = datetime(year, month + 1, 1)
41 if next_month > end_date:
42 next_month = end_date
43 interval = (current_date, next_month)
44 intervals.append(interval)
45 current_date = next_month
46 else:
47 return None
48
49 return intervals
50
51def generate_dates(start_date, end_date, interval_level='year'):
52

Callers 10

check_downloadMethod · 0.90
downloadMethod · 0.90
check_downloadMethod · 0.90
downloadMethod · 0.90
check_downloadMethod · 0.90
downloadMethod · 0.90
check_downloadMethod · 0.90
downloadMethod · 0.90
check_downloadMethod · 0.90
downloadMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected