Source code for wrainfo.error_flist

"""Create error file list module."""

# WRaINfo, Is a software to process FURUNO weather radar data.
#
# Copyright (c) 2022, FernLab (GFZ Potsdam, fernlab@gfz-potsdam.de)
#
# This software was developed within the context of the RaINfo ("Potential use of
# high resolution weather data in agriculture") project of FernLab funded by
# the Impulse and Networking Fund of the Helmholtz Association.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
#
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# imports
# -------

import pickle
from wrainfo.reader import load_error_flist
from wrainfo.reader import create_filelist
from wrainfo.reader import read_config_file


# create error flist
# ------------------

[docs]def create_error_filelist(out_dir): """Create error file list. Parameter --------- out_dir : str Output directory with filename Return ------ : file empty file in output directory. """ error_flist = [] with open(out_dir, 'wb') as fh: pickle.dump(error_flist, fh) print(f"-- output to {out_dir}") return True
# update error file list # ----------------------
[docs]def update_error_flist(start_time, end_time, path, pattern='_000.scnx.gz'): """Update error file list manually. Parameter --------- start_time : datetime.datetime end_time : datetime.datetime path : str Path to the configuration file pattern : str extension of the scnx file (elevation angle 0.5° = "_000.scnx.gz") Return ------ : list list of error files. """ error_flist = load_error_flist(path=path) flist = create_filelist(starttime=start_time, endtime=end_time, path=path, pattern=pattern) outdir = read_config_file(path=path, selection="output_path_error_flist") for fname in flist: print("Would you like add this file to error flist?" + "\n" + fname) user_input = input('Confirm? [Y/N] ') if user_input.lower() in ('y', 'yes'): error_flist.append(fname) print(fname + "\n" + "successfully added to error file list.") elif user_input.lower() in ('n', 'no'): continue print("Would you like save the changes to output directory?") user_input = input('Confirm? [Y/N] ') if user_input.lower() in ('y', 'yes'): with open(outdir, 'wb') as fp: pickle.dump(error_flist, fp) print("output to" + "\n" + outdir) return True elif user_input.lower() in ('n', 'no'): return error_flist