From: Marc Fiuczynski Date: Wed, 20 May 2009 17:53:37 +0000 (+0000) Subject: modularize better X-Git-Tag: PLCAPI-4.3-15~20 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=48871453aa1a8f52bc5204f8b3e826b473733fb1;p=plcapi.git modularize better --- diff --git a/PLC/Legacy/NodeNetworks.py b/PLC/Legacy/NodeNetworks.py index ee791b3..4a1e404 100644 --- a/PLC/Legacy/NodeNetworks.py +++ b/PLC/Legacy/NodeNetworks.py @@ -41,22 +41,15 @@ def v43rename (x): # apply rename on list (columns) or dict (filter) args -def patch_legacy_arg (arg,rename): +def patch_legacy (arg,rename): if isinstance(arg,list): - return [rename(x) for x in arg] + for i in range(0,len(arg)): + arg[i] = patch_legacy(arg[i],rename) + return arg if isinstance(arg,dict): return dict ( [ (rename(k),v) for (k,v) in arg.iteritems() ] ) return rename(arg) -def patch_legacy_return (retval,rename): - if isinstance(retval,list): - for i in range(0,len(retval)): - retval[i] = patch_legacy_return(retval[i],rename) - return retval - if isinstance(retval,dict): - return dict ( [ (rename(k),v) for (k,v) in retval.iteritems() ] ) - return rename(retval) - def legacy_method (legacyname): # new method name newname=legacyname.replace("NodeNetwork","Interface").replace("Setting","Tag") @@ -73,10 +66,10 @@ def legacy_method (legacyname): # rewrite call def wrapped_call (self,auth,*args, **kwds): print "%s: self.caller = %s, self=%s" % (legacyname,self.caller,self) - newargs=[patch_legacy_arg(x,v42rename) for x in args] - newkwds=dict ( [ (k,patch_legacy_arg(v,v42rename)) for (k,v) in kwds.iteritems() ] ) + newargs=[patch_legacy(x,v42rename) for x in args] + newkwds=dict ( [ (k,patch_legacy(v,v42rename)) for (k,v) in kwds.iteritems() ] ) results = getattr(newclass,"call")(self,auth,*newargs,**newkwds) - return patch_legacy_return(results,v43rename) + return patch_legacy(results,v43rename) setattr(legacyclass,"call",wrapped_call) return legacyclass