Skip to content

Commit

Permalink
Merge pull request #1408 from PeterNSteinmetz/antho_pegasus_v222
Browse files Browse the repository at this point in the history
Fix up changes from antho2422 Pegasus support pull request
  • Loading branch information
samuelgarcia authored Feb 27, 2024
2 parents 0fcc37f + 5ae91b5 commit e803ef4
Showing 1 changed file with 24 additions and 10 deletions.
34 changes: 24 additions & 10 deletions neo/rawio/neuralynxrawio/nlxheader.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,46 +81,52 @@ def _to_bool(txt):
"bml": dict(
datetime1_regex=r"## Time Opened: \(m/d/y\): (?P<date>\S+)" r" At Time: (?P<time>\S+)",
filename_regex=r"## File Name: (?P<filename>\S+)",
datetimeformat="%m/%d/%y %H:%M:%S.%f",
datetimeformat="%m/%d/%y %H:%M:%S.%f"
),
# Cheetah after version 1 and before version 5
"bv5": dict(
datetime1_regex=r"## Time Opened: \(m/d/y\): (?P<date>\S+)" r" At Time: (?P<time>\S+)",
filename_regex=r"## File Name: (?P<filename>\S+)",
datetimeformat="%m/%d/%Y %H:%M:%S.%f",
datetimeformat="%m/%d/%Y %H:%M:%S.%f"
),
# Cheetah version 5.4.0
"v5.4.0": dict(
datetime1_regex=r"## Time Opened \(m/d/y\): (?P<date>\S+)" r" At Time: (?P<time>\S+)",
datetime2_regex=r"## Time Closed \(m/d/y\): (?P<date>\S+)" r" At Time: (?P<time>\S+)",
filename_regex=r"## File Name: (?P<filename>\S+)",
datetimeformat="%m/%d/%Y %H:%M:%S.%f",
datetimeformat="%m/%d/%Y %H:%M:%S.%f"
),
# Cheetah version 5.6.0, some range of versions in between
"v5.6.0": dict(
datetime1_regex=r"## Time Opened: \(m/d/y\): (?P<date>\S+)" r" At Time: (?P<time>\S+)",
filename_regex=r"## File Name: (?P<filename>\S+)",
datetimeformat="%m/%d/%Y %H:%M:%S.%f",
datetimeformat="%m/%d/%Y %H:%M:%S.%f"
),
# Cheetah version 5 before and including v 5.6.4 as well as version 1
"bv5.6.4": dict(
datetime1_regex=r"## Time Opened \(m/d/y\): (?P<date>\S+)" r" \(h:m:s\.ms\) (?P<time>\S+)",
datetime2_regex=r"## Time Closed \(m/d/y\): (?P<date>\S+)" r" \(h:m:s\.ms\) (?P<time>\S+)",
filename_regex=r"## File Name (?P<filename>\S+)",
datetimeformat="%m/%d/%Y %H:%M:%S.%f",
datetimeformat="%m/%d/%Y %H:%M:%S.%f"
),
"neuraview2": dict(
datetime1_regex=r"## Date Opened: \(mm/dd/yyy\): (?P<date>\S+)" r" At Time: (?P<time>\S+)",
datetime2_regex=r"## Date Closed: \(mm/dd/yyy\): (?P<date>\S+)" r" At Time: (?P<time>\S+)",
filename_regex=r"## File Name: (?P<filename>\S+)",
datetimeformat="%m/%d/%Y %H:%M:%S",
datetimeformat="%m/%d/%Y %H:%M:%S"
),
'peg': dict(
datetime1_regex=r'-TimeCreated (?P<date>\S+) (?P<time>\S+)',
datetime2_regex=r'-TimeClosed (?P<date>\S+) (?P<time>\S+)',
filename_regex=r'-OriginalFileName "?(?P<filename>\S+)"?',
datetimeformat=r'%Y/%m/%d %H:%M:%S',
datetime2format=r'%Y/%m/%d %H:%M:%S.f'),
# Cheetah after v 5.6.4 and default for others such as Pegasus
"def": dict(
datetime1_regex=r"-TimeCreated (?P<date>\S+) (?P<time>\S+)",
datetime2_regex=r"-TimeClosed (?P<date>\S+) (?P<time>\S+)",
filename_regex=r'-OriginalFileName "?(?P<filename>\S+)"?',
datetimeformat="%Y/%m/%d %H:%M:%S",
datetimeformat="%Y/%m/%d %H:%M:%S"
),
}

Expand Down Expand Up @@ -266,6 +272,9 @@ def readTimeDate(self, txt_header):
elif an == "Neuraview":
hpd = NlxHeader.header_pattern_dicts["neuraview2"]
av = Version("2")
elif an == 'Pegasus':
hpd = NlxHeader.header_pattern_dicts['peg']
av = Version("2")
else:
an = "Unknown"
av = "NA"
Expand All @@ -278,9 +287,14 @@ def readTimeDate(self, txt_header):
)
else:
dt1 = sr.groupdict()
self["recording_opened"] = datetime.datetime.strptime(
dt1["date"] + " " + dt1["time"], hpd["datetimeformat"]
)
try: # allow two possible formats for date and time
self["recording_opened"] = datetime.datetime.strptime(
dt1["date"] + " " + dt1["time"], hpd["datetimeformat"])
except:
self["recording_opened"] = datetime.datetime.strptime(
dt1["date"] + " " + dt1["time"], hpd["datetime2format"])


# close time, if available
if "datetime2_regex" in hpd:
sr = re.search(hpd["datetime2_regex"], txt_header)
Expand Down

0 comments on commit e803ef4

Please sign in to comment.