Server IP : 127.0.0.2 / Your IP : 13.58.157.160 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/lib/python2.7/dist-packages/suds/ |
Upload File : |
# This program is free software; you can redistribute it and/or modify it under # the terms of the (LGPL) GNU Lesser General Public License as published by the # Free Software Foundation; either version 3 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 Library Lesser General Public License # for more details at ( http://www.gnu.org/licenses/lgpl.html ). # # You should have received a copy of the GNU Lesser 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. # written by: Jeff Ortel ( jortel@redhat.com ) """ Lightweight SOAP Python client providing a Web Service proxy. """ import sys # # Project properties # from version import __build__, __version__ # # Exceptions # class MethodNotFound(Exception): def __init__(self, name): Exception.__init__(self, u"Method not found: '%s'" % (name,)) class PortNotFound(Exception): def __init__(self, name): Exception.__init__(self, u"Port not found: '%s'" % (name,)) class ServiceNotFound(Exception): def __init__(self, name): Exception.__init__(self, u"Service not found: '%s'" % (name,)) class TypeNotFound(Exception): def __init__(self, name): Exception.__init__(self, u"Type not found: '%s'" % (tostr(name),)) class BuildError(Exception): def __init__(self, name, exception): Exception.__init__(self, u"An error occurred while building an " "instance of (%s). As a result the object you requested could not " "be constructed. It is recommended that you construct the type " "manually using a Suds object. Please open a ticket with a " "description of this error. Reason: %s" % (name, exception)) class WebFault(Exception): def __init__(self, fault, document): if hasattr(fault, "faultstring"): Exception.__init__(self, u"Server raised fault: '%s'" % (fault.faultstring,)) self.fault = fault self.document = document # # Logging # class Repr: def __init__(self, x): self.x = x def __str__(self): return repr(self.x) # # Utility # class null: """I{null} object used to pass NULL for optional XML nodes.""" pass def objid(obj): return obj.__class__.__name__ + ":" + hex(id(obj)) def tostr(object, encoding=None): """Get a unicode safe string representation of an object.""" if isinstance(object, basestring): if encoding is None: return object return object.encode(encoding) if isinstance(object, tuple): s = ["("] for item in object: s.append(tostr(item)) s.append(", ") s.append(")") return "".join(s) if isinstance(object, list): s = ["["] for item in object: s.append(tostr(item)) s.append(", ") s.append("]") return "".join(s) if isinstance(object, dict): s = ["{"] for item in object.items(): s.append(tostr(item[0])) s.append(" = ") s.append(tostr(item[1])) s.append(", ") s.append("}") return "".join(s) try: return unicode(object) except Exception: return str(object) # # Python 3 compatibility # if sys.version_info < (3, 0): from cStringIO import StringIO as BytesIO else: from io import BytesIO # Idea from 'http://lucumr.pocoo.org/2011/1/22/forwards-compatible-python'. class UnicodeMixin(object): if sys.version_info >= (3, 0): # For Python 3, __str__() and __unicode__() should be identical. __str__ = lambda x: x.__unicode__() else: __str__ = lambda x: unicode(x).encode("utf-8") # Used instead of byte literals as they are not supported on Python versions # prior to 2.6. def byte_str(s="", encoding="utf-8", input_encoding="utf-8", errors="strict"): """ Returns a byte string version of 's', encoded as specified in 'encoding'. Accepts str & unicode objects, interpreting non-unicode strings as byte strings encoded using the given input encoding. """ assert isinstance(s, basestring) if isinstance(s, unicode): return s.encode(encoding, errors) if s and encoding != input_encoding: return s.decode(input_encoding, errors).encode(encoding, errors) return s # Class used to represent a byte string. Useful for asserting that correct # string types are being passed around where needed. if sys.version_info >= (3, 0): byte_str_class = bytes else: byte_str_class = str