From 42ac7a695709e1e0243f866b9fc3e47a35f66d31 Mon Sep 17 00:00:00 2001 From: Lionel GUEZ <guez@lmd.ens.fr> Date: Wed, 3 Mar 2021 23:35:28 +0100 Subject: [PATCH] Parse arguments with dateutil Files for EUREC4A have format `adt_YYYY-MM-DD.mat` while files for domain PhD-Lax and global domain have format `adt_YYYY-MM-DD.mat`, so we need something more general than strptime. --- Convert_Matlab/inst_eddies_v6.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Convert_Matlab/inst_eddies_v6.py b/Convert_Matlab/inst_eddies_v6.py index 75d21a0e..a90d74eb 100755 --- a/Convert_Matlab/inst_eddies_v6.py +++ b/Convert_Matlab/inst_eddies_v6.py @@ -17,6 +17,7 @@ import f90nml import sys import pty import os +from dateutil import parser def define_fields(writers): """writers is a dictionary of shapefile.Writer objects.""" @@ -95,10 +96,12 @@ def write(writers, cell, cyclone): if len(sys.argv) == 1: sys.exit("Required argument: first input .mat file") adt_file = sys.argv[1] dirname, basename = path.split(adt_file) -my_date = datetime.datetime.strptime(basename, "adt_%Y-%m-%d.mat").date() +my_date = parser.parse(basename, yearfirst=True, dayfirst = False, + fuzzy = True).date() if len(sys.argv) == 3: - final_date = datetime.datetime.strptime(sys.argv[2], "%Y-%m-%d").date() + final_date = parser.parse(sys.argv[2], yearfirst=True, dayfirst = False)\ + .date() else: final_date = my_date -- GitLab