def get_2015_16_warnings(how_to_get_data='Get new and dont pickle', pickle_file_name=None): ''' :param hot_to_get_data: 'Get new and dont pickle', 'Get new and save pickle' or 'Load pickle' :param file_name: Not needed if no pickles involved :return: ''' if 'Get new' in how_to_get_data: from_date = dt.date(2015, 11, 30) #to_date = dt.date.today() to_date = dt.date(2016, 05, 31) region_ids = [117, 128] # Trollheimen region_ids = gm.get_active_forecast_regions() all_warnings = [] for region_id in region_ids: all_warnings += gd.get_forecasted_dangers(region_id, from_date, to_date, include_problems=True, include_ikke_vurdert=False) # Sort by date all_warnings = sorted(all_warnings, key=lambda AvalancheDanger: AvalancheDanger.date) if 'and save pickle' in how_to_get_data: mp.pickle_anything(all_warnings, pickle_file_name) elif 'Load pickle' in how_to_get_data: all_warnings = mp.unpickle_anything(pickle_warnings_file_name) else: all_warnings = 'No valid data retrival method given in get_2015_16_warnings.' return all_warnings
def get_data(from_date, to_date, region_ids, pickle_file_name_1, get_new): '''Timeconsuming and inefficient. Not proud.. :param from_date: :param to_date: :param region_ids: :param pickle_file_name_1: :param get_new: :return: ''' if get_new: # get all data and save to pickle all_incidents = go.get_incident(from_date, to_date, region_ids=region_ids, geohazard_tid=10) all_forecasts = [] for region_id in region_ids: all_forecasts += gd.get_forecasted_dangers(region_id, from_date, to_date, include_problems=True) mp.pickle_anything([all_forecasts, all_incidents], pickle_file_name_1) else: # load data from pickle all_forecasts, all_incidents = mp.unpickle_anything(pickle_file_name_1) return all_forecasts, all_incidents