def finalSend(self, sms, language):
		
		commitCMD = DomainObjectCommit(self.refId)
		commitCMD.identifier = ReminderObject()
		commitCMD.identifier.identifier = sms.identifier
		
		answer = self.getResponseForRequest(commitCMD)
		if ObjectIsCommand(answer, DomainObjectCommitCompleted):
			answer = DomainObjectCommitCompleted(answer)
			# update the reminder object with current identifier and time stamp
			sms.identifier = answer.identifier
			lists = ReminderListObject()
			lists.name = "Reminders"
			sms.lists = lists
			# tell the user we created the reminder
			createAnchor = UIAddViews(self.refId)
			createAnchor.dialogPhase = createAnchor.DialogPhaseConfirmedValue
			
			# create a view to ask for the message
			askCreateView = UIAssistantUtteranceView()
			askCreateView.dialogIdentifier = "CreateSms#sentSMS"
			askCreateView.text = askCreateView.speakableText = random.choice(responses['sendSms'][language])
			askCreateView.listenAfterSpeaking = False
			
		   
			snippet = ReminderSnippet()
			snippet.reminders = [sms]
			
			createAnchor.views = [askCreateView, snippet]
			
			self.sendRequestWithoutAnswer(createAnchor)
			self.complete_request()
		else:
			self.say(random.choice(responses['sendSmsFail'][language]))
			self.complete_request()
