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