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
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
def __init__(self, parsers=None): self.__parsers = parsers self.__sprops_parser = PropertiesParser("<--", "-->")
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)
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)