def _SetWsdlMethod(ns, wsdlName, inputMM):
 _wsdlMethodNSs.add(ns)
 curMM = _wsdlMethodMap.get((ns, wsdlName))
 if isinstance(inputMM, list):
  if (curMM is None):
   _wsdlMethodMap[(ns, wsdlName)] = inputMM
   return inputMM
  elif isinstance(curMM, list):
   raise RuntimeError(('Duplicate wsdl method %s %s (new class %s vs existing %s)' % (ns, wsdlName, inputMM[0], curMM[0])))
  else:
   return curMM
 elif ((curMM is None) or isinstance(curMM, list)):
  _wsdlMethodMap[(ns, wsdlName)] = inputMM
  return inputMM
 else:
  return curMM

def _SetWsdlMethod ( ns , wsdlName , inputMM ) : _wsdlMethodNSs . add ( ns ) curMM = _wsdlMethodMap . get ( ( ns , wsdlName ) ) if isinstance ( inputMM , list ) : if ( curMM is None ) : _wsdlMethodMap [ ( ns , wsdlName ) ] = inputMM return inputMM elif isinstance ( curMM , list ) : raise RuntimeError ( ( 'Duplicate wsdl method %s %s (new class %s vs existing %s)' % ( ns , wsdlName , inputMM [ 0 ] , curMM [ 0 ] ) ) ) else : return curMM elif ( ( curMM is None ) or isinstance ( curMM , list ) ) : _wsdlMethodMap [ ( ns , wsdlName ) ] = inputMM return inputMM else : return curMM
set a wsdl method with wsdl namespace and wsdl name returns added method / existing method if already in the map note: must be holding the _lazylock .