Source code for pycif.plugins.obsvects.standard.fetch

import os
import datetime
import numpy as np

from ....utils import path
from logging import info


[docs] def default_fetch( ref_dir, ref_file, input_dates, target_dir, tracer=None, **kwargs ): info("Fetching input files using directory and file format") info("{}/{}".format(ref_dir, ref_file)) list_files = {} list_dates = {} for datei in input_dates: tmp_files = [] tmp_dates = [] for dd in input_dates[datei]: dir_dd = dd.strftime(ref_dir) file_dd = dd.strftime(ref_file) tmp_files.append("{}/{}".format(dir_dd, file_dd)) tmp_dates.append( dd if file_dd == ref_file else datetime.datetime.strptime(file_dd, ref_file)) # Fetching local_files = [] for f in tmp_files: target_file = "{}/{}".format(target_dir, os.path.basename(f)) path.link(f, target_file) local_files.append(target_file) # Remove duplicates dates_unique, index_unique = np.unique(tmp_dates, return_index=True) files_unique = np.array(local_files)[index_unique] index_sorted = np.argsort(dates_unique) list_files[datei] = list(files_unique[index_sorted]) list_dates[datei] = list(dates_unique[index_sorted]) return list_files, list_dates