1234567891011121314151617181920212223242526272829303132333435363738394041 |
- # -*- coding: utf-8 -*-
- import email
- import traceback
- import amazon
- import banggood
- import hm
- import ikea
- import ingdiba
- import lieferservice
- import mytaxi
- import oebb
- import uber
- import yipbee
- order_confirmation_parsers = [
- amazon.parse_order_confirmation_mail,
- banggood.parse_order_confirmation_mail,
- hm.parse_order_confirmation_mail,
- ikea.parse_order_confirmation_mail,
- lieferservice.parse_order_confirmation_mail,
- mytaxi.parse_order_confirmation_mail,
- oebb.parse_order_confirmation_mail,
- uber.parse_order_confirmation_mail,
- yipbee.parse_order_confirmation_mail,
- ]
- def parse_order_confirmation_mail(mail):
- assert isinstance(mail, email.message.Message)
- tracebacks = {}
- for parser in order_confirmation_parsers:
- try:
- return parser(mail = mail)
- except:
- tracebacks['%s.%s' % (parser.__module__, parser.__name__)] = traceback.format_exc()
- raise Exception('\n'.join(['%s:\n%s' % (f, t) for (f, t) in tracebacks.items()]))
|