################################################## 
# api_services.py 
# generated by ZSI.generate.wsdl2python
##################################################


from api_services_types import *
import urlparse, types
from ZSI.TCcompound import ComplexType, Struct
from ZSI import client
import ZSI
from ZSI.generate.pyclass import pyclass_type

# Locator
class apiLocator:
    apiPortType_address = "https://api.bronto.com/?q=mail_3"
    def getapiPortTypeAddress(self):
        return apiLocator.apiPortType_address
    def getapiPortType(self, url=None, **kw):
        return apiBindingSOAP(url or apiLocator.apiPortType_address, **kw)

# Methods
class apiBindingSOAP:
    def __init__(self, url, **kw):
        kw.setdefault("readerclass", None)
        kw.setdefault("writerclass", None)
        # no resource properties
        self.binding = client.Binding(url=url, **kw)
        # no ws-addressing

    # op: login
    def login(self, request):
        if isinstance(request, loginRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/login", **kw)
        # no output wsaction
        response = self.binding.Receive(loginResponse.typecode)
        return response

    # op: readAccounts
    def readAccounts(self, request):
        if isinstance(request, readAccountsRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readAccounts", **kw)
        # no output wsaction
        response = self.binding.Receive(readAccountsResponse.typecode)
        return response

    # op: readBounces
    def readBounces(self, request):
        if isinstance(request, readBouncesRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readBounces", **kw)
        # no output wsaction
        response = self.binding.Receive(readBouncesResponse.typecode)
        return response

    # op: readClicks
    def readClicks(self, request):
        if isinstance(request, readClicksRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readClicks", **kw)
        # no output wsaction
        response = self.binding.Receive(readClicksResponse.typecode)
        return response

    # op: readContacts
    def readContacts(self, request):
        if isinstance(request, readContactsRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readContacts", **kw)
        # no output wsaction
        response = self.binding.Receive(readContactsResponse.typecode)
        return response

    # op: readDeliveries
    def readDeliveries(self, request):
        if isinstance(request, readDeliveriesRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readDeliveries", **kw)
        # no output wsaction
        response = self.binding.Receive(readDeliveriesResponse.typecode)
        return response

    # op: readFields
    def readFields(self, request):
        if isinstance(request, readFieldsRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readFields", **kw)
        # no output wsaction
        response = self.binding.Receive(readFieldsResponse.typecode)
        return response

    # op: readFooters
    def readFooters(self, request):
        if isinstance(request, readFootersRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readFooters", **kw)
        # no output wsaction
        response = self.binding.Receive(readFootersResponse.typecode)
        return response

    # op: readFriends
    def readFriends(self, request):
        if isinstance(request, readFriendsRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readFriends", **kw)
        # no output wsaction
        response = self.binding.Receive(readFriendsResponse.typecode)
        return response

    # op: readLists
    def readLists(self, request):
        if isinstance(request, readListsRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readLists", **kw)
        # no output wsaction
        response = self.binding.Receive(readListsResponse.typecode)
        return response

    # op: readMessages
    def readMessages(self, request):
        if isinstance(request, readMessagesRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readMessages", **kw)
        # no output wsaction
        response = self.binding.Receive(readMessagesResponse.typecode)
        return response

    # op: readMessageFolders
    def readMessageFolders(self, request):
        if isinstance(request, readMessageFoldersRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readMessageFolders", **kw)
        # no output wsaction
        response = self.binding.Receive(readMessageFoldersResponse.typecode)
        return response

    # op: readOpens
    def readOpens(self, request):
        if isinstance(request, readOpensRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readOpens", **kw)
        # no output wsaction
        response = self.binding.Receive(readOpensResponse.typecode)
        return response

    # op: readReplies
    def readReplies(self, request):
        if isinstance(request, readRepliesRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readReplies", **kw)
        # no output wsaction
        response = self.binding.Receive(readRepliesResponse.typecode)
        return response

    # op: readResponses
    def readResponses(self, request):
        if isinstance(request, readResponsesRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readResponses", **kw)
        # no output wsaction
        response = self.binding.Receive(readResponsesResponse.typecode)
        return response

    # op: readSegments
    def readSegments(self, request):
        if isinstance(request, readSegmentsRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readSegments", **kw)
        # no output wsaction
        response = self.binding.Receive(readSegmentsResponse.typecode)
        return response

    # op: readSends
    def readSends(self, request):
        if isinstance(request, readSendsRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readSends", **kw)
        # no output wsaction
        response = self.binding.Receive(readSendsResponse.typecode)
        return response

    # op: readStreams
    def readStreams(self, request):
        if isinstance(request, readStreamsRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readStreams", **kw)
        # no output wsaction
        response = self.binding.Receive(readStreamsResponse.typecode)
        return response

    # op: readStreamViews
    def readStreamViews(self, request):
        if isinstance(request, readStreamViewsRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readStreamViews", **kw)
        # no output wsaction
        response = self.binding.Receive(readStreamViewsResponse.typecode)
        return response

    # op: readUnsubscriptions
    def readUnsubscriptions(self, request):
        if isinstance(request, readUnsubscriptionsRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readUnsubscriptions", **kw)
        # no output wsaction
        response = self.binding.Receive(readUnsubscriptionsResponse.typecode)
        return response

    # op: readUpdates
    def readUpdates(self, request):
        if isinstance(request, readUpdatesRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readUpdates", **kw)
        # no output wsaction
        response = self.binding.Receive(readUpdatesResponse.typecode)
        return response

    # op: readNext
    def readNext(self, request):
        if isinstance(request, readNextRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/readNext", **kw)
        # no output wsaction
        response = self.binding.Receive(readNextResponse.typecode)
        return response

    # op: writeContacts
    def writeContacts(self, request):
        if isinstance(request, writeContactsRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/writeContacts", **kw)
        # no output wsaction
        response = self.binding.Receive(writeContactsResponse.typecode)
        return response

    # op: writeFields
    def writeFields(self, request):
        if isinstance(request, writeFieldsRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/writeFields", **kw)
        # no output wsaction
        response = self.binding.Receive(writeFieldsResponse.typecode)
        return response

    # op: writeLists
    def writeLists(self, request):
        if isinstance(request, writeListsRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/writeLists", **kw)
        # no output wsaction
        response = self.binding.Receive(writeListsResponse.typecode)
        return response

    # op: writeMessages
    def writeMessages(self, request):
        if isinstance(request, writeMessagesRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/writeMessages", **kw)
        # no output wsaction
        response = self.binding.Receive(writeMessagesResponse.typecode)
        return response

    # op: writeDeliveries
    def writeDeliveries(self, request):
        if isinstance(request, writeDeliveriesRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/writeDeliveries", **kw)
        # no output wsaction
        response = self.binding.Receive(writeDeliveriesResponse.typecode)
        return response

    # op: delete
    def delete(self, request):
        if isinstance(request, deleteRequest) is False:
            raise TypeError, "%s incorrect request type" % (request.__class__)
        kw = {}
        # no input wsaction
        self.binding.Send(None, None, request, soapaction="http://api.bronto.com/delete", **kw)
        # no output wsaction
        response = self.binding.Receive(deleteResponse.typecode)
        return response

loginRequest = ns0.login_Dec().pyclass

loginResponse = ns0.loginResponse_Dec().pyclass

readAccountsRequest = ns0.readAccounts_Dec().pyclass

readAccountsResponse = ns0.readAccountsResponse_Dec().pyclass

readBouncesRequest = ns0.readBounces_Dec().pyclass

readBouncesResponse = ns0.readBouncesResponse_Dec().pyclass

readClicksRequest = ns0.readClicks_Dec().pyclass

readClicksResponse = ns0.readClicksResponse_Dec().pyclass

readContactsRequest = ns0.readContacts_Dec().pyclass

readContactsResponse = ns0.readContactsResponse_Dec().pyclass

readDeliveriesRequest = ns0.readDeliveries_Dec().pyclass

readDeliveriesResponse = ns0.readDeliveriesResponse_Dec().pyclass

readFieldsRequest = ns0.readFields_Dec().pyclass

readFieldsResponse = ns0.readFieldsResponse_Dec().pyclass

readFootersRequest = ns0.readFooters_Dec().pyclass

readFootersResponse = ns0.readFootersResponse_Dec().pyclass

readFriendsRequest = ns0.readFriends_Dec().pyclass

readFriendsResponse = ns0.readFriendsResponse_Dec().pyclass

readListsRequest = ns0.readLists_Dec().pyclass

readListsResponse = ns0.readListsResponse_Dec().pyclass

readMessagesRequest = ns0.readMessages_Dec().pyclass

readMessagesResponse = ns0.readMessagesResponse_Dec().pyclass

readMessageFoldersRequest = ns0.readMessageFolders_Dec().pyclass

readMessageFoldersResponse = ns0.readMessageFoldersResponse_Dec().pyclass

readOpensRequest = ns0.readOpens_Dec().pyclass

readOpensResponse = ns0.readOpensResponse_Dec().pyclass

readRepliesRequest = ns0.readReplies_Dec().pyclass

readRepliesResponse = ns0.readRepliesResponse_Dec().pyclass

readResponsesRequest = ns0.readResponses_Dec().pyclass

readResponsesResponse = ns0.readResponsesResponse_Dec().pyclass

readSegmentsRequest = ns0.readSegments_Dec().pyclass

readSegmentsResponse = ns0.readSegmentsResponse_Dec().pyclass

readSendsRequest = ns0.readSends_Dec().pyclass

readSendsResponse = ns0.readSendsResponse_Dec().pyclass

readStreamsRequest = ns0.readStreams_Dec().pyclass

readStreamsResponse = ns0.readStreamsResponse_Dec().pyclass

readStreamViewsRequest = ns0.readStreamViews_Dec().pyclass

readStreamViewsResponse = ns0.readStreamViewsResponse_Dec().pyclass

readUnsubscriptionsRequest = ns0.readUnsubscriptions_Dec().pyclass

readUnsubscriptionsResponse = ns0.readUnsubscriptionsResponse_Dec().pyclass

readUpdatesRequest = ns0.readUpdates_Dec().pyclass

readUpdatesResponse = ns0.readUpdatesResponse_Dec().pyclass

readNextRequest = ns0.readNext_Dec().pyclass

readNextResponse = ns0.readNextResponse_Dec().pyclass

writeContactsRequest = ns0.writeContacts_Dec().pyclass

writeContactsResponse = ns0.writeContactsResponse_Dec().pyclass

writeFieldsRequest = ns0.writeFields_Dec().pyclass

writeFieldsResponse = ns0.writeFieldsResponse_Dec().pyclass

writeListsRequest = ns0.writeLists_Dec().pyclass

writeListsResponse = ns0.writeListsResponse_Dec().pyclass

writeMessagesRequest = ns0.writeMessages_Dec().pyclass

writeMessagesResponse = ns0.writeMessagesResponse_Dec().pyclass

writeDeliveriesRequest = ns0.writeDeliveries_Dec().pyclass

writeDeliveriesResponse = ns0.writeDeliveriesResponse_Dec().pyclass

deleteRequest = ns0.delete_Dec().pyclass

deleteResponse = ns0.deleteResponse_Dec().pyclass
