1+ import sys
2+ from FWCore .ParameterSet .VarParsing import VarParsing
3+
4+ def parse (argv ):
5+ sys .argv = ['test_varparsing_list.py' ,'maxEvents=100' ]+ argv # emulate user arguments
6+ opts = VarParsing ('standard' )
7+ opts .register ('myInts0' , '' , VarParsing .multiplicity .list , VarParsing .varType .int )
8+ opts .register ('myInts1' , [], VarParsing .multiplicity .list , VarParsing .varType .int )
9+ opts .register ('myInts2' , 0 , VarParsing .multiplicity .list , VarParsing .varType .int )
10+ opts .register ('myInts3' , [0 ], VarParsing .multiplicity .list , VarParsing .varType .int )
11+ opts .register ('myFloats0' , '' , VarParsing .multiplicity .list , VarParsing .varType .float )
12+ opts .register ('myFloats1' , [], VarParsing .multiplicity .list , VarParsing .varType .float )
13+ opts .register ('myFloats2' , 0 , VarParsing .multiplicity .list , VarParsing .varType .float )
14+ opts .register ('myFloats3' , [0 ], VarParsing .multiplicity .list , VarParsing .varType .float )
15+ opts .register ('myBools0' , '' , VarParsing .multiplicity .list , VarParsing .varType .bool )
16+ opts .register ('myBools1' , [], VarParsing .multiplicity .list , VarParsing .varType .bool )
17+ opts .register ('myBools2' , True , VarParsing .multiplicity .list , VarParsing .varType .bool )
18+ opts .register ('myBools3' , [True ], VarParsing .multiplicity .list , VarParsing .varType .bool )
19+ opts .register ('myStrs0' , '' , VarParsing .multiplicity .list , VarParsing .varType .string )
20+ opts .register ('myStrs1' , [], VarParsing .multiplicity .list , VarParsing .varType .string )
21+ opts .register ('myStrs2' , 'foo' , VarParsing .multiplicity .list , VarParsing .varType .string )
22+ opts .register ('myStrs3' , ['foo' ], VarParsing .multiplicity .list , VarParsing .varType .string )
23+ opts .parseArguments ()
24+ #print(f">>> Parsed: {sys.argv} -> lists={opts._lists}")
25+
26+ # parse without user arguments
27+ parse ([ ])
28+
29+ # parse with user arguments
30+ parse (['myInts1=0,1,-1' ,'myFloats1=3.14,0,0.0,-1.0' ,'myBools1=True,False' ,'myStrs1=foo,bar' ])
0 commit comments