Ejemplo n.º 1
0
def main(argv=None):
    if argv is None:
        argv = sys.argv[1:]
    parser = optparse.OptionParser()
    # add options here
    # ...
    opts, args = parser.parse_args(argv)
    
    # dummy run-through
    import lxml.etree as ET
    from subject import Subject
    logging.basicConfig()
#     log.setLevel(logging.DEBUG)
    
    # noisy error callback
    def raise_err(err):
        raise err.err
        
    subject = Subject.forpath('source/Case2.txt')
    errors = []
    messages = ET.parse(args[0]).getroot()
    messages_savedcopy = deepcopy_element(messages)
    
    # TODO: following is out of date
#     pipeline = SelectionPipeline(subject, errors)
#     processed_messages = pipeline(messages)

    if errors:
        print "Errors:"
        pprint(errors)
        return 1
    print ET.tostring(processed_messages)
    
    # TEMP sanity check
    from tailoring.elementutil import normalize
    def compare(a, b):
        # normalize and compare serializations
        normalize(a)
        normalize(b)
        return ET.tostring(a) == ET.tostring(b)
    assert compare(messages, messages_savedcopy)
    assert not compare(messages, processed_messages)