# Path: habitat/utils/quick_traceback.py
# def oneline(exc_value=None):


import sys
import copy
import base64
import hashlib
import couchdbkit
import couchdbkit.exceptions
import restkit
import restkit.errors
import threading
import Queue
import time
import json
import logging
import strict_rfc3339
from .utils import quick_traceback
        Flight data is passed to :meth:`got_payloads`.
        """
        self._do_queue(("payloads", [], {}))

    def debug(self, msg):
        """Log a debug message"""
        logger.debug(msg)

    def log(self, msg):
        """Log a generic string message"""
        logger.info(msg)

    def warning(self, msg):
        """Alike log, but more important"""
        logger.warn(msg)

    def saved_id(self, doc_type, doc_id):
        """Called when a document is succesfully saved to couch"""
        self.log("Saved {0} doc: {1}".format(doc_type, doc_id))

    def initialised(self):
        """Called immiediately after successful Uploader initialisation"""
        self.debug("Initialised Uploader")

    def reset_done(self):
        """Called immediately after resetting the Uploader object"""
        self.debug("Settings reset")

    def caught_exception(self):
        """Called when the Uploader throws an exception"""

# Path: habitat/utils/quick_traceback.py
# def oneline(exc_value=None):


# Path: habitat/uploader.py
import sys
import copy
import base64
import hashlib
import couchdbkit
import couchdbkit.exceptions
import restkit
import restkit.errors
import threading
import Queue
import time
import json
import logging
import strict_rfc3339
from .utils import quick_traceback

        Flight data is passed to :meth:`got_payloads`.
        """
        self._do_queue(("payloads", [], {}))

    def debug(self, msg):
        """Log a debug message"""
        logger.debug(msg)

    def log(self, msg):
        """Log a generic string message"""
        logger.info(msg)

    def warning(self, msg):
        """Alike log, but more important"""
        logger.warn(msg)

    def saved_id(self, doc_type, doc_id):
        """Called when a document is succesfully saved to couch"""
        self.log("Saved {0} doc: {1}".format(doc_type, doc_id))

    def initialised(self):
        """Called immiediately after successful Uploader initialisation"""
        self.debug("Initialised Uploader")

    def reset_done(self):
        """Called immediately after resetting the Uploader object"""
        self.debug("Settings reset")

    def caught_exception(self):
        """Called when the Uploader throws an exception"""

        self.warning("Caught " + quick_traceback.oneline())