Exemple #2
0
 def finalCommit(self, reminder, language):
     
     commitCMD = DomainObjectCommit(self.refId)
     commitCMD.identifier = ReminderObject()
     commitCMD.identifier.identifier = reminder.identifier
     
     answer = self.getResponseForRequest(commitCMD)
     if ObjectIsCommand(answer, DomainObjectCommitCompleted):
         answer = DomainObjectCommitCompleted(answer)
         reminder.identifier = answer.identifier
         lists = ReminderListObject()
         lists.name = "Reminders"
         reminder.lists = lists
         createAnchor = UIAddViews(self.refId)
         createAnchor.dialogPhase = createAnchor.DialogPhaseConfirmedValue
         askCreateView = UIAssistantUtteranceView()
         askCreateView.dialogIdentifier = "CreateReminder#createdReminder"
         askCreateView.text = askCreateView.speakableText = random.choice(responses['Remind'][language])
         askCreateView.listenAfterSpeaking = False
         snippet = ReminderSnippet()
         snippet.reminders = [reminder]
         createAnchor.views = [askCreateView, snippet]
         self.sendRequestWithoutAnswer(createAnchor)
         self.complete_request()
     else:
         self.say(random.choice(responses['RemindFail'][language]))
         self.complete_request()
    def finalSend(self, sms, language):

        commitCMD = DomainObjectCommit(self.refId)
        commitCMD.identifier = SmsSms()
        commitCMD.identifier.identifier = sms.identifier

        answer = self.getResponseForRequest(commitCMD)
        if ObjectIsCommand(answer, DomainObjectCommitCompleted):
            answer = DomainObjectCommitCompleted(answer)
            # update the sms object with current identifier and time stamp
            sms.identifier = answer.identifier
            # the timestamp should be timezone aware
            # we could use the pytz lib for that
            # get the timezone from the assistant
            # and supply it to pytz which we can
            # supply to now()
            sms.dateSent = datetime.datetime.now()
            # tell the user we sent the sms
            createAnchor = UIAddViews(self.refId)
            createAnchor.dialogPhase = createAnchor.DialogPhaseConfirmedValue

            # create a view to ask for the message
            askCreateView = UIAssistantUtteranceView()
            askCreateView.dialogIdentifier = "CreateSms#sentSMS"
            askCreateView.text = askCreateView.speakableText = random.choice(responses["sendSms"][language])
            askCreateView.listenAfterSpeaking = False

            snippet = SmsSnippet()
            snippet.smss = [sms]

            createAnchor.views = [askCreateView, snippet]

            self.sendRequestWithoutAnswer(createAnchor)
        else:
            self.say(random.choice(responses["sendSmsFail"][language]))
    def createReminder(self, speech, language):
        content_raw = re.match(".*reminder ([a-zA-Z0-9, ]+)$", speech, re.IGNORECASE)
        if content_raw == None:
            view_initial = AddViews(self.refId, dialogPhase="Reflection")
            view_initial.views = [AssistantUtteranceView(text=reminders.localizations['reminderDefaults']['nothing'][language], speakableText=reminders.localizations['reminderDefaults']['nothing'][language], dialogIdentifier="Reminder#failed")]
            self.sendRequestWithoutAnswer(view_initial)
        else:
            view_initial = AddViews(self.refId, dialogPhase="Reflection")
            view_initial.views = [AssistantUtteranceView(text=reminders.localizations['reminderDefaults']['searching'][language], speakableText=reminders.localizations['reminderDefaults']['searching'][language], dialogIdentifier="Reminder#creating")]
            self.sendRequestWithoutAnswer(view_initial)
            
            content_raw = content_raw.group(1).strip()
            if "me to" in content_raw:
                split = content_raw.split(' ')
                if split[0] == "me to":
                    split.pop(0)
                    content_raw = ' '.join(map(str, split))
            if "for" in content_raw:
                split = content_raw.split(' ')
                if split[0] == "for":
                    split.pop(0)
                    content_raw = ' '.join(map(str, split))

			# adds reminder
            reminder_create = Create()
            reminder_create.subject = content_raw
            domain_object = DomainObjectCreate(refId = self.refId)
            domain_object.object = reminder_create
            reminder_return = self.getResponseForRequest(domain_object)
            print reminder_return

			# retrieves reminder
			
			# update / commit reminder
            reminder_update = Update()
            reminder_update.identifier = reminder_return["properties"]["identifier"]
            domain_object_up = DomainObjectCommit(refId = self.refId)
            domain_object_up.identifier = reminder_update
            reminder_update_return = self.getResponseForRequest(domain_object_up)
            print reminder_update_return
			# send view
        
            view = AddViews(self.refId, dialogPhase="Summary")
            view1 = AssistantUtteranceView(text=reminders.localizations['reminderDefaults']['result'][language], speakableText=reminders.localizations['reminderDefaults']['result'][language], dialogIdentifier="Reminder#created")
        
            reminder_ = ReminderObject()
            reminder_.subject = content_raw
            reminder_.identifier = reminder_return["properties"]["identifier"]
        
            view2 = ReminderSnippet(reminders=[reminder_])
            view.views = [view1, view2]
            self.sendRequestWithoutAnswer(view)
        self.complete_request()
    def changeName(self, nameType, value):      
      meSearch = ABPersonSearch(self.refId)
      meSearch.me = True
      meSearch.scope = "Local"
      
      answer = self.getResponseForRequest(meSearch)
      
      if ObjectIsCommand(answer, ABPersonSearchCompleted):
	results = ABPersonSearchCompleted(answer)
	results = results.results[0]
      else:
	raise StopPluginExecution("Unknown response: {0}".format(answer))
      
      mePerson = ABPerson()
      mePerson.identifier = results.identifier
      
      domainRetrieve = DomainObjectRetrieve(self.refId)
      domainRetrieve.identifiers = [mePerson]
      
      domainAnswer = self.getResponseForRequest(domainRetrieve)
      
      if not ObjectIsCommand(domainAnswer, DomainObjectRetrieveCompleted):
	raise StopPluginExecution("Unknown response: {0}".format(domainAnswer))      

      domainUpdate = DomainObjectUpdate(self.refId)
      domainUpdate.identifier = mePerson
      
      newName = ABPerson()
      
      if nameType in ["nick", "nick name"]:
	newName.nickName = value
      if nameType in ["firstName", "first name"]:
	newName.firstName = value
      if nameType in ["lastName", "last name"]:
	newName.lastName = value
      
      domainUpdate.setFields = newName
      
      updateAnswer = self.getResponseForRequest(domainUpdate)
      
      if not ObjectIsCommand(updateAnswer, DomainObjectUpdateCompleted):
	raise StopPluginExecution("Unknown response: {0}".format(updateAnswer))
      
      domainCommit = DomainObjectCommit(self.refId)
      domainCommit.identifier = mePerson
      
      commitAnswer = self.getResponseForRequest(domainCommit)
      
      if not ObjectIsCommand(commitAnswer, DomainObjectCommitCompleted):
	raise StopPluginExecution("Unknown response: {0}".format(commitAnswer))
