Source code for omfit_classes.omfit_reviewplus

try:
    # framework is running
    from .startup_choice import *
except ImportError as _excp:
    # class is imported by itself
    if (
        'attempted relative import with no known parent package' in str(_excp)
        or 'No module named \'omfit_classes\'' in str(_excp)
        or "No module named '__main__.startup_choice'" in str(_excp)
    ):
        from startup_choice import *
    else:
        raise

from omfit_classes.omfit_ascii import OMFITascii

__all__ = ['OMFITreviewplus']


[docs]class OMFITreviewplus(SortedDict, OMFITascii): def __init__(self, filename='', **kw): OMFITascii.__init__(self, filename, **kw) SortedDict.__init__(self) self.dynaLoad = True
[docs] @dynaLoad def load(self): with open(self.filename, 'r') as f: lines = f.readlines() self['data'] = data = {} self['style'] = style = {} k = -1 kst = -1 mode = 'data' for line in lines[4:]: # ================ if mode == 'data' and line.startswith('----'): k = -1 mode = 'style' continue # ---------------- if line.strip() == '53': mode = 'data' k += 1 continue # ---------------- if line.strip() == '66': kst += 1 mode = 'style' continue # ================ if mode == 'style': if kst not in style: style[kst] = {} d = line.split('=') key = d[0] value = '='.join(d[1:]).strip() try: style[kst][key] = eval(value) except Exception: pass # print key,value # ---------------- if mode == 'data': if line.startswith('YEXP'): k += 1 if k not in data: data[k] = {} data[k]['__style__'] = kst d = line.split('=') key = d[0] value = '='.join(d[1:]).strip() try: data[k][key] = eval(value) except Exception: pass
# print key,value