@@ -84,11 +84,6 @@ def save(path: str, content: str):
84
84
f .write (content )
85
85
86
86
87
- def rates (year ):
88
- """Return Rates(year) for default location."""
89
- return Rates (year , default_folder ())
90
-
91
-
92
87
@dataclass
93
88
class Rates :
94
89
year : int
@@ -156,11 +151,6 @@ def to_dataframe(gen):
156
151
return df
157
152
158
153
159
- def get_df (year , folder ):
160
- r = Rates (year , folder )
161
- return r .dataframe ()
162
-
163
-
164
154
def concat_dataframes (dfs ):
165
155
df = pd .concat (dfs ).sort_index ()
166
156
return df [(df .sum (axis = 1 ) != 0 )]
@@ -176,15 +166,6 @@ def available_years():
176
166
return list (range (1990 , year_now () + 1 ))
177
167
178
168
179
- def from_years (years : list , folder : str ):
180
- dfs = []
181
- for year in years :
182
- r = Rates (year , folder )
183
- r .save_local ()
184
- dfs .append (r .dataframe ())
185
- return concat_dataframes (dfs )
186
-
187
-
188
169
def check_year (year ):
189
170
if year not in available_years ():
190
171
raise ValueError (f"{ year } not supported." )
@@ -194,7 +175,7 @@ def years(start_year, end_year):
194
175
check_year (start_year )
195
176
check_year (end_year )
196
177
assert start_year <= end_year
197
- return range (start_year , end_year + 1 )
178
+ return list ( range (start_year , end_year + 1 ) )
198
179
199
180
200
181
def save_xml (year , folder , overwrite = False ):
@@ -224,14 +205,22 @@ def save_rates(start_year, end_year, folder):
224
205
soft_save (year , folder )
225
206
226
207
227
- def read_rates (start_year , end_year , folder ):
228
- dfs = []
229
- for year in years (start_year , end_year ):
230
- r = Rates (year , folder )
231
- dfs .append (r .dataframe ())
208
+ # Used in testing to read both 1990 and 2021.
209
+ def from_years (years : list , folder : str ):
210
+ dfs = [get_df (year , folder ) for year in years ]
232
211
return concat_dataframes (dfs )
233
212
234
213
214
+ def read_rates (start_year , end_year , folder ):
215
+ year_range = years (start_year , end_year )
216
+ return from_years (year_range , folder )
217
+
218
+
219
+ def get_df (year , folder ):
220
+ r = Rates (year , folder )
221
+ return r .dataframe ()
222
+
223
+
235
224
def draw (folder = default_folder ()):
236
225
current_year = year_now ()
237
226
save_xml (current_year , folder , overwrite = True )
0 commit comments