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