コード例 #1
0
ファイル: condition.py プロジェクト: Freiza/program-y
 def get_condition_variable_value(self, client_context, var_type, name):
     if var_type == TemplateConditionVariable.GLOBAL:
         return TemplateGetNode.get_property_value(client_context, False, name)
     elif var_type == TemplateConditionVariable.LOCAL:
         return TemplateGetNode.get_property_value(client_context, True, name)
     elif var_type == TemplateConditionVariable.BOT:
         return TemplateBotNode.get_bot_variable(client_context, name)
     else:
         return"unknown"
コード例 #2
0
 def get_condition_variable_value(self, client_context, var_type, name):
     if var_type == TemplateConditionVariable.GLOBAL:
         return TemplateGetNode.get_property_value(client_context, False,
                                                   name)
     elif var_type == TemplateConditionVariable.LOCAL:
         return TemplateGetNode.get_property_value(client_context, True,
                                                   name)
     elif var_type == TemplateConditionVariable.BOT:
         return TemplateBotNode.get_bot_variable(client_context, name)
     else:
         return "unknown"
コード例 #3
0
    def execute(self, client_context, data):
        YLogger.debug(client_context, "Properties Admin - [%s]", data)

        properties = ""

        splits = data.split()
        if splits[0] == 'GET':

            if splits[1] == 'BOT':
                properties = TemplateBotNode.get_bot_variable(
                    client_context, splits[2])

            elif splits[1] == "USER":
                if splits[2].upper() == 'NAME':
                    properties = TemplateGetNode.get_property_value(
                        client_context, 'name', splits[3])
                elif splits[2].upper() == 'DATA':
                    properties = TemplateGetNode.get_property_value(
                        client_context, 'data', splits[3])
                elif splits[2].upper() == 'VAR':
                    properties = TemplateGetNode.get_property_value(
                        client_context, 'var', splits[3])

        elif splits[0] == 'BOT':
            properties += "Properties:<br /><ul>"
            for pair in client_context.brain.properties.pairs:
                properties += "<li>%s = %s</li>" % (pair[0], pair[1])
            properties += "</ul>"
            properties += "<br />"

        elif splits[0] == "USER":
            if client_context.bot.has_conversation(client_context):
                conversation = client_context.bot.get_conversation(
                    client_context)

                properties += "Properties:<br /><ul>"
                for name, value in conversation.properties.items():
                    properties += "<li>%s = %s</li>" % (name, value)
                properties += "</ul>"
                properties += "<br />"

            else:
                properties += "No conversation currently available"

        return properties
コード例 #4
0
    def execute(self, bot, clientid, data):
        if logging.getLogger().isEnabledFor(logging.DEBUG):
            logging.debug("Properties Admin - [%s]", data)

        properties = ""

        splits = data.split()
        if splits[0] == 'GET':

            if splits[1] == 'BOT':
                properties = TemplateBotNode.get_bot_variable(bot, clientid, splits[2])

            elif splits[1] == "USER":
                local = bool(splits[2].upper == 'LOCAL')
                properties = TemplateGetNode.get_property_value(bot, clientid, local, splits[3])

        elif splits[0] == 'BOT':
            properties += "Properties:<br /><ul>"
            for pair in bot.brain.properties.pairs:
                properties += "<li>%s = %s</li>"%(pair[0], pair[1])
            properties += "</ul>"
            properties += "<br />"

        elif splits[0] == "USER":
            if bot.has_conversation(clientid):
                conversation = bot.conversation(clientid)

                properties += "Properties:<br /><ul>"
                for name, value in conversation.properties.items():
                    properties += "<li>%s = %s</li>"%(name, value)
                properties += "</ul>"
                properties += "<br />"

            else:
                properties += "No conversation currently available"

        return properties
コード例 #5
0
ファイル: properties.py プロジェクト: Freiza/program-y
    def execute(self, client_context, data):
        YLogger.debug(client_context, "Properties Admin - [%s]", data)

        properties = ""

        splits = data.split()
        if splits[0] == 'GET':

            if splits[1] == 'BOT':
                properties = TemplateBotNode.get_bot_variable(client_context, splits[2])

            elif splits[1] == "USER":
                local = bool(splits[2].upper == 'LOCAL')
                properties = TemplateGetNode.get_property_value(client_context, local, splits[3])

        elif splits[0] == 'BOT':
            properties += "Properties:<br /><ul>"
            for pair in client_context.brain.properties.pairs:
                properties += "<li>%s = %s</li>"%(pair[0], pair[1])
            properties += "</ul>"
            properties += "<br />"

        elif splits[0] == "USER":
            if client_context.bot.has_conversation(client_context):
                conversation = client_context.bot.conversation(client_context)

                properties += "Properties:<br /><ul>"
                for name, value in conversation.properties.items():
                    properties += "<li>%s = %s</li>"%(name, value)
                properties += "</ul>"
                properties += "<br />"

            else:
                properties += "No conversation currently available"

        return properties
コード例 #6
0
ファイル: properties.py プロジェクト: lilnana00/3ddd
    def execute(self, client_context, data):
        YLogger.debug(client_context, "Properties Admin - [%s]", data)

        properties = ""

        splits = data.split()
        command = splits[0]
        if command == 'GET':

            get_command = splits[1]
            if get_command == 'BOT':
                if len(splits) == 3:
                    var_name = splits[2]
                    properties = TemplateBotNode.get_bot_variable(
                        client_context, var_name)
                else:
                    return "Missing variable name for GET BOT"

            elif get_command == "USER":
                if len(splits) < 3:
                    return "Invalid syntax for GET USER, LOCAL or GLOBAL"

                var_type = splits[2].upper()
                if var_type not in ['LOCAL', 'GLOBAL']:
                    return "Invalid GET USER var type [%s]" % var_type

                if len(splits) < 4:
                    return "Missing variable name for GET USER"
                var_name = splits[3]

                if var_type == 'LOCAL':
                    properties = TemplateGetNode.get_property_value(
                        client_context, True, var_name)

                else:
                    properties = TemplateGetNode.get_property_value(
                        client_context, False, var_name)

            else:
                return "Unknown GET command [%s]" % get_command

        elif command == 'BOT':
            properties += "Properties:<br /><ul>"
            for pair in client_context.brain.properties.pairs:
                properties += "<li>%s = %s</li>" % (pair[0], pair[1])
            properties += "</ul>"
            properties += "<br />"

        elif command == "USER":
            if client_context.bot.has_conversation(client_context):
                conversation = client_context.bot.get_conversation(
                    client_context)

                properties += "Properties:<br /><ul>"
                for name, value in conversation.properties.items():
                    properties += "<li>%s = %s</li>" % (name, value)
                properties += "</ul>"
                properties += "<br />"

            else:
                properties += "No conversation currently available"

        else:
            return "Unknown properties command [%s]" % command

        return properties