Exemple #6
0
    def createReminder(self, speech, language, regMatched):
        content_raw = regMatched.group('content').strip();

        if content_raw == None or content_raw == '':
            content_raw = self.ask(reminders.localizations['reminderDefaults']['nothing'][language])

        print content_raw

        view_initial = AddViews(self.refId, dialogPhase="Reflection")
        view_initial.views = [AssistantUtteranceView(text=reminders.localizations['reminderDefaults']['searching'][language], speakableText=reminders.localizations['reminderDefaults']['searching'][language], dialogIdentifier="Reminder#creating")]
        self.sendRequestWithoutAnswer(view_initial)

        # adds reminder
        reminder_create = Create()
        reminder_create.subject = content_raw
        domain_object = DomainObjectCreate(refId = self.refId)
        domain_object.object = reminder_create
        reminder_return = self.getResponseForRequest(domain_object)
        print reminder_return

        # retrieves reminder

        # update / commit reminder
        reminder_update = Update()
        reminder_update.identifier = reminder_return["properties"]["identifier"]
        domain_object_up = DomainObjectCommit(refId = self.refId)
        domain_object_up.identifier = reminder_update
        reminder_update_return = self.getResponseForRequest(domain_object_up)
        print reminder_update_return
        # send view

        view = AddViews(self.refId, dialogPhase="Summary")
        view1 = AssistantUtteranceView(text=reminders.localizations['reminderDefaults']['result'][language], speakableText=reminders.localizations['reminderDefaults']['result'][language], dialogIdentifier="Reminder#created")

        reminder_ = ReminderObject()
        reminder_.subject = content_raw
        reminder_.identifier = reminder_return["properties"]["identifier"]

        view2 = ReminderSnippet(reminders=[reminder_])
        view.views = [view1, view2]
        self.sendRequestWithoutAnswer(view)
        self.complete_request()
Exemple #7
0
    def finalSend(self, sms, language):

        commitCMD = DomainObjectCommit(self.refId)
        commitCMD.identifier = SmsSms()
        commitCMD.identifier.identifier = sms.identifier

        answer = self.getResponseForRequest(commitCMD)
        if ObjectIsCommand(answer, DomainObjectCommitCompleted):
            answer = DomainObjectCommitCompleted(answer)
            # update the sms object with current identifier and time stamp
            sms.identifier = answer.identifier
            # the timestamp should be timezone aware
            # we could use the pytz lib for that
            # get the timezone from the assistant
            # and supply it to pytz which we can
            # supply to now()
            sms.dateSent = datetime.datetime.now()
            # tell the user we sent the sms
            createAnchor = UIAddViews(self.refId)
            createAnchor.dialogPhase = createAnchor.DialogPhaseConfirmedValue

            # create a view to ask for the message
            askCreateView = UIAssistantUtteranceView()
            askCreateView.dialogIdentifier = "CreateSms#sentSMS"
            askCreateView.text = askCreateView.speakableText = random.choice(
                responses['sendSms'][language])
            askCreateView.listenAfterSpeaking = False

            snippet = SmsSnippet()
            snippet.smss = [sms]

            createAnchor.views = [askCreateView, snippet]

            self.sendRequestWithoutAnswer(createAnchor)
            self.complete_request()
        else:
            self.say(random.choice(responses['sendSmsFail'][language]))
            self.complete_request()
 def commitEvent(self, identifier):
     # Commits the object and returns the x-cal identifier
     commitObject = DomainObjectCommit(self.refId)
     commitObject.identifier = identifier
     commitCompleted = self.getResponseForRequest(commitObject)
     return commitCompleted['properties']['identifier']