File indexing completed on 2024-04-06 12:26:34
0001 from __future__ import print_function
0002 from builtins import range
0003 import json
0004 class selectionParser(object):
0005 def __init__(self,selectStr):
0006 self.__result={}
0007 self.__strresult={}
0008 strresult=json.loads(selectStr)
0009 for k,v in strresult.items():
0010 expandedvalues=[]
0011 for w in v:
0012 if len(w)==0:
0013 self.__result[int(k)]=expandedvalues
0014 self.__strresult[k]=[]
0015 continue
0016
0017 elif len(w)==1:
0018 expandedvalues.append(w[0])
0019
0020 elif len(w)==2 and w[0]==w[1]:
0021 expandedvalues.append(w[0])
0022 else:
0023 for i in range(w[0],w[1]+1):
0024 expandedvalues.append(i)
0025 self.__result[int(k)]=expandedvalues
0026 self.__strresult[k]=[str(x) for x in expandedvalues]
0027 def runs(self):
0028 return self.__result.keys()
0029 def runsandls(self):
0030 '''return expanded {run:lslist}
0031 '''
0032 return self.__result
0033 def runsandlsStr(self):
0034 '''return expanded {'run':lslist}
0035 '''
0036 return self.__strresult
0037 def numruns(self):
0038 return len(self.__result)
0039 def numls(self,run):
0040 return len(self.__result[run])
0041 if __name__ == "__main__":
0042 s=selectionParser('{"1":[[3,45]],"2":[[4,8],[10,10]],"3":[[]]}')
0043 print('runs : ',s.runs())
0044 print('full result : ',s.runsandls())
0045 print('str result : ',s.runsandlsStr())
0046 print('num runs : ',s.numruns())
0047 print('numls in run : ',s.numls(1))