Skip to content

Commit

Permalink
Fixes in mcplotloader for Python 3.12, relates to #1526
Browse files Browse the repository at this point in the history
  • Loading branch information
willend committed Dec 13, 2023
1 parent 8972b55 commit 022cf78
Showing 1 changed file with 31 additions and 31 deletions.
62 changes: 31 additions & 31 deletions tools/Python/mccodelib/mcplotloader.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,37 +153,37 @@ def _parse_1D_monitor(text):
try:
# load essential header data
'''# component: Ldetector'''
m = re.search('\# component: ([\w\.]+)', text)
m = re.search(r'\# component: ([\w\.]+)', text)
data.component = m.group(1)
'''# filename: Edet.dat'''
m = re.search('\# filename: ([\-\+\w\.\,]+)', text)
m = re.search(r'\# filename: ([\-\+\w\.\,]+)', text)
data.filename = m.group(1)
'''# title: Wavelength monitor'''
m = re.search('\# title: (%s)' % freetext_pat, text)
m = re.search(r'\# title: (%s)' % freetext_pat, text)
data.title = m.group(1)
'''# xlabel: Wavelength [AA]'''
m = re.search('\# xlabel: (%s)' % freetext_pat, text)
m = re.search(r'\# xlabel: (%s)' % freetext_pat, text)
data.xlabel = m.group(1)
'''# ylabel: Intensity'''
m = re.search('\# ylabel: (%s)' % freetext_pat, text)
m = re.search(r'\# ylabel: (%s)' % freetext_pat, text)
data.ylabel = m.group(1)

'''# xvar: L'''
m = re.search('\# xvar: ([\w]+)', text)
m = re.search(r'\# xvar: ([\w]+)', text)
data.xvar = m.group(1)
'''# xlimits: 5.5 6.5'''
m = re.search('\# xlimits: ([\d\.\-\+e]+) ([\d\.\-\+e]+)', text)
m = re.search(r'\# xlimits: ([\d\.\-\+e]+) ([\d\.\-\+e]+)', text)
data.xlimits = (float(m.group(1)), float(m.group(2)))

'''# yvar: (I,I_err)'''
m = re.search('\# yvar: \(([\w]+),([\w]+)\)', text)
m = re.search(r'\# yvar: \(([\w]+),([\w]+)\)', text)
data.yvar = (m.group(1), m.group(2))

'''# values: 6.72365e-17 4.07766e-18 4750'''
m = re.search('\# values: ([\d\-\+\.e]+) ([\d\-\+\.e]+) ([\d\-\+\.e]+)', text)
m = re.search(r'\# values: ([\d\-\+\.e]+) ([\d\-\+\.e]+) ([\d\-\+\.e]+)', text)
data.values = (Decimal(m.group(1)), Decimal(m.group(2)), float(m.group(3)))
'''# statistics: X0=5.99569; dX=0.0266368;'''
m = re.search('\# statistics: X0=([\d\.\-\+e]+); dX=([\d\.\-\+e]+);', text)
m = re.search(r'\# statistics: X0=([\d\.\-\+e]+); dX=([\d\.\-\+e]+);', text)
data.statistics = 'X0=%.2E; dX=%.2E;' % (Decimal(m.group(1)), Decimal(m.group(2)))

# load the actual data
Expand Down Expand Up @@ -221,51 +221,51 @@ def _parse_2D_monitor(text):
try:
# load essential header data
'''# component: detector'''
m = re.search('\# component: ([\w]+)', text)
m = re.search(r'\# component: ([\w]+)', text)
if m:
data.component = m.group(1)
else:
data.component = "(no comp name)"
'''# filename: PSD.dat'''
m = re.search('\# filename: ([\-\+\w\.\,]+)', text)
m = re.search(r'\# filename: ([\-\+\w\.\,]+)', text)
data.filename = m.group(1)
'''# title: PSD monitor'''
m = re.search('\# title: (%s)' % freetext_pat, text)
m = re.search(r'\# title: (%s)' % freetext_pat, text)
data.title = m.group(1)

'''# xlabel: X position [cm]'''
m = re.search('\# xlabel: (%s)' % freetext_pat, text)
m = re.search(r'\# xlabel: (%s)' % freetext_pat, text)
data.xlabel = m.group(1)
'''# ylabel: Y position [cm]'''
m = re.search('\# ylabel: (%s)' % freetext_pat, text)
m = re.search(r'\# ylabel: (%s)' % freetext_pat, text)
data.ylabel = m.group(1)

'''# xvar: X'''
m = re.search('\# xvar: (%s)' % freetext_pat, text)
m = re.search(r'\# xvar: (%s)' % freetext_pat, text)
data.xvar = m.group(1)
'''# yvar: Y '''
m = re.search('\# yvar: (%s)' % freetext_pat, text)
m = re.search(r'\# yvar: (%s)' % freetext_pat, text)
data.yvar = m.group(1)

