diff --git a/product/ERP5Wizard/transport/SOAPConnection.py b/product/ERP5Wizard/transport/SOAPConnection.py index 36c9c7aa510e562b226fc11637808e5770122a86..cfad67b89572a52e2d296fd8fe4e85d9443e9807 100644 --- a/product/ERP5Wizard/transport/SOAPConnection.py +++ b/product/ERP5Wizard/transport/SOAPConnection.py @@ -1,3 +1,32 @@ +############################################################################## +# +# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved. +# Ivan Tyagov <ivan@nexedi.com> +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + + class SOAPConnection(self): """ Holds a SOAP connection diff --git a/product/ERP5Wizard/transport/XMLRPCConnection.py b/product/ERP5Wizard/transport/XMLRPCConnection.py index 34541d394e80c98113d08bf25ea7940d029ec2a8..c92023ae48d9312416a8d40afbeea7c88e6a2e4c 100644 --- a/product/ERP5Wizard/transport/XMLRPCConnection.py +++ b/product/ERP5Wizard/transport/XMLRPCConnection.py @@ -1,5 +1,51 @@ -class XMLRPCConnection(self): +############################################################################## +# +# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved. +# Ivan Tyagov <ivan@nexedi.com> +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +import xmlrpclib +from urlparse import urlparse + +class XMLRPCConnection: """ - Holds an XML-RPC connection + Holds an XML-RPC connection to a remote XML-RPC server. """ - pass + + def __init__(self, url, username = None, password = None): + self.url = url + self._username = username + self._password = password + + def connect(self): + """Get a handle to a remote connection.""" + url = self.url + if self._username is not None and self._password is not None: + # add HTTP Basic Authentication + schema = urlparse(url) + url = '%s://%s:%s@%s%s' %(schema[0], self._username, self._password, + schema[1], schema[2]) + return xmlrpclib.ServerProxy(url, allow_none=1) +