Source code for bowl.cli_opts.logs

"""
This module is the logs command of bowl.

Created on 14 March 2014
@author: Charlie Lewis
"""
import docker
import os

from bowl.cli_opts import list

[docs]class Object(object): pass
[docs]class logs(object): """ This class is responsible for the logs command of the cli. """ @classmethod
[docs] def main(self, args): # !! TODO needs to implement login if using that directory = args.metadata_path directory = os.path.expanduser(directory) if not os.path.exists(directory): os.makedirs(directory) list_args = Object() list_args.metadata_path = args.metadata_path list_args.z = True list_a = list.list.main(list_args) for container in list_a: if args.CONTAINER in container: host = container.split(",")[1] cont = container.split(",")[0] try: c = docker.Client(base_url='tcp://'+host+':2375', version='1.12', timeout=2) output = c.logs(cont) if not args.z: print output return output except: if not args.z: print "unable to get logs for container "+cont return False