@@ -133,7 +133,7 @@ class iXml(iBase): IBM i XMLSERVICE raw xml input.
133133import xml .dom .minidom
134134# import inspect
135135
136- class iBase :
136+ class iBase ( object ) :
137137 """
138138 IBM i XMLSERVICE call addable operation(s).
139139
@@ -163,10 +163,9 @@ class iBase:
163163 """
164164 def __init__ (self , iopt = {}, idft = {}):
165165 # xml defaults
166- self .opt = idft
167- # xml options
168- for k ,v in iopt .items ():
169- self .opt [k ] = v
166+ self .opt = idft .copy ()
167+ self .opt .update (iopt )
168+
170169 # my children objects
171170 self .opt ['c' ] = []
172171
@@ -267,7 +266,7 @@ def __init__(self, ikey, icmd, iopt={}):
267266 myexec = 'rexx'
268267 else :
269268 myexec = 'cmd'
270- iBase . __init__ ( self , iopt , {'i' :ikey ,'k' :'cmd' ,'v' :icmd , 'exec' :myexec , 'error' :'fast' })
269+ super ( iCmd , self ). __init__ ( iopt , {'i' :ikey ,'k' :'cmd' ,'v' :icmd , 'exec' :myexec , 'error' :'fast' })
271270
272271
273272class iSh (iBase ):
@@ -303,7 +302,7 @@ class iSh(iBase):
303302 """
304303 def __init__ (self , ikey , icmd , iopt = {}):
305304 # parent class
306- iBase .__init__ (self , iopt , {'i' :ikey ,'k' :'sh' ,'v' :icmd , 'error' :'fast' })
305+ super ( iSh , self ) .__init__ (iopt , {'i' :ikey ,'k' :'sh' ,'v' :icmd , 'error' :'fast' })
307306
308307
309308class iCmd5250 (iSh ):
@@ -340,7 +339,7 @@ class iCmd5250(iSh):
340339 """
341340 def __init__ (self , ikey , icmd , iopt = {}):
342341 # parent class
343- iSh .__init__ (self , ikey , "/QOpenSys/usr/bin/system " + icmd )
342+ super ( iCmd5250 , self ) .__init__ (ikey , "/QOpenSys/usr/bin/system " + icmd )
344343
345344
346345class iPgm (iBase ):
@@ -384,7 +383,7 @@ class iPgm (iBase):
384383 """
385384 def __init__ (self , ikey , iname , iopt = {}):
386385 # parent class
387- iBase . __init__ ( self , iopt , {'i' :ikey ,'k' :'pgm' ,'v' :'' ,'name' :iname ,'error' :'fast' })
386+ super ( iPgm , self ). __init__ ( iopt , {'i' :ikey ,'k' :'pgm' ,'v' :'' ,'name' :iname ,'error' :'fast' })
388387 self .pcnt = 0 ;
389388
390389 def addParm (self , obj ):
@@ -434,7 +433,7 @@ def __init__(self, ikey, iname, ifunc, iopt={}):
434433 iopt = iopt .copy ()
435434 iopt ['func' ] = ifunc
436435 # parent class
437- iPgm . __init__ ( self , ikey , iname , iopt )
436+ super ( iSrvPgm , self ). __init__ ( ikey , iname , iopt )
438437
439438 def addRet (self , obj ):
440439 """Add a return structure child node.
@@ -480,7 +479,7 @@ class iParm (iBase):
480479 """
481480 def __init__ (self , ikey , iopt = {}):
482481 # parent class
483- iBase .__init__ (self , iopt , {'i' :ikey ,'k' :'parm' ,'v' :'' ,'io' :'both' })
482+ super ( iParm , self ) .__init__ (iopt , {'i' :ikey ,'k' :'parm' ,'v' :'' ,'io' :'both' })
484483
485484class iRet (iBase ):
486485 """
@@ -505,8 +504,7 @@ class iRet (iBase):
505504 """
506505 def __init__ (self , ikey ):
507506 # parent class
508- iopt = {}
509- iBase .__init__ (self ,iopt , {'i' :ikey ,'k' :'return' ,'v' :'' })
507+ super (iRet , self ).__init__ ({}, {'i' :ikey ,'k' :'return' ,'v' :'' })
510508
511509class iDS (iBase ):
512510 """
@@ -535,7 +533,7 @@ class iDS (iBase):
535533 """
536534 def __init__ (self , ikey , iopt = {}):
537535 # parent class
538- iBase .__init__ (self , iopt , {'i' :ikey ,'k' :'ds' ,'v' :'' })
536+ super ( iDS , self ) .__init__ (iopt , {'i' :ikey ,'k' :'ds' ,'v' :'' })
539537
540538 def addData (self , obj ):
541539 """Add a iData or iDS child node.
@@ -613,7 +611,7 @@ class iData (iBase):
613611 """
614612 def __init__ (self , ikey , itype , ival , iopt = {}):
615613 # parent class
616- iBase . __init__ ( self , iopt , {'i' :ikey ,'k' :'data' ,'v' :ival ,'type' :itype })
614+ super ( iData , self ). __init__ ( iopt , {'i' :ikey ,'k' :'data' ,'v' :ival ,'type' :itype })
617615
618616
619617class iSqlQuery (iBase ):
@@ -641,7 +639,7 @@ class iSqlQuery (iBase):
641639 """
642640 def __init__ (self , ikey , isql , iopt = {}):
643641 # parent class
644- iBase . __init__ ( self , iopt , {'i' :ikey ,'j' :'sql' ,'k' :'query' ,'v' :isql , 'error' :'fast' })
642+ super ( iSqlQuery , self ). __init__ ( iopt , {'i' :ikey ,'j' :'sql' ,'k' :'query' ,'v' :isql , 'error' :'fast' })
645643
646644
647645class iSqlPrepare (iBase ):
@@ -674,7 +672,7 @@ class iSqlPrepare (iBase):
674672 """
675673 def __init__ (self , ikey , isql , iopt = {}):
676674 # parent class
677- iBase . __init__ ( self , iopt , {'i' :ikey ,'j' :'sql' ,'k' :'prepare' ,'v' :isql , 'error' :'fast' })
675+ super ( iSqlPrepare , self ). __init__ ( iopt , {'i' :ikey ,'j' :'sql' ,'k' :'prepare' ,'v' :isql , 'error' :'fast' })
678676
679677
680678class iSqlExecute (iBase ):
@@ -700,7 +698,7 @@ class iSqlExecute (iBase):
700698 """
701699 def __init__ (self , ikey , iopt = {}):
702700 # parent class
703- iBase . __init__ ( self , iopt , {'i' :ikey ,'j' :'sql' ,'k' :'execute' ,'v' :'' , 'error' :'fast' })
701+ super ( iSqlExecute , self ). __init__ ( iopt , {'i' :ikey ,'j' :'sql' ,'k' :'execute' ,'v' :'' , 'error' :'fast' })
704702 self .pcnt = 0 ;
705703
706704 def addParm (self , obj ):
@@ -743,7 +741,7 @@ class iSqlFetch (iBase):
743741 """
744742 def __init__ (self , ikey , iopt = {}):
745743 # parent class
746- iBase . __init__ ( self , iopt , {'i' :ikey ,'j' :'sql' ,'k' :'fetch' ,'v' :'' ,'block' :'all' , 'error' :'fast' })
744+ super ( iSqlFetch , self ). __init__ ( iopt , {'i' :ikey ,'j' :'sql' ,'k' :'fetch' ,'v' :'' ,'block' :'all' , 'error' :'fast' })
747745
748746
749747class iSqlParm (iBase ):
@@ -773,7 +771,7 @@ class iSqlParm (iBase):
773771 """
774772 def __init__ (self , ikey , ival , iopt = {}):
775773 # parent class
776- iBase .__init__ (self , iopt , {'i' :ikey ,'k' :'parm' ,'v' :ival ,'io' :'both' })
774+ super ( iSqlParm , self ) .__init__ (iopt , {'i' :ikey ,'k' :'parm' ,'v' :ival ,'io' :'both' })
777775
778776
779777class iSqlFree (iBase ):
@@ -806,7 +804,7 @@ class iSqlFree (iBase):
806804 """
807805 def __init__ (self , ikey , iopt = {}):
808806 # parent class
809- iBase . __init__ ( self , iopt , {'i' :ikey ,'j' :'sql' ,'k' :'free' ,'v' :'' , 'error' :'fast' })
807+ super ( iSqlFree , self ). __init__ ( iopt , {'i' :ikey ,'j' :'sql' ,'k' :'free' ,'v' :'' , 'error' :'fast' })
810808
811809class iXml (iBase ):
812810 """
@@ -826,7 +824,7 @@ class iXml(iBase):
826824 Not commonly used, but ok when other classes fall short.
827825 """
828826 def __init__ (self , ixml ):
829- iBase .__init__ (self )
827+ super ( iXml , self ) .__init__ ()
830828 self .xml_body = ixml
831829
832830 def add (self , obj ):
0 commit comments