def exception(operation, exception, component=None, source_location=None,
              content_hash=None, foreign_id=None, source_id=None,
              document_id=None, meta=None):
    (error_type, error_message, error_details) = sys.exc_info()
    if error_type is not None:
        error_type = error_type.__name__
        error_message = unicode(error_message)
        error_details = traceback.format_exc()
    log(operation, component=component, source_location=source_location,
        content_hash=content_hash, foreign_id=foreign_id, source_id=source_id,
        document_id=document_id, meta=meta, error_type=error_type,
        error_message=error_message, error_details=error_details)
Takes data on the stack and places back a copy with all 
dataset/ETHPy150Open pudo/aleph/aleph/process.py/exception--crossover with--dataset/ETHPy150Open crista/exercises-in-programming-style/02-go-forth/tf-02.py/filter_chars