@@ -81,46 +81,52 @@ def _to_bool(txt):
8181 "bml" : dict (
8282 datetime1_regex = r"## Time Opened: \(m/d/y\): (?P<date>\S+)" r" At Time: (?P<time>\S+)" ,
8383 filename_regex = r"## File Name: (?P<filename>\S+)" ,
84- datetimeformat = "%m/%d/%y %H:%M:%S.%f" ,
84+ datetimeformat = "%m/%d/%y %H:%M:%S.%f"
8585 ),
8686 # Cheetah after version 1 and before version 5
8787 "bv5" : dict (
8888 datetime1_regex = r"## Time Opened: \(m/d/y\): (?P<date>\S+)" r" At Time: (?P<time>\S+)" ,
8989 filename_regex = r"## File Name: (?P<filename>\S+)" ,
90- datetimeformat = "%m/%d/%Y %H:%M:%S.%f" ,
90+ datetimeformat = "%m/%d/%Y %H:%M:%S.%f"
9191 ),
9292 # Cheetah version 5.4.0
9393 "v5.4.0" : dict (
9494 datetime1_regex = r"## Time Opened \(m/d/y\): (?P<date>\S+)" r" At Time: (?P<time>\S+)" ,
9595 datetime2_regex = r"## Time Closed \(m/d/y\): (?P<date>\S+)" r" At Time: (?P<time>\S+)" ,
9696 filename_regex = r"## File Name: (?P<filename>\S+)" ,
97- datetimeformat = "%m/%d/%Y %H:%M:%S.%f" ,
97+ datetimeformat = "%m/%d/%Y %H:%M:%S.%f"
9898 ),
9999 # Cheetah version 5.6.0, some range of versions in between
100100 "v5.6.0" : dict (
101101 datetime1_regex = r"## Time Opened: \(m/d/y\): (?P<date>\S+)" r" At Time: (?P<time>\S+)" ,
102102 filename_regex = r"## File Name: (?P<filename>\S+)" ,
103- datetimeformat = "%m/%d/%Y %H:%M:%S.%f" ,
103+ datetimeformat = "%m/%d/%Y %H:%M:%S.%f"
104104 ),
105105 # Cheetah version 5 before and including v 5.6.4 as well as version 1
106106 "bv5.6.4" : dict (
107107 datetime1_regex = r"## Time Opened \(m/d/y\): (?P<date>\S+)" r" \(h:m:s\.ms\) (?P<time>\S+)" ,
108108 datetime2_regex = r"## Time Closed \(m/d/y\): (?P<date>\S+)" r" \(h:m:s\.ms\) (?P<time>\S+)" ,
109109 filename_regex = r"## File Name (?P<filename>\S+)" ,
110- datetimeformat = "%m/%d/%Y %H:%M:%S.%f" ,
110+ datetimeformat = "%m/%d/%Y %H:%M:%S.%f"
111111 ),
112112 "neuraview2" : dict (
113113 datetime1_regex = r"## Date Opened: \(mm/dd/yyy\): (?P<date>\S+)" r" At Time: (?P<time>\S+)" ,
114114 datetime2_regex = r"## Date Closed: \(mm/dd/yyy\): (?P<date>\S+)" r" At Time: (?P<time>\S+)" ,
115115 filename_regex = r"## File Name: (?P<filename>\S+)" ,
116- datetimeformat = "%m/%d/%Y %H:%M:%S" ,
116+ datetimeformat = "%m/%d/%Y %H:%M:%S"
117117 ),
118+ 'peg' : dict (
119+ datetime1_regex = r'-TimeCreated (?P<date>\S+) (?P<time>\S+)' ,
120+ datetime2_regex = r'-TimeClosed (?P<date>\S+) (?P<time>\S+)' ,
121+ filename_regex = r'-OriginalFileName "?(?P<filename>\S+)"?' ,
122+ datetimeformat = r'%Y/%m/%d %H:%M:%S' ,
123+ datetime2format = r'%Y/%m/%d %H:%M:%S.f' ),
118124 # Cheetah after v 5.6.4 and default for others such as Pegasus
119125 "def" : dict (
120126 datetime1_regex = r"-TimeCreated (?P<date>\S+) (?P<time>\S+)" ,
121127 datetime2_regex = r"-TimeClosed (?P<date>\S+) (?P<time>\S+)" ,
122128 filename_regex = r'-OriginalFileName "?(?P<filename>\S+)"?' ,
123- datetimeformat = "%Y/%m/%d %H:%M:%S" ,
129+ datetimeformat = "%Y/%m/%d %H:%M:%S"
124130 ),
125131 }
126132
@@ -266,6 +272,9 @@ def readTimeDate(self, txt_header):
266272 elif an == "Neuraview" :
267273 hpd = NlxHeader .header_pattern_dicts ["neuraview2" ]
268274 av = Version ("2" )
275+ elif an == 'Pegasus' :
276+ hpd = NlxHeader .header_pattern_dicts ['peg' ]
277+ av = Version ("2" )
269278 else :
270279 an = "Unknown"
271280 av = "NA"
@@ -278,9 +287,14 @@ def readTimeDate(self, txt_header):
278287 )
279288 else :
280289 dt1 = sr .groupdict ()
281- self ["recording_opened" ] = datetime .datetime .strptime (
282- dt1 ["date" ] + " " + dt1 ["time" ], hpd ["datetimeformat" ]
283- )
290+ try : # allow two possible formats for date and time
291+ self ["recording_opened" ] = datetime .datetime .strptime (
292+ dt1 ["date" ] + " " + dt1 ["time" ], hpd ["datetimeformat" ])
293+ except :
294+ self ["recording_opened" ] = datetime .datetime .strptime (
295+ dt1 ["date" ] + " " + dt1 ["time" ], hpd ["datetime2format" ])
296+
297+
284298 # close time, if available
285299 if "datetime2_regex" in hpd :
286300 sr = re .search (hpd ["datetime2_regex" ], txt_header )
0 commit comments