ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/RateMonShiftTool_dev/selectionParser.py
Revision: 1.2
Committed: Wed Mar 7 14:33:14 2012 UTC (13 years, 1 month ago) by grchrist
Content type: text/x-python
Branch: MAIN
CVS Tags: V00-02-06, V00-02-05, V00-02-04, V00-02-03, V00-02-01, V00-01-10, V-00-01-10, V00-01-09, V00-01-08, V00-01-07, V00-01-06, V00-01-05, V00-01-04, V00-01-03, V00-01-02, V00-01-01, V00-00-34, V00-00-33, MenuAnalyzer_V00-00-02, MenuAnalyzer_V00-00-01, MenuAnalyzer_V1, V00-00-32, V00-00-31, V00-00-30, V00-00-29, V00-00-28, V00-00-27, V00-00-26, V00-00-24, V00-00-23, V00-00-22, V00-00-21, V00-00-20, V00-00-19, V00-00-18, V00-00-17, V00-00-16, V00-00-15, V00-00-14, V00-00-13, V00-00-12, V00-00-11, V00-00-10, HEAD
Changes since 1.1: +41 -0 lines
Log Message:
added files

File Contents

# Content
1 import json
2 class selectionParser(object):
3 def __init__(self,selectStr):
4 self.__result={}
5 self.__strresult={}
6 strresult=json.loads(selectStr)
7 for k,v in strresult.items():
8 expandedvalues=[]
9 for w in v:
10 ###weed out [10]-like stuff just in case they exist
11 if len(w)==1:
12 expandedvalues.append(w[0])
13 ##weed out [10,10]-like stuff
14 elif len(w)==2 and w[0]==w[1]:
15 expandedvalues.append(w[0])
16 else:
17 for i in range(w[0],w[1]+1):
18 expandedvalues.append(i)
19 self.__result[int(k)]=expandedvalues
20 self.__strresult[k]=[str(x) for x in expandedvalues]
21 def runs(self):
22 return self.__result.keys()
23 def runsandls(self):
24 '''return expanded {run:lslist}
25 '''
26 return self.__result
27 def runsandlsStr(self):
28 '''return expanded {'run':lslist}
29 '''
30 return self.__strresult
31 def numruns(self):
32 return len(self.__result.keys())
33 def numls(self,run):
34 return len(self.__result[run])
35 if __name__ == "__main__":
36 s=selectionParser('{"1":[[3,45]],"2":[[4,8],[10,10]]}')
37 print 'runs : ',s.runs()
38 print 'full result : ',s.runsandls()
39 print 'str result : ',s.runsandlsStr()
40 print 'num runs : ',s.numruns()
41 print 'numls in run : ',s.numls(1)