def search_data_files(self, **kwargs): dt_fr = self.dt_fr dt_to = self.dt_to diff_months = dttool.get_diff_months(dt_fr, dt_to) dt0 = dttool.get_first_day_of_month(dt_fr) for i in range(diff_months + 1): thismonth = dttool.get_next_n_months(dt0, i) initial_file_dir = kwargs.pop('initial_file_dir', None) if initial_file_dir is None: initial_file_dir = self.data_root_dir / thismonth.strftime("%Y") file_patterns = [thismonth.strftime("%Y%m")] # remove empty str file_patterns = [pattern for pattern in file_patterns if str(pattern)] search_pattern = '*' + '*'.join(file_patterns) + '*' done = super().search_data_files( initial_file_dir=initial_file_dir, search_pattern=search_pattern ) # Validate file paths if not done and self.allow_download: done = self.download_data() if done: done = super().search_data_files( initial_file_dir=initial_file_dir, search_pattern=search_pattern) else: print('Cannot find files from the online database!') return done
def search_data_files(self, **kwargs): dt_fr = self.dt_fr dt_to = self.dt_to diff_months = dttool.get_diff_months(dt_fr, dt_to) dt0 = dttool.get_first_day_of_month(self.dt_fr) for i in range(diff_months + 1): this_day = dttool.get_next_n_months(dt0, i) initial_file_dir = kwargs.pop('initial_file_dir', self.data_root_dir) if self.sat_id == 'FO1': sat_id = 'C' else: raise NotImplementedError file_patterns = [ 'G' + sat_id, self.product.upper().replace('-', '_'), this_day.strftime('%Y_%m'), ] # remove empty str file_patterns = [ pattern for pattern in file_patterns if str(pattern) ] search_pattern = '*' + '*'.join(file_patterns) + '*' done = super().search_data_files( initial_file_dir=initial_file_dir, search_pattern=search_pattern, allow_multiple_files=False, ) # Validate file paths if (not done and self.allow_download) or self.force_download: done = self.download_data() if done: initial_file_dir = self.data_root_dir done = super().search_data_files( initial_file_dir=initial_file_dir, search_pattern=search_pattern, allow_multiple_files=False) return done
def search_data_files(self, **kwargs): dt_fr = self.dt_fr dt_to = self.dt_to diff_months = dttool.get_diff_months(dt_fr, dt_to) dt0 = dttool.get_first_day_of_month(dt_fr) for i in range(diff_months + 1): thismonth = dttool.get_next_n_months(dt0, i) if self.omni_res in ['1min', '5min']: initial_file_dir = kwargs.pop('initial_file_dir', None) if initial_file_dir is None: initial_file_dir = self.data_root_dir / \ (self.omni_type.upper() + '_high_res_' + self.omni_res) / \ '{:4d}'.format(thismonth.year) file_patterns = [self.omni_res, thismonth.strftime('%Y%m%d')] else: raise NotImplementedError # remove empty str search_pattern = kwargs.pop('search_pattern', None) if search_pattern is None: file_patterns = [ pattern for pattern in file_patterns if str(pattern) ] search_pattern = '*' + '*'.join(file_patterns) + '*' done = super().search_data_files(initial_file_dir=initial_file_dir, search_pattern=search_pattern) # Validate file paths if not done and self.allow_download: done = self.download_data() if done: done = super().search_data_files( initial_file_dir=initial_file_dir, search_pattern=search_pattern) else: print('Cannot find files from the online database!') return done