Ejemplo n.º 1
0
def process(filename):
    """
    main processing loop, read the supplied file line by line, counting domains
    :param filename: 
    :return domain_results: 
    """
    domain_results = Domains()
    with open(filename, 'r') as emails:
        try:
            for line in emails:
                email = EmailAddress(line)
                domain_results.add_domain(email)
        except UnicodeDecodeError as e:
            logging.warning("File: {} non-unicode characters {}".format(filename, e))
        except Exception as e:
            logging.error(e)

    return domain_results