def main(argv): global _PROG, _VERBOSE flag = None _PROG = argv[0] try: opts, args = getopt.getopt(argv[1:], "hvo:g:m:", ("--help", "--owner", "--group", "--mode")) for flag, opt in opts: if flag in ("-v", "--verbose"): _VERBOSE = True elif flag in ("-o", "--owner"): for c in ("FSQ_QUEUE_USER", "FSQ_ITEM_USER"): fsq.set_const(c, opt) elif flag in ("-g", "--group"): for c in ("FSQ_QUEUE_GROUP", "FSQ_ITEM_GROUP"): fsq.set_const(c, opt) elif flag in ("-m", "--mode"): for c in ("FSQ_QUEUE_MODE", "FSQ_ITEM_MODE"): fsq.set_const(c, opt) elif flag in ("-h", "--help"): return usage(1) if 2 > len(args): return usage() for queue in args[1:]: chirp("downing host {0} for queue {1}".format(args[0], queue)) fsq.down_host(queue, args[0]) except (fsq.FSQEnvError, fsq.FSQCoerceError): shout("invalid argument for flag: {0}".format(flag)) return fsq.const("FSQ_FAIL_PERM") except fsq.FSQInstallError, e: shout(e.strerror) return fsq.const("FSQ_FAIL_TMP")
def main(argv): global _PROG, _VERBOSE force = False ignore = False flag = None _PROG = argv[0] try: opts, args = getopt.getopt(argv[1:], 'hvfo:g:m:i', ( '--help', '--force', '--verbose', '--owner', '--group', '--mode', '--ignore-exists', )) for flag, opt in opts: if flag in ( '-v', '--verbose', ): _VERBOSE = True elif flag in ( '-f', '--force', ): force = True elif flag in ( '-i', '--ignore-exists', ): ignore = True elif flag in ( '-o', '--owner', ): for c in ( 'FSQ_QUEUE_USER', 'FSQ_ITEM_USER', ): fsq.set_const(c, opt) elif flag in ( '-g', '--group', ): for c in ( 'FSQ_QUEUE_GROUP', 'FSQ_ITEM_GROUP', ): fsq.set_const(c, opt) elif flag in ( '-m', '--mode', ): for c in ( 'FSQ_QUEUE_MODE', 'FSQ_ITEM_MODE', ): fsq.set_const(c, opt) elif flag in ( '-h', '--help', ): return usage(1) if 2 > len(args): return usage() host = args[0] for queue in args[1:]: try: chirp('installing host {0} to {1}'.format(host, queue)) fsq.install_host(queue, host) except fsq.FSQInstallError, e: if e.errno == errno.ENOTEMPTY or e.errno == errno.ENOTDIR: if force: fsq.uninstall_host(queue, *host) fsq.install_host(queue, *host) elif ignore: chirp('skipping {0}; already installed'.format(queue)) else: raise else: raise except ( fsq.FSQEnvError, fsq.FSQCoerceError, ): shout('invalid argument for flag: {0}'.format(flag)) return fsq.const('FSQ_FAIL_PERM') except fsq.FSQInstallError, e: shout(e.strerror) return fsq.const('FSQ_FAIL_TMP')
def main(argv): global _PROG, _VERBOSE flag = None _PROG = argv[0] try: opts, args = getopt.getopt(argv[1:], 'hvo:g:m:', ( '--help', '--owner', '--group', '--mode', )) for flag, opt in opts: if flag in ( '-v', '--verbose', ): _VERBOSE = True elif flag in ( '-o', '--owner', ): for c in ( 'FSQ_QUEUE_USER', 'FSQ_ITEM_USER', ): fsq.set_const(c, opt) elif flag in ( '-g', '--group', ): for c in ( 'FSQ_QUEUE_GROUP', 'FSQ_ITEM_GROUP', ): fsq.set_const(c, opt) elif flag in ( '-m', '--mode', ): for c in ( 'FSQ_QUEUE_MODE', 'FSQ_ITEM_MODE', ): fsq.set_const(c, opt) elif flag in ( '-h', '--help', ): return usage(1) if 2 > len(args): return usage() for queue in args[1:]: chirp('downing host {0} for queue {1}'.format(args[0], queue)) fsq.down_host(queue, args[0]) except ( fsq.FSQEnvError, fsq.FSQCoerceError, ): shout('invalid argument for flag: {0}'.format(flag)) return fsq.const('FSQ_FAIL_PERM') except fsq.FSQInstallError as e: shout(e.strerror) return fsq.const('FSQ_FAIL_TMP') except getopt.GetoptError as e: shout('invalid flag: -{0}{1}'.format('-' if 1 < len(e.opt) else '', e.opt)) return fsq.const('FSQ_FAIL_TMP')
barf('invalid flag: -{0}{1}'.format('-' if 1 < len(e.opt) else '', e.opt)) try: for flag, opt in opts: if '-v' == flag or '--verbose' == flag: _VERBOSE = True elif '-e' == flag or '--env' == flag: set_env = True elif '-E' == flag or '--no-env' == flag: set_env = False elif '-n' == flag or '--no-open' == flag: no_open = True elif '-i' == flag or '--ignore-down' == flag: ignore_down = True elif '-l' == flag or '--lock' == flag: fsq.set_const('FSQ_LOCK', True) elif '-L' == flag or '--no-lock' == flag: fsq.set_const('FSQ_LOCK', False) elif '-k' == flag or '--empty-ok' == flag: empty_ok = True elif '-D' == flag or '--no-done' == flag: no_done = True elif '-a' == flag or '--all-hosts' == flag: host = True elif '-A' == flag or '--hosts' == flag: hosts.append(opt) host = True elif '-t' == flag or '--ttl' == flag: fsq.set_const('FSQ_TTL', opt) elif '-m' == flag or '--max-tries' == flag: fsq.set_const('FSQ_MAX_TRIES', opt)
def main(argv): global _PROG, _VERBOSE link = False trigger = False flag = None all_hosts = False no_open = False ignore_down = False no_done = False _PROG = argv[0] try: opts, args = getopt.getopt(argv[1:], 'hvnilLDIgt:m:S:T:F:', ( 'help', 'no-open', 'ignore-down', 'lock', 'no-lock', 'no-done', 'link', 'trigger', 'ttl=', 'max-tries=', 'success-code=', 'fail-tmp-code=', 'fail-perm-code=', 'verbose', )) for flag, opt in opts: if flag in ( '-v', '--verbose', ): _VERBOSE = True elif flag in ( '-I', '--link', ): link = True elif flag in ( '-g', '--trigger', ): trigger = True elif '-n' == flag or '--no-open' == flag: no_open = True elif '-i' == flag or '--ignore-down' == flag: ignore_down = True elif '-l' == flag or '--lock' == flag: fsq.set_const('FSQ_LOCK', True) elif '-L' == flag or '--no-lock' == flag: fsq.set_const('FSQ_LOCK', False) elif '-D' == flag or '--no-done' == flag: no_done = True elif '-t' == flag or '--ttl' == flag: fsq.set_const('FSQ_TTL', opt) elif '-m' == flag or '--max-tries' == flag: fsq.set_const('FSQ_MAX_TRIES', opt) elif '-S' == flag or '--success-code' == flag: fsq.set_const('FSQ_SUCCESS', opt) elif '-T' == flag or '--fail-tmp-code' == flag: fsq.set_const('FSQ_FAIL_TMP', opt) elif '-F' == flag or '--fail-perm-code' == flag: fsq.set_const('FSQ_FAIL_PERM', opt) elif flag in ( '-h', '--help', ): return usage(1) except ( fsq.FSQEnvError, fsq.FSQCoerceError, ): barf('invalid argument for flag: {0}'.format(flag)) if 0 == len(args): return usage() if 1 == len(args): all_hosts = True hosts = None else: hosts = args[1:] fsq.fork_exec_items(args[0], ignore_down=ignore_down, host=all_hosts, no_open=no_open, hosts=hosts if hosts else None, no_done=no_done, verbose=_VERBOSE, link=link, trigger=trigger)
def main(argv): global _PROG, _VERBOSE force = False is_down = False is_triggered = False is_host_triggered = False ignore = False flag = None hosts = [] _PROG = argv[0] try: opts, args = getopt.getopt(argv[1:], 'hvfdto:g:m:ia:', ( '--help', '--verbose', '--force', '--down', '--triggered', '--owner', '--group', '--mode', '--ignore-exists', '--add-host',)) for flag, opt in opts: if flag in ( '-v', '--verbose', ): _VERBOSE = True elif flag in ( '-f', '--force', ): force = True elif flag in ( '-d', '--down', ): is_down = True elif flag in ( '-t', '--triggered', ): is_triggered = True elif flag in ( '-i', '--ignore-exists', ): ignore = True elif flag in ( '-o', '--owner', ): for c in ( 'FSQ_QUEUE_USER', 'FSQ_ITEM_USER', ): fsq.set_const(c, opt) elif flag in ( '-g', '--group', ): for c in ( 'FSQ_QUEUE_GROUP', 'FSQ_ITEM_GROUP', ): fsq.set_const(c, opt) elif flag in ( '-m', '--mode', ): for c in ( 'FSQ_QUEUE_MODE', 'FSQ_ITEM_MODE', ): fsq.set_const(c, opt) elif flag in ( '-a', '--add-host', ): hosts.append(opt) elif flag in ( '-h', '--help', ): return usage(1) if 0 == len(args): return usage() if hosts and is_triggered: is_host_triggered = True for queue in args: try: chirp('installing {0} to {1}'.format(queue, fsq.const('FSQ_ROOT'))) fsq.install(queue, is_down=is_down, is_triggered=is_triggered, hosts=hosts or None, is_host_triggered=is_host_triggered) except fsq.FSQInstallError as e: if e.errno == errno.ENOTEMPTY or e.errno == errno.ENOTDIR: if force: fsq.uninstall(queue) fsq.install(queue) elif ignore: chirp('skipping {0}; already installed'.format(queue)) else: raise else: raise except ( fsq.FSQEnvError, fsq.FSQCoerceError, ): shout('invalid argument for flag: {0}'.format(flag)) return fsq.const('FSQ_FAIL_PERM') except fsq.FSQInstallError as e: shout(e.strerror) return fsq.const('FSQ_FAIL_TMP') except getopt.GetoptError as e: shout('invalid flag: -{0}{1}'.format('-' if 1 < len(e.opt) else '', e.opt)) return fsq.const('FSQ_FAIL_TMP')
def main(argv): global _PROG, _VERBOSE # defaults set_env = True no_open = False ignore_down = False empty_ok = False no_done = False host = False hosts = [] max_rate = None _PROG = argv[0] try: opts, args = getopt.getopt(argv[1:], 'hveEnilLkDt:m:S:T:F:aA:r:', ( 'help', 'env', 'no-env', 'no-open', 'ignore-down', 'lock', 'no-lock', 'empty-ok', 'no-done', 'ttl=', 'max-tries=', 'success-code=', 'fail-tmp-code=', 'fail-perm-code=', 'verbose', 'all-hosts', 'host=', 'max-rate=')) except getopt.GetoptError as e: barf('invalid flag: -{0}{1}'.format('-' if 1 < len(e.opt) else '', e.opt)) try: for flag, opt in opts: if '-v' == flag or '--verbose' == flag: _VERBOSE = True elif '-e' == flag or '--env' == flag: set_env = True elif '-E' == flag or '--no-env' == flag: set_env = False elif '-n' == flag or '--no-open' == flag: no_open = True elif '-i' == flag or '--ignore-down' == flag: ignore_down = True elif '-l' == flag or '--lock' == flag: fsq.set_const('FSQ_LOCK', True) elif '-L' == flag or '--no-lock' == flag: fsq.set_const('FSQ_LOCK', False) elif '-k' == flag or '--empty-ok' == flag: empty_ok = True elif '-D' == flag or '--no-done' == flag: no_done = True elif '-a' == flag or '--all-hosts' == flag: host = True elif '-A' == flag or '--hosts' == flag: hosts.append(opt) host = True elif '-t' == flag or '--ttl' == flag: fsq.set_const('FSQ_TTL', opt) elif '-m' == flag or '--max-tries' == flag: fsq.set_const('FSQ_MAX_TRIES', opt) elif '-S' == flag or '--success-code' == flag: fsq.set_const('FSQ_SUCCESS', opt) elif '-T' == flag or '--fail-tmp-code' == flag: fsq.set_const('FSQ_FAIL_TMP', opt) elif '-F' == flag or '--fail-perm-code' == flag: fsq.set_const('FSQ_FAIL_PERM', opt) elif '-r' == flag or '--max-rate' == flag: try: max_rate = int(opt) except ValueError: raise fsq.FSQCoerceError elif '-h' == flag or '--help' == flag: usage(1) except ( fsq.FSQEnvError, fsq.FSQCoerceError, ): barf('invalid argument for flag: {0}'.format(flag)) # validate args num_required = 1 if empty_ok else 2 if num_required > len(args): usage() exec_args = tuple(args[1:]) fsq.fork_exec_items(args[0], ignore_down=ignore_down, host=host, no_open=no_open, hosts=hosts if hosts else None, no_done=no_done, set_env=set_env, exec_args=exec_args, verbose=_VERBOSE, empty_ok=empty_ok, max_rate=max_rate)
def main(argv): global _PROG, _VERBOSE force = False is_down = False is_triggered = False is_host_triggered = False ignore = False flag = None hosts = [] _PROG = argv[0] try: opts, args = getopt.getopt(argv[1:], 'hvfdto:g:m:ia:', ( '--help', '--verbose', '--force', '--down', '--triggered', '--owner', '--group', '--mode', '--ignore-exists', '--add-host', )) for flag, opt in opts: if flag in ( '-v', '--verbose', ): _VERBOSE = True elif flag in ( '-f', '--force', ): force = True elif flag in ( '-d', '--down', ): is_down = True elif flag in ( '-t', '--triggered', ): is_triggered = True elif flag in ( '-i', '--ignore-exists', ): ignore = True elif flag in ( '-o', '--owner', ): for c in ( 'FSQ_QUEUE_USER', 'FSQ_ITEM_USER', ): fsq.set_const(c, opt) elif flag in ( '-g', '--group', ): for c in ( 'FSQ_QUEUE_GROUP', 'FSQ_ITEM_GROUP', ): fsq.set_const(c, opt) elif flag in ( '-m', '--mode', ): for c in ( 'FSQ_QUEUE_MODE', 'FSQ_ITEM_MODE', ): fsq.set_const(c, opt) elif flag in ( '-a', '--add-host', ): hosts.append(opt) elif flag in ( '-h', '--help', ): return usage(1) if 0 == len(args): return usage() if hosts and is_triggered: is_host_triggered = True for queue in args: try: chirp('installing {0} to {1}'.format(queue, fsq.const('FSQ_ROOT'))) fsq.install(queue, is_down=is_down, is_triggered=is_triggered, hosts=hosts or None, is_host_triggered=is_host_triggered) except fsq.FSQInstallError, e: if e.errno == errno.ENOTEMPTY or e.errno == errno.ENOTDIR: if force: fsq.uninstall(queue) fsq.install(queue) elif ignore: chirp('skipping {0}; already installed'.format(queue)) else: raise else: raise except ( fsq.FSQEnvError, fsq.FSQCoerceError, ): shout('invalid argument for flag: {0}'.format(flag)) return fsq.const('FSQ_FAIL_PERM') except fsq.FSQInstallError, e: shout(e.strerror) return fsq.const('FSQ_FAIL_TMP')
def main(argv): global _PROG, _VERBOSE flag = None _PROG = argv[0] try: opts, args = getopt.getopt(argv[1:], 'hvo:g:m:', ( '--help', '--owner', '--group', '--mode', )) for flag, opt in opts: if flag in ( '-v', '--verbose', ): _VERBOSE = True elif flag in ( '-o', '--owner', ): for c in ( 'FSQ_QUEUE_USER', 'FSQ_ITEM_USER', ): fsq.set_const(c, opt) elif flag in ( '-g', '--group', ): for c in ( 'FSQ_QUEUE_GROUP', 'FSQ_ITEM_GROUP', ): fsq.set_const(c, opt) elif flag in ( '-m', '--mode', ): for c in ( 'FSQ_QUEUE_MODE', 'FSQ_ITEM_MODE', ): fsq.set_const(c, opt) elif flag in ( '-h', '--help', ): return usage(1) if 2 > len(args): return usage() for queue in args[1:]: chirp('downing host {0} for queue {1}'.format(args[0], queue)) fsq.down_host(queue, args[0]) except ( fsq.FSQEnvError, fsq.FSQCoerceError, ): shout('invalid argument for flag: {0}'.format(flag)) return fsq.const('FSQ_FAIL_PERM') except fsq.FSQInstallError, e: shout(e.strerror) return fsq.const('FSQ_FAIL_TMP')