Exemple #1
0
    def ABContactAdd(self, scenario, passport, messenger, type, 
                     callback, *callback_args):
        """call the ABContactAdd SOAP action

           @param scenario : the scenario to use for the action
           @param passport : the passport address of the contact to add
           @param messenger : True is this is a messenger contact, else False
           @param type : "Regular" or "LivePending" or "LiveAccepted" or "Messenger2"
        """
        self._scenario = scenario
        pending_contact = Contact()
        pending_contact.type = type
        pending_contact.account = passport
        pending_contact.display_name = passport
        self._contacts_queue.append(pending_contact)

        self._method("ABContactAdd", callback, callback_args, {})
        self.request.add_argument("abId", NS_ADDRESSBOOK, value="00000000-0000-0000-0000-000000000000")
        Contact = self.request.add_argument("contacts", NS_ADDRESSBOOK).\
                append("Contact", NS_ADDRESSBOOK)
        ContactInfo = Contact.append("contactInfo", NS_ADDRESSBOOK)
        ContactInfo.append("contactType", NS_ADDRESSBOOK, value=type)
        ContactInfo.append("passportName", NS_ADDRESSBOOK, value=passport)
        ContactInfo.append("isMessengerUser", NS_ADDRESSBOOK, value=SOAPUtils.bool_to_string(messenger))
        self.request.add_argument("options", NS_ADDRESSBOOK).\
                append("EnableAllowListManagement", NS_ADDRESSBOOK,
                        value=SOAPUtils.bool_to_string(True))
        self._send_request()
Exemple #2
0
 def ABFindAll(self, scenario, deltas_only, callback, *callback_args):
     self._scenario = scenario
     self._simple_method("ABFindAll", callback, callback_args,
             ("abId", "00000000-0000-0000-0000-000000000000"),
             ("abView", "Full"), # add lastChanges to make deltasOnly usable
             ("deltasOnly", SOAPUtils.bool_to_string(deltas_only)),
             ("dynamicItemView", "Gleam"))
Exemple #3
0
    def UpdateDynamicItem(self, scenario, passport, last_changed, gleam,
                          callback, *callback_args):
        """call the UpdateDynamicItem SOAP action

           @param scenario : the scenario to use for the action
        """
        # WARNING : this method is not complete at all
        self._scenario = scenario
        self._method("UpdateDynamicItem", callback, callback_args, {})
        self.request.add_argument("abId", NS_ADDRESSBOOK, value="00000000-0000-0000-0000-000000000000")
        DynamicItem = self.request.add_argument("dynamicItems", NS_ADDRESSBOOK).\
            append("DynamicItem", NS_ADDRESSBOOK, type="PassportDynamicItem")
        DynamicItem.append("Type", NS_ADDRESSBOOK, value="Passport")
        DynamicItem.append("PassportName", NS_ADDRESSBOOK, value=passport)
        NotificationData = DynamicItem.append("Notifications", NS_ADDRESSBOOK).\
            append("NotificationData", NS_ADDRESSBOOK)
        StoreService = NotificationData.append("StoreService", NS_ADDRESSBOOK)
        Info = StoreService.append("Info", NS_ADDRESSBOOK)
        Handle = Info.append("Handle", NS_ADDRESSBOOK)
        Handle.append("Id", NS_ADDRESSBOOK, value="0")
        Handle.append("Type", NS_ADDRESSBOOK, value="Profile")
        Handle.append("ForeignId", NS_ADDRESSBOOK, value="MyProfile")
        Info.append("InverseRequired", NS_ADDRESSBOOK, value="false")
        Info.append("IsBot", NS_ADDRESSBOOK, value="false")
        StoreService.append("Changes", NS_ADDRESSBOOK)
        StoreService.append("LastChange", NS_ADDRESSBOOK, value="0001-01-01T00:00:00")
        StoreService.append("Deleted", NS_ADDRESSBOOK, value="false")
        NotificationData.append("Status", NS_ADDRESSBOOK, value="Exist Access")
        NotificationData.append("LastChanged", NS_ADDRESSBOOK, value=last_changed)
        NotificationData.append("Gleam", NS_ADDRESSBOOK, 
                                value=SOAPUtils.bool_to_string(gleam))
        NotificationData.append("InstanceId", NS_ADDRESSBOOK, value="0")
        DynamicItem.append("Changes", NS_ADDRESSBOOK, value="Notifications")
        self._send_request()