Skip to content
Snippets Groups Projects
time.py 837 B
Newer Older
Matthieu Gonnet's avatar
Matthieu Gonnet committed
#!/usr/bin/env python
#coding=utf8

'''
CloudControl time command
'''

import time as systime
import datetime

from cccli.exception import *
from sjrpc.core.exceptions import *
from cccli.printer import Printer, color
from cccli.command import Command


class Command_time(Command):
    '''Show execution time'''

    def __init__(self, cli, argv0):
        Command.__init__(self, cli, argv0)

    def __call__(self, argv):
        if len(argv) > 1:
            # Substitute aliases
            self.args = self.cli.aliases.substitute(argv[1:])
            # Init time
            t0 = systime.time()
            # Execute command
            self.cli.commands(self.args)
            t1 = systime.time()
            # Get elapsed time
            dt = int(t1 - t0)
            print "Execution time: %s" % datetime.timedelta(seconds=dt)