예제 #1
0
파일: swork.py 프로젝트: timtadh/swork
    def start(argv, util, parser):

        cd = False
        opts, args = parser(argv)
        for opt, arg in opts:
            if opt in ('-h','--help'):
                util.usage()
            elif opt in ('-c', '--cd'):
                cd = True

        if len(args) < 1:
            log('start requires a project_name')
            util.usage(error_codes['option'])

        next = ''
        if cd:
            project_name, next = parse_project(' '.join(args))
        else:
            project_name = ' '.join(args)

        proj = load_project(project_name)
        cmd = proj['start_cmd']
        root = proj['root']

        sworklib.popproj()
        sworklib.restore_env()
        output('export SW_PROJECT_ROOT=%s' % (root))
        output('cd %s' % (root))
        output('%s' % (cmd))
        output('cd %s' % (CWD))
        sworklib.pushproj(project_name)
        if cd:
            output("cd %s" % os.path.join(root, next))
예제 #2
0
파일: swork.py 프로젝트: timtadh/swork
    def restore(argv, util, parser):
        '''restores the shell to its original state.'''

        opts, args = parser(argv)
        for opt, arg in opts:
            if opt in ('-h','--help',):
                util.usage()

        sworklib.popproj()
        sworklib.restore_env()
        output('cd %s' % (CWD))
예제 #3
0
파일: swork.py 프로젝트: timtadh/swork
    def cd(argv, util, parser):

        opts, args = parser(argv)
        for opt, arg in opts:
            if opt in ('-h',):
                util.usage()

        if len(args) < 1:
            log('cd requires a project_name, you gave %s' % str(args))
            util.usage(error_codes['option'])
        project_name, next = parse_project(args[0])

        proj = load_project(project_name)
        root = proj['root']

        if next:
            output("cd %s" % os.path.join(root, next))
        else:
            output("cd %s" % root)
예제 #4
0
파일: swork.py 프로젝트: timtadh/swork
    def update(argv, util, parser):

        sudo = False
        src_dir = SRC_DIR
        release = RELEASE
        commit = None
        check = False
        opts, args = parser(argv)
        for opt, arg in opts:
            if opt in ('-h','--help'):
                util.usage()
            elif opt in ('-s', '--sudo'):
                sudo = True
            elif opt in ('-r', '--release'):
                release = arg
            elif opt in ('--src',):
                src_dir = arg
            elif opt in ('--commit',):
                commit = arg
            elif opt in ('--check',):
                check = True

        if check:
            check_update(src_dir,sudo,release)
            sys.exit(0)

        if release[0].isdigit():
            release = 'r' + release
        release = 'origin/' + release

        if commit is not None:
            cmd = UPDATE_CMD % (src_dir, commit)
        else:
            cmd = UPDATE_CMD % (src_dir, release)

        if sudo:
            output('sudo %s' % cmd)
        else:
            output(cmd)