Example #1
0
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')
Example #2
0
def main(argv):
    global _PROG, _VERBOSE
    flag = None
    force = False

    _PROG = argv[0]
    try:
        opts, args = getopt.getopt(argv[1:], 'hvf', ( '--help',
                                   '--verbose', '--force', ))
        for flag, opt in opts:
            if flag in ( '-v', '--verbose', ):
                _VERBOSE = True
            if flag in ( '-f', '--force', ):
                force = True
            elif flag in ( '-h', '--help', ):
                return usage(1)

        if 2 > len(args):
            return usage()

        for queue in args[1:]:
            chirp('removing host {0} for queue {1}'.format(args[0], queue))
            try:
                fsq.uninstall_host(queue, args[0])
            except fsq.FSQInstallError:
                if force:
                    pass
                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')
Example #3
0
def main(argv):
    global _PROG, _VERBOSE
    flag = None
    force = False

    _PROG = argv[0]
    try:
        opts, args = getopt.getopt(argv[1:], 'hvf', ( '--help',
                                   '--verbose', '--force', ))
        for flag, opt in opts:
            if flag in ( '-v', '--verbose', ):
                _VERBOSE = True
            if flag in ( '-f', '--force', ):
                force = True
            elif flag in ( '-h', '--help', ):
                return usage(1)

        if 2 > len(args):
            return usage()

        for queue in args[1:]:
            chirp('removing host {0} for queue {1}'.format(args[0], queue))
            try:
                fsq.uninstall_host(queue, args[0])
            except fsq.FSQInstallError:
                if force:
                    pass
                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')
Example #4
0
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')