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))
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))
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)
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)