Ejemplo n.º 1
0
    def _add_input_handler(self, message=None):
        """Interactive filter creation. The function populates a
        dictionary with the user's replies which is used to construct
        the RecordFilter object.
        """
        global _input_index, _is_input

        fields = len(_input_fields)

        if _input_index <= fields:
            # first question, no previous answer
            if _input_index > 0:
                # store answer for previous question
                _input_values[_input_fields[_input_index - 1]] = message.body

        if _input_index < fields:
            # show next message
            template_values = {'i': _input_index}
            message.reply(render_to_string('filter_add.plain',
                                           template_values))
            _input_index += 1

        elif _input_index == fields:
            # end of questions
            jid = _sender_jid(message)
            filters.add_filter(jid, **_input_values)
            _is_input = False
            _input_index = 0
            message.reply('Filter added')
Ejemplo n.º 2
0
 def post(self):
     """Store a newly created filter"""
     try:
         filters.add_filter(
             users.get_current_user().email(),
             fileName = self.request.get('fileName'),
             funcName = self.request.get('funcName'),
             levelName = self.request.get('levelName'),
             lineNo = self.request.get('lineNo'),
             message = self.request.get('message'))
     except filters.NotSubscribedError, e:
         resp = e.msg