Example #1
0
def main(req):
    error = None
    opt = parse(req)
    if opt.debug:
        log.setLevel("debug")
    obj = getCommandObject(opt.section, opt.command)
    if not obj:
        print "No such command: %s %s" % (opt.section, opt.command)
        sys.exit(1)
    try:
        result = obj.main(*opt.args)
        if opt.json:
            fmt = formatter.load("json")
        elif opt.raw:
            fmt = formatter.load("generic")
        else:
            fmt = formatter.load(obj.getFormatter())
        if not opt.json:
            print ""
        result = fmt.main(result)
        if result:
            print result
        if not opt.json:
            print ""
    except amqp.RemoteException, e:
        error = e.message + "\n\n"
        if opt.verbose or opt.debug:
            line = "=" * 60
            error += e.getRemoteTraces()
            error += "\n"
            error += "%s\n" % line
            error += "chains-admin %s %s\n" % (opt.section, opt.command)
            error += "%s\n" % line
            error += utils.e2str(e)
        else:
            error += "Add -v to see error trace\n"
Example #2
0
 def setUp(self):
     log.setLevel('debug')
Example #3
0
 def action_setLogLevel(self, level):
     log.setLevel(level)
     log.warn('Changed loglevel to "%s" during runtime' % level)
Example #4
0
def main(req):
    error = None
    opt = parse(req)
    if opt.debug:
        log.setLevel('debug')
    obj = getCommandObject(opt.section, opt.command)
    if not obj:
        print 'No such command: %s %s' % (opt.section, opt.command)
        sys.exit(1)
    if opt.help:
        print ""
        lines = obj.help()
        first = True
        tail = False
        indent = 0
        for line in lines.split("\n"):
            if first:
                _line = line.strip()
                if not _line:
                    continue
                for c in line:
                    if c != ' ':
                        break
                    indent += 1
            first = False
            line = line[indent:]
            print line
            if not line:
                tail = True
        if not tail:
            print ""
    else:
        try:
            result = obj.main(*opt.args)
            if opt.json:
                fmt = formatter.load('json')
            elif opt.raw:
                fmt = formatter.load('generic')
            else:
                fmt = formatter.load(obj.getFormatter())
            if not opt.json:
                print ''
            result = fmt.main(result)
            if result: print result
            if not opt.json:
                print ''
        except amqp.RemoteException, e:
            error = e.message + '\n\n'
            if opt.verbose or opt.debug:
                line = '=' * 60
                error += e.getRemoteTraces()
                error += '\n'
                error += '%s\n' % line
                error += 'chains-admin %s %s\n' % (opt.section, opt.command)
                error += '%s\n' % line
                error += utils.e2str(e)
            else:
                error += 'Add -v to see error trace\n'
        except Exception, e:
            error = e.message + '\n'
            if opt.verbose or opt.debug:
                error += '\n' + utils.e2str(e)
            else:
                error += 'Add -v to see error trace\n'
Example #5
0
                    print ''
                return True
            elif args[0] == 'help':
                print ''
                print help()
                print ''
            else:
                try:
                    main(args)
                except InvalidParameterException, e:
                    print "Invalid command: %s" % line
                except Exception, e:
                    print ''
                    traceback.print_exc()
                    print ''


if __name__ == '__main__':
    log.setLevel('warn')
    import sys
    if len(sys.argv) == 2 and sys.argv[1] == 'shell':
        shell()
    else:
        try:
            main(sys.argv[1:])
        except InvalidParameterException, e:
            if len(sys.argv) > 1:
                print ''
                print '%s' % e
            print usage()
Example #6
0
 def setUp(self):
     log.setLevel('debug')
     self.context = Context(State())
     # We use this as a poor man's MockAction. Rules will set keys here
     # to indicate how far in the rule's steps we've got to.
     self.context.test = {}
Example #7
0
 def setUp(self):
     log.setLevel('debug')
     self.context = Context(State())
     self.context.test = {}
     self.context.state.set('timer.hour.data.value', 15)
Example #8
0
 def setUp(self):
     log.setLevel('debug')
     self.context = Context(State())
     # We use this as a poor man's MockAction. Rules will set keys here
     # to indicate how far in the rule's steps we've got to.
     self.context.test = {}
Example #9
0
from chains.service import process
from chains.service import config # as serviceConfig
from chains import service
from chains.common import log, utils
#from chains.common import config as globalConfig

from .runservice import signalHandler, parseConfigParam, checkNotRunning

serviceObject = None

serviceConfig = parseConfigParam()
serviceId     = serviceConfig.get('id')

log.setFileName('service-%s-%s' % (serviceConfig.get('name'), serviceId))
if serviceConfig.get('loglevel'):
    log.setLevel(serviceConfig.get('loglevel'))

#checkNotRunning(serviceId)
process.setPid(serviceId, os.getpid())

