Example #1
0
    def test_scanner(self):
        scanner = MailScanner()

        email_file = os.getcwd() + "/test/data/cmd.email"
        email = open(email_file).read()

        cmd_id, data, authkey = scanner.scan(email, PropertiesParser())

        print cmd_id
        print authkey.items()
        print data
Example #2
0
    def __get_parser(self):
        if self.__parser:
            return self.__parser

        if "parser" in self.conf:
            parser = self.__inst_parser(self.conf["parser"])()
        else:
            parser = PropertiesParser()

        options_regex = re.compile("^parser\.options\.(.+)$")

        for key, value in self.conf.items():
            match = options_regex.search(key)

            if match:
                if not parser.options:
                    parser.options = {}

                opt = match.group(1)
                parser.options[opt] = value

        self.__parser = parser

        return parser
Example #3
0
 def __init__(self, parsers=None):
     self.__parsers = parsers
     self.__sprops_parser = PropertiesParser("<--", "-->")
Example #4
0
from parser import PropertiesParser

email_body = """
Texto que no sirve para aplicación puede ir en el correo
a manera de comentarios.

En este ejemplo se utiliza la llave "REPORTA" para saber
a nombre de quién se levantará el reporte, ya que podría
ser que el reporte se levante de una máquina con un correo
distinto.

Las llaves pueden ir en mayúsculas o minúsculas, el parser
las convertirá a minúsculas siempre.

La información a continuación es la de utilidad para los comandos:

<%

REPORTA: [email protected]
DESC: El monitor no enciende
CoMPOnentES: Todos

%>
"""

parser = PropertiesParser()
data = parser.parse(email_body)

for key, value in data.items():
    print "%s: %s" % (key, value)
Example #5
0
email_body = """
Texto que no sirve para aplicación puede ir en el correo
a manera de comentarios.

En este ejemplo se utiliza la llave "REPORTA" para saber
a nombre de quién se levantará el reporte, ya que podría
ser que el reporte se levante de una máquina con un correo
distinto.

Las llaves pueden ir en mayúsculas o minúsculas, el parser
las convertirá a minúsculas siempre.

La información a continuación es la de utilidad para los comandos:

<%

REPORTA: [email protected]
DESC: El monitor no enciende
CoMPOnentES: Todos

%>
"""

parser = PropertiesParser()
data = parser.parse(email_body)

for key, value in data.items():
    print "%s: %s" % (key, value)