'''# zvar: I '''
m = re.search('\# zvar: (%s)' % freetext_pat, text)
m = re.search(r'\# zvar: (%s)' % freetext_pat, text)
data.zvar = m.group(1)
'''
# xylimits: -30 30 -30 30
# xylimits: 0 5e+06 0.5 100
'''
m = re.search('\# xylimits: ([\d\.\-\+e]+) ([\d\.\-\+e]+) ([\d\.\-\+e]+) ([\d\.\-\+e]+)([\ \d\.\-\+e]*)', text)
m = re.search(r'\# xylimits: ([\d\.\-\+e]+) ([\d\.\-\+e]+) ([\d\.\-\+e]+) ([\d\.\-\+e]+)([\ \d\.\-\+e]*)', text)
data.xlimits = (float(m.group(1)), float(m.group(2)), float(m.group(3)), float(m.group(4)))

'''# values: 6.72365e-17 4.07766e-18 4750'''
m = re.search('\# values: ([\d\+\-\.e]+) ([\d\+\-\.e]+) ([\d\+\-\.e]+)', text)
m = re.search(r'\# values: ([\d\+\-\.e]+) ([\d\+\-\.e]+) ([\d\+\-\.e]+)', text)
data.values = (Decimal(m.group(1)), Decimal(m.group(2)), float(m.group(3)))
'''# statistics: X0=5.99569; dX=0.0266368;'''
m = re.search('\# statistics: X0=([\d\.\+\-e]+); dX=([\d\.\+\-e]+); Y0=([\d\.\+\-e]+); dY=([\d\.\+\-e]+);', text)
m = re.search(r'\# statistics: X0=([\d\.\+\-e]+); dX=([\d\.\+\-e]+); Y0=([\d\.\+\-e]+); dY=([\d\.\+\-e]+);', text)

data.statistics = 'X0=%.2E; dX=%.2E; Y0=%.2E; dY=%.2E;' % (Decimal(m.group(1)), Decimal(m.group(2)), Decimal(m.group(3)), Decimal(m.group(4)))
'''# signal: Min=0; Max=1.20439e-18; Mean=4.10394e-21;'''
m = re.search('\# signal: Min=([\ \d\.\+\-e]+); Max=([\ \d\.\+\-e]+); Mean=([\ \d\.\+\-e]+);', text)
m = re.search(r'\# signal: Min=([\ \d\.\+\-e]+); Max=([\ \d\.\+\-e]+); Mean=([\ \d\.\+\-e]+);', text)
data.signal = 'Min=%f; Max=%f; Mean=%f;' % (float(m.group(1)), float(m.group(2)), float(m.group(3)))

'''# Data [detector/PSD.dat] I:'''
Expand Down Expand Up @@ -318,7 +318,7 @@ def load(monfile):
text = open(f).read()
# determine 1D / 2D data

m = re.search('\# type: (\w+)', text)
m = re.search(r'\# type: (\w+)', text)
typ = m.group(1)
if typ == 'array_0d':
print("load_monitor: Not loading 0d dataset %s" % monitorfile)
Expand Down Expand Up @@ -381,32 +381,32 @@ def _load_multiplot_1D_lst(f_dat):

# NOTE: title this is overwritten below to be equal to yvar
'''# title: Scan of lambda'''
m = re.search('\# title: ([\w, ]+)', text)
m = re.search(r'\# title: ([\w, ]+)', text)
header.title = m.group(1)

'''# xlabel: 'lambda\''''
m = re.search('\# xlabel: ([\w \[\]\/\^\',]+)', text)
m = re.search(r'\# xlabel: ([\w \[\]\/\^\',]+)', text)
header.xlabel = m.group(1).strip("\'")
'''# ylabel: 'Intensity\''''
m = re.search('\# ylabel: ([\w \[\]\/\^\',]+)', text)
m = re.search(r'\# ylabel: ([\w \[\]\/\^\',]+)', text)
header.ylabel = m.group(1).strip("\'")

# NOTE: this only supports a single xvar
'''# xvars: lambda'''
m = re.search('\# xvars: ([\w, ]+)', text)
m = re.search(r'\# xvars: ([\w, ]+)', text)
header.xvar = m.group(1).replace(',', '')
num_xvars = len(header.xvar.split())

'''# xlimits: 6 7'''
m = re.search('\# xlimits: ([\d\.\-e]+) ([\d\.\-e]+)', text)
m = re.search(r'\# xlimits: ([\d\.\-e]+) ([\d\.\-e]+)', text)
header.xlimits = (float(m.group(1)), float(m.group(2)))

'''# variables: lambda Ldetector_I Ldetector_ERR PSDrad_I PSDrad_ERR PSDrad_I PSDrad_ERR detector_I detector_ERR'''
m = re.search('\# variables: ([\w ]+)', text)
m = re.search(r'\# variables: ([\w ]+)', text)
variables = m.group(1).split()

'''# yvars: (AutoTOFL0_I,AutoTOFL0_ERR) (AutoTOF0_I,AutoTOF0_ERR) (AutoL0_I,AutoL0_ERR) ...'''
m = re.search('\# yvars: ([\w \(\)\,]+)', text)
m = re.search(r'\# yvars: ([\w \(\)\,]+)', text)
unsplit = m.group(1)
unsplit = unsplit.replace('(', ' ')
unsplit = unsplit.replace(')', ' ')
Expand Down Expand Up @@ -529,7 +529,7 @@ def is_dat_file(f):
return False
f = open(f, 'rb')
line = f.readline().decode()
m = re.match('\# Format\: McCode with text headers', line)
m = re.match(r'\# Format\: McCode with text headers', line)
if m:
return True
return False
Expand Down

0 comments on commit 022cf78

Please sign in to comment.