Beispiel #1
0
    def __init__(self):
        """    HTTP Server
        """
        self.RECEIVED_DTMF_MSG = "Got it, thanks."
        self.GENERATE_TOKEN = True
        self.COLLECT_SUBJECTIVE_FEEDBACK = False
        self.COLLECT_TASK = False
        self.host = "localhost"
        self.port = 8082
        self.TOKENSERVERURL = "http://www.camdial.org/~djv27/mt-multiDomain/receive-token.py"
        # DTMF prompt given over voip call at dialogue's end
        self.COLLECT_TASKID_PROMPT = ".  Please now enter the 5 digit task number followed by the hash key"
        #The hash key is only for multiple digits
        self.COLLECT_SUBJECTIVE_PROMPT = " Have you found all the information you were looking for? Please enter one for yes, and zero for no."

        self.ood_count = 0
        self.OOD_THRESHOLD = 1

        # Speech Settings:
        self.allowbargein = False  # TODO - config this or remove it -- OR SHOULD IT BE SOMETHING SENT FROM VOICEBROKER EACH TURN?
        if Settings.config.has_option("dialogueserver", "tokenserverurl"):
            self.TOKENSERVERURL = Settings.config.get("dialogueserver",
                                                      "tokenserverurl")
            self.TOKENSERVERURL = self.TOKENSERVERURL.strip('"')
        if Settings.config.has_option("dialogueserver", "generatetoken"):
            self.GENERATE_TOKEN = Settings.config.getboolean(
                "dialogueserver", "generatetoken")
        if Settings.config.has_option("dialogueserver", "collecttask"):
            self.COLLECT_TASK = Settings.config.getboolean(
                "dialogueserver", "collecttask")
        if Settings.config.has_option("dialogueserver", "subjectivefeedback"):
            self.COLLECT_SUBJECTIVE_FEEDBACK = Settings.config.getboolean(
                "dialogueserver", "subjectivefeedback")
        if Settings.config.has_option("dialogueserver",
                                      "subjectivefeedbackprompt"):
            self.COLLECT_SUBJECTIVE_PROMPT = Settings.config.get(
                "dialogueserver", "subjectivefeedbackprompt")
        if Settings.config.has_option("dialogueserver", "dialhost"):
            self.host = Settings.config.get("dialogueserver", "dialhost")
            self.host = self.host.strip('"')
        if Settings.config.has_option("dialogueserver", "dialport"):
            self.port = Settings.config.getint("dialogueserver", "dialport")

        self.issueConsent = False
        if Settings.config.has_option("dialogueserver", "issueConsent"):
            self.issueConsent = Settings.config.getboolean(
                "dialogueserver", "issueConsent")

        # Dialogue agent:
        self.agent_factory = Agent.AgentFactory(hub_id='dialogueserver')

        self.tasks = None
        if Settings.config.has_option("dialogueserver", "tasksfile"):
            from tasks import Tasks
            self.tasks = Tasks.TaskReader(
                taskfile=Settings.config.get("dialogueserver", "tasksfile"))
        if self.COLLECT_TASK and self.tasks is None:
            logger.error(
                "Must provide a tasks file if you want to collect task")
Beispiel #2
0
    def __init__(self):
        """    HTTP Server
        """
        self.RECEIVED_DTMF_MSG = u"Bien reçu! Au revoir et bonne journée!"
        self.GENERATE_TOKEN = False
        self.COLLECT_SUBJECTIVE_FEEDBACK = False
        self.COLLECT_TASK = False
        self.host = 'localhost'
        self.port = 8082
        self.TOKENSERVERURL = 'http://www.camdial.org/~djv27/mt-multiDomain/receive-token.py'
        # DTMF prompt given over voip call at dialogue's end
        self.COLLECT_TASKID_PROMPT = '.  Please now enter the 5 digit task number followed by the hash key'
        #The hash key is only for multiple digits
        self.COLLECT_SUBJECTIVE_PROMPT = u" Avez-vous bien obtenu toutes les informations dont vous aviez besoin? Répondez simplement par oui ou non, s'il vous plaît."

        self.ood_count = 0
        self.OOD_THRESHOLD = 1

        # Speech Settings:
        self.allowbargein = False  # TODO - config this or remove it -- OR SHOULD IT BE SOMETHING SENT FROM VOICEBROKER EACH TURN?
        if Settings.config.has_option("dialogueserver", "tokenserverurl"):
            self.TOKENSERVERURL = Settings.config.get("dialogueserver",
                                                      "tokenserverurl")
            self.TOKENSERVERURL = self.TOKENSERVERURL.strip('"')
        if Settings.config.has_option("dialogueserver", "generatetoken"):
            self.GENERATE_TOKEN = Settings.config.getboolean(
                "dialogueserver", "generatetoken")
        if Settings.config.has_option("dialogueserver", "collecttask"):
            self.COLLECT_TASK = Settings.config.getboolean(
                "dialogueserver", "collecttask")
        if Settings.config.has_option("dialogueserver", "subjectivefeedback"):
            self.COLLECT_SUBJECTIVE_FEEDBACK = Settings.config.getboolean(
                "dialogueserver", "subjectivefeedback")
        if Settings.config.has_option("dialogueserver",
                                      "subjectivefeedbackprompt"):
            self.COLLECT_SUBJECTIVE_PROMPT = Settings.config.get(
                "dialogueserver", "subjectivefeedbackprompt")
        if Settings.config.has_option("dialogueserver", "dialhost"):
            self.host = Settings.config.get("dialogueserver", "dialhost")
            self.host = self.host.strip('"')
        if Settings.config.has_option("dialogueserver", "dialport"):
            self.port = Settings.config.getint("dialogueserver", "dialport")

        self.issueConsent = False
        if Settings.config.has_option("dialogueserver", "issueConsent"):
            self.issueConsent = Settings.config.getboolean(
                "dialogueserver", "issueConsent")

        # Dialogue agent:
        self.agent_factory = Agent.AgentFactory(hub_id='dialogueserver')

        self.tasks = None
        if Settings.config.has_option("dialogueserver", "tasksfile"):
            from tasks import Tasks
            self.tasks = Tasks.TaskReader(
                taskfile=Settings.config.get("dialogueserver", "tasksfile"))
        if self.COLLECT_TASK and self.tasks is None:
            logger.error(
                "Must provide a tasks file if you want to collect task")
Beispiel #3
0
 def test_TasksReader(self):
     '''test Tasks.TaskReader()
     '''
     reload(
         Ontology.FlatOntologyManager
     )  # since this has a singleton class - may be called by other nosetests earlier
     Ontology.init_global_ontology()
     task_reader = Tasks.TaskReader(taskfile=self.taskfile)
     task_reader.get_task_by_id(task_id=10001)
     task_reader.get_random_task()