From 451ddc0121a21d8da700a22aa15e067a06022642 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20V=C3=A9ril?= Date: Sat, 28 Mar 2020 16:07:53 +0100 Subject: [PATCH] Add DOUBLETBE format --- tools/lib/data.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tools/lib/data.py b/tools/lib/data.py index 0812bab7..d1309d3d 100644 --- a/tools/lib/data.py +++ b/tools/lib/data.py @@ -228,6 +228,30 @@ class dataFileBase(object): for dat in value: datalist.append(dat) return datalist + elif format==Format.DOUBLETBE: + datacls=dict() + subtablesMol=getSubtableIndex(table) + for firstMol, lastMol in subtablesMol: + data=AbsDataFile() + data.molecule=str(table[firstMol,0]) + data.method=method("TBE","CBS") + for mytrans in table[firstMol:lastMol+1]: + try: + mathsoup=TexSoup(mytrans[1]) + except: + print(f"Error when parsing latex state: {str(mytransdesc[i])}") + exit(-1) + newCommand.runAll(mathsoup,commands) + mytransdesc=str(mathsoup) + infin=mytransdesc.split(r"\rightarrow") + for i,item in enumerate(infin): + m=re.match(r"^(?P\d)\\[,:;\s]\s*\^(?P\d)(?P\S*)",item.strip()) + infin[i]=state(m.group("number"),m.group("multiplicity"),m.group("sym")) + cell=mytrans[6] + val,unsafe=getValFromCell(cell) + data.excitations.append(excitationValue(infin[0],infin[1],val,isUnsafe=unsafe)) + datalist.append(data) + return datalist def getMetadata(self): dic=OrderedDict()