try:
    serviceObject = service.factory(serviceConfig)

    signal.signal(signal.SIGTERM, signalHandler) # $ kill <pid>
    signal.signal(signal.SIGINT, signalHandler)  # Ctrl-C

    serviceObject.start(block=True)
except Exception, e:
    log.error('Service crashed: %s' % serviceId)
    log.error(utils.e2str(e))
Example #10
0
from chains.service import process
from chains.service import config  # as serviceConfig
from chains import service
from chains.common import log, utils
#from chains.common import config as globalConfig

from .runservice import signalHandler, parseConfigParam, checkNotRunning

serviceObject = None

serviceConfig = parseConfigParam()
serviceId = serviceConfig.get('id')

log.setFileName('service-%s-%s' % (serviceConfig.get('name'), serviceId))
if serviceConfig.get('loglevel'):
    log.setLevel(serviceConfig.get('loglevel'))

#checkNotRunning(serviceId)
process.setPid(serviceId, os.getpid())

try:
    serviceObject = service.factory(serviceConfig)

    signal.signal(signal.SIGTERM, signalHandler)  # $ kill <pid>
    signal.signal(signal.SIGINT, signalHandler)  # Ctrl-C

    serviceObject.start(block=True)
except Exception, e:
    log.error('Service crashed: %s' % serviceId)
    log.error(utils.e2str(e))
Example #11
0
 def setUp(self):
     log.setLevel('debug')
     self.context = Context(State())
     self.context.test = {}
     self.context.state.set('timer.hour.data.value', 18)
Example #12
0
                return True
            elif args[0] == "help":
                print ""
                print help()
                print ""
            else:
                try:
                    main(args)
                except InvalidParameterException, e:
                    print "Invalid command: %s" % line
                except Exception, e:
                    print ""
                    traceback.print_exc()
                    print ""


if __name__ == "__main__":
    log.setLevel("warn")
    import sys

    if len(sys.argv) == 2 and sys.argv[1] == "shell":
        shell()
    else:
        try:
            main(sys.argv[1:])
        except InvalidParameterException, e:
            if len(sys.argv) > 1:
                print ""
                print "%s" % e
            print usage()
Example #13
0
 def setUp(self):
     log.setLevel("debug")
     self.context = Context(State())
     self.context.test = {}
     self.context.state.set("timer.hour.data.value", 18)
Example #14
0
 def action_setLogLevel(self, level):
     log.setLevel(level)
     log.warn('Changed loglevel to "%s" during runtime' % level)
Example #15
0
def main(req):
    error = None
    opt = parse(req)
    if opt.debug:
        log.setLevel('debug')
    obj = getCommandObject(opt.section, opt.command)
    if not obj:
        print 'No such command: %s %s' % (opt.section,opt.command)
        sys.exit(1)
    if opt.help:
        print ""
        lines = obj.help()
        first = True
        tail = False
        indent = 0
        for line in lines.split("\n"):
            if first:
                _line = line.strip()
                if not _line:
                    continue
                for c in line:
                    if c != ' ':
                        break
                    indent += 1
            first = False
            line = line[indent:]
            print line
            if not line:
                tail = True
        if not tail:
            print ""
    else:
        try:
            result = obj.main(*opt.args)
            if opt.json:
                fmt = formatter.load('json')
            elif opt.raw:
                fmt = formatter.load('generic')
            else:
                fmt = formatter.load(obj.getFormatter())
            if not opt.json:
                print ''
            result = fmt.main(result)
            if result: print result
            if not opt.json:
                print ''
        except amqp.RemoteException, e:
            error = e.message + '\n\n'
            if opt.verbose or opt.debug:
                line  = '='*60
                error += e.getRemoteTraces()
                error += '\n'
                error += '%s\n' % line
                error += 'chains-admin %s %s\n' % (opt.section, opt.command)
                error += '%s\n' % line
                error += utils.e2str(e)
            else:
                error += 'Add -v to see error trace\n'
        except Exception, e:
            error = e.message + '\n'
            if opt.verbose or opt.debug:
                error += '\n' + utils.e2str(e)
            else:
                error += 'Add -v to see error trace\n'
Example #16
0
                if args[0] == 'EOF':
                    print ''
                return True
            elif args[0] == 'help':
                print ''
                print help()
                print ''
            else:
                try:
                    main(args)
                except InvalidParameterException, e:
                    print "Invalid command: %s" % line
                except Exception, e:
                    print ''
                    traceback.print_exc()
                    print ''

if __name__ == '__main__':
    log.setLevel('warn')
    import sys
    if len(sys.argv) == 2 and sys.argv[1] == 'shell':
        shell()
    else:
        try:
            main(sys.argv[1:])
        except InvalidParameterException, e:
            if len(sys.argv) > 1:
                print ''
                print '%s' % e
            print usage()