Keep ang_lims as nonlocal var

This commit is contained in:
2022-04-12 16:44:47 +02:00
parent e2220760f0
commit de2a10b507
2 changed files with 9 additions and 6 deletions

View File

@ -23,6 +23,7 @@ import pyzebra
def create(): def create():
ang_lims = None
cif_data = None cif_data = None
anglim_div = Div(text="Angular min/max limits:") anglim_div = Div(text="Angular min/max limits:")
@ -56,8 +57,10 @@ def create():
ranges_expression.value = params["SRANG"] ranges_expression.value = params["SRANG"]
def open_geom_callback(_attr, _old, new): def open_geom_callback(_attr, _old, new):
nonlocal ang_lims
with io.StringIO(base64.b64decode(new).decode()) as fileobj: with io.StringIO(base64.b64decode(new).decode()) as fileobj:
_update_ang_lims(pyzebra.read_geom_file(fileobj)) ang_lims = pyzebra.read_geom_file(fileobj)
_update_ang_lims(ang_lims)
open_geom_div = Div(text="or open GEOM:") open_geom_div = Div(text="or open GEOM:")
open_geom = FileInput(accept=".geom", width=200) open_geom = FileInput(accept=".geom", width=200)
@ -115,13 +118,15 @@ def create():
ranges_expression = TextInput(title="sin(​θ​)/λ", value="0.0 0.7", width=200) ranges_expression = TextInput(title="sin(​θ​)/λ", value="0.0 0.7", width=200)
def geom_radiogroup_callback(_attr, _old, new): def geom_radiogroup_callback(_attr, _old, new):
nonlocal ang_lims
if new == 0: if new == 0:
geom_file = pyzebra.get_zebraBI_default_geom_file() geom_file = pyzebra.get_zebraBI_default_geom_file()
else: else:
geom_file = pyzebra.get_zebraNB_default_geom_file() geom_file = pyzebra.get_zebraNB_default_geom_file()
cfl_file = pyzebra.get_zebra_default_cfl_file() cfl_file = pyzebra.get_zebra_default_cfl_file()
_update_ang_lims(pyzebra.read_geom_file(geom_file)) ang_lims = pyzebra.read_geom_file(geom_file)
_update_ang_lims(ang_lims)
_update_params(pyzebra.read_cfl_file(cfl_file)) _update_params(pyzebra.read_cfl_file(cfl_file))
geom_radiogroup_div = Div(text="Geometry:") geom_radiogroup_div = Div(text="Geometry:")

View File

@ -5,8 +5,7 @@ import subprocess
SXTAL_REFGEN_PATH = "/afs/psi.ch/project/sinq/rhel7/bin/Sxtal_Refgen" SXTAL_REFGEN_PATH = "/afs/psi.ch/project/sinq/rhel7/bin/Sxtal_Refgen"
_zebraBI_default_geom = """! _zebraBI_default_geom = """GEOM 2 Bissecting - HiCHI
GEOM 2 Bissecting - HiCHI
BLFR z-up BLFR z-up
DIST_UNITS mm DIST_UNITS mm
ANGL_UNITS deg ANGL_UNITS deg
@ -26,8 +25,7 @@ ANG_LIMITS Min Max Offset
DET_OFF 0 0 0 DET_OFF 0 0 0
""" """
_zebraNB_default_geom = """! _zebraNB_default_geom = """GEOM 3 Normal Beam
GEOM 3 Normal Beam
BLFR z-up BLFR z-up
DIST_UNITS mm DIST_UNITS mm
ANGL_UNITS deg ANGL_UNITS deg