File indexing completed on 2026-04-09 07:48:49
0001
0002 """
0003 OpticksGenstepEnum.py
0004 =======================
0005
0006 """
0007
0008 import os
0009 from collections import OrderedDict as odict
0010 from opticks.ana.base import ini_
0011
0012
0013 class OpticksGenstepEnum(object):
0014 def __init__(self):
0015 ini = ini_("$OPTICKS_PREFIX/include/OpticksCore/OpticksGenstep_Enum.ini")
0016
0017 code2name = odict()
0018 pfx = "OpticksGenstep_"
0019 for kv in sorted(ini.items(),key=lambda kv:int(kv[1])):
0020 assert kv[0].startswith(pfx)
0021 code2name[int(kv[1])] = kv[0][len(pfx):]
0022 pass
0023 self.code2name = code2name
0024
0025 def __call__(self, icode):
0026 return self.code2name.get(icode, "INVALID CODE")
0027
0028 def __repr__(self):
0029 return "\n".join(["%2d : %s " % (int(kv[0]), kv[1]) for kv in self.code2name.items()])
0030
0031
0032 if __name__ == '__main__':
0033 oge = OpticksGenstepEnum()
0034 print(oge)
0035