#!/usr/bin/env python


"""autodock-logger"""


from __future__ import print_function

import sys
import logging


from autodock.plugin import Plugin


logging.basicConfig(
    format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
    level=logging.INFO,
    stream=sys.stderr
)


logger = logging.getLogger(__name__)


class Logger(Plugin):

    def container_attached(self, event, **data):
        logging.info("Container {} attached".format(data["id"][:10]))

    def container_committed(self, event, **data):
        logging.info("Container {} committed".format(data["id"][:10]))

    def container_created(self, event, **data):
        logging.info("Container {} created".format(data["id"][:10]))

    def container_destroyed(self, event, **data):
        logging.info("Container {} destroyed".format(data["id"][:10]))

    def container_started(self, event, **data):
        logging.info("Container {} started".format(data["id"][:10]))

    def container_stopped(self, event, **data):
        logging.info("Container {} stopped".format(data["id"][:10]))

    def container_killed(self, event, **data):
        logging.info("Container {} killed".format(data["id"][:10]))

    def container_died(self, event, **data):
        logging.info("Container {} died".format(data["id"][:10]))

    def container_exported(self, event, **data):
        logging.info("Container {} exported".format(data["id"][:10]))

    def container_paused(self, event, **data):
        logging.info("Container {} paused".format(data["id"][:10]))

    def container_resized(self, event, **data):
        logging.info("Container {} resized".format(data["id"][:10]))

    def container_restarted(self, event, **data):
        logging.info("Container {} restarted".format(data["id"][:10]))

    def container_unpaused(self, event, **data):
        logging.info("Container {} unpaused".format(data["id"][:10]))

    def image_untagged(self, event, **data):
        logging.info("Image {} untagged".format(data["id"][:10]))

    def image_deleted(self, event, **data):
        logging.info("Image {} deleted".format(data["id"][:10]))

    def pull(self, event, **data):
        logging.info("Image {} pulled".format(data["id"][:10]))


def main():
    Logger().run()


if __name__ == "__main__":
    main()
