Skip to content

Commit e803ef4

Browse files
authored
Merge pull request #1408 from PeterNSteinmetz/antho_pegasus_v222
Fix up changes from antho2422 Pegasus support pull request
2 parents 0fcc37f + 5ae91b5 commit e803ef4

File tree

1 file changed

+24
-10
lines changed

1 file changed

+24
-10
lines changed

neo/rawio/neuralynxrawio/nlxheader.py

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)