def _args(): parser = ArgumentParser() args = Dodo.parse_args(parser) args.rtop = os.path.join(Dodo.get_config('/SERVER/node_modules_dir'), '.bin', 'rtop') args.cwd = Dodo.get_config('/WEBPACK/webpack_dir') return args
def _args(): Dodo.parser.add_argument("script") Dodo.parser.add_argument("script_args", nargs="?") args = Dodo.parse_args() args.python = Dodo.get_config("/PYTHON/python") args.cwd = Dodo.get_config("/PYTHON/cwd") return args
def _args(): parser = ArgumentParser(description="Publish own npm packages") parser.add_argument("--unlink", action="store_true") # Parse the arguments. args = Dodo.parse_args(parser, config_args=[]) args.dir_by_name = Dodo.get_config("/TSC/src_dir_map") args.node_modules_dir = Dodo.get_config("/NODE/node_modules_dir") return args
def _args(): Dodo.parser.description = "Runs nps" Dodo.parser.add_argument("--cat", action="store_true") Dodo.parser.add_argument("--edit", action="store_true") Dodo.parser.add_argument("nps_args", nargs="?") args = Dodo.parse_args() args.cwd = Dodo.get_config("/NODE/cwd") args.nps = Dodo.get_config("/NODE/nps", "nps") global_config = load_global_config_parser() args.editor = global_config_get(global_config, "settings", "editor") return args
def patch_docker_options(docker_image): docker_options = Dodo.get_config('/DOCKER') \ .setdefault('options', {}) \ .setdefault(Dodo.command_name, {}) docker_options.setdefault('image', _docker_image(docker_image)) docker_options.setdefault('rm', False)
def _args(): parser = ArgumentParser(description="Runs node") parser.add_argument("--inspect", action="store_true") parser.add_argument("--inspect-brk", action="store_true") parser.add_argument("--shell", action="store_true") args = Dodo.parse_args(parser) args.cwd = Dodo.get_config("/NODE/cwd") args.node = Dodo.get_config("/NODE/node", "node") args.entrypoint = Dodo.get_config("/NODE/entrypoint", "index.js") # Raise an error if something is not right if False: raise CommandError("Oops") return args
def _args(): Dodo.parser.add_argument("yarn_args", nargs="?") Dodo.parser.add_argument("--name") Dodo.parser.add_argument("--local", "-l", action="store_true") args = Dodo.parse_args() args.yarn = "yarn" args.cwd = Dodo.get_config("/NODE/cwd") return args
def _args(): Dodo.parser.description = "Runs make" Dodo.parser.add_argument("make_args", nargs="?") Dodo.parser.add_argument("--cat", action="store_true") Dodo.parser.add_argument("--edit", action="store_true") args = Dodo.parse_args() args.cwd = Dodo.get_config("/MAKE/cwd") args.file = Dodo.get_config("/MAKE/file", "Makefile") global_config = load_global_config_parser() args.editor = global_config_get(global_config, "settings", "editor") # Raise an error if something is not right if False: raise CommandError("Oops") return args
def _args(): Dodo.parser.add_argument("pytest_args", nargs="?") Dodo.parser.add_argument("--show-report", action="store_true") args = Dodo.parse_args() args.no_capture = not Dodo.get_config("/PYTEST/capture", True) args.reuse_db = Dodo.get_config("/PYTEST/reuse_db", False) args.html_report = Dodo.get_config("/PYTEST/html_report", None) args.test_file = Dodo.get_config("/PYTEST/test_file", None) args.pytest_ini_filename = Dodo.get_config("/PYTEST/pytest_ini", None) args.maxfail = Dodo.get_config("/PYTEST/maxfail", None) args.pytest = Dodo.get_config("/PYTEST/pytest", "pytest") args.cwd = Dodo.get_config("/PYTEST/cwd", Dodo.get_config("/ROOT/src_dir")) args.browser = global_config_get(None, "settings", "browser", default="firefox") return args
def _all_hooks(): command_dirs = get_command_dirs_from_config(Dodo.get_config()) result = defaultdict(lambda: {}) for command_dir in command_dirs: hooks_path = os.path.join(command_dir, 'git_hooks') for prefix in prefixes: pattern = os.path.join(hooks_path, '%s-*.py' % prefix) for hook_filename in glob.glob(pattern): hook_name = os.path.splitext( os.path.basename(hook_filename))[0] result[prefix][hook_name] = hook_filename return result
def _create_docker_options(salt_src_dir, salt_master_filename): docker_options = Dodo.get_config().setdefault('DOCKER', {}).setdefault( 'options', {}) if Dodo.command_name not in docker_options: docker_options[Dodo.command_name] = dict( volume_map={salt_src_dir: '/srv/salt-deploy/src'}, variable_map={'SSH_AUTH_SOCK': '/.ssh-agent/socket'}, volumes_from_list=['ssh-agent'], image='deploy-tools:base') docker_options[Dodo.command_name].setdefault( 'volume_map', {})[salt_master_filename] = '/etc/salt/master'
def _args(): # noqa parser = ArgumentParser( description=('Deploys a ansible script to a ssh server')) parser.add_argument( "--bash", action="store_true", help='Drop into a bash shell instead of calling ansible') args = Dodo.parse_args(parser) args.playbook = Dodo.get_config('/ANSIBLE/playbook') args.ansible_src_dir = Dodo.get_config('/ANSIBLE/src_dir') args.target_docker_image = Dodo.get_config('/ANSIBLE/target_docker_image', None) args.host_name = Dodo.get_config('/ANSIBLE/host_name', None) if args.host_name and args.target_docker_image: raise CommandError('Both host_name and target_docker_image supplied') if args.target_docker_image: args.ssh_public_key = os.path.expandvars( '$HOME/.ssh/%s.pub' % Dodo.get_config('/SSH/key_name')) return args
def _args(): parser = ArgumentParser() parser.add_argument('host') args = Dodo.parse_args(parser) return args def _get_timestamp(fn): return fn.split('_')[-1] if Dodo.is_main(__name__, safe=True): args = _args() project_name = Dodo.get_config('/ROOT/project_name') cmd = 'root@{host}:/srv/{projectName}/dumps'.format( host=args.host, projectName=project_name) dumps_dir = '/srv/%s/dumps' % project_name merge_into_config( Dodo.get_config('/DOCKER').setdefault('options', {}), {Dodo.command_name: add_ssh_agent_args({'is_interactive': False})}) dump_fns = Dodo.run([ 'ssh', 'root@%s' % args.host, 'ls', os.path.join(dumps_dir, '*.sql'), ], capture=True).split()
from argparse import ArgumentParser import os from plumbum.cmd import whoami from dodo_commands import Dodo def _args(): parser = ArgumentParser() args = Dodo.parse_args(parser) return args if Dodo.is_main(__name__): args = _args() me = whoami()[:-1] src_dir = Dodo.get_config("/ROOT/src_dir") Dodo.run( ["sudo", "chown", "-R", "%s:%s" % (me, me), os.path.basename(src_dir)], cwd=os.path.dirname(src_dir))
def _docker_image(name): return Dodo.get_config('DOCKER_IMAGES/%s/image' % name, name)
def add_name_argument(parser, choices=None): parser.add_argument('name', help='Identifies docker image in /DOCKER_IMAGES', choices=choices or Dodo.get_config('/DOCKER_IMAGES', {}).keys())
from dodo_commands import Dodo from dodo_commands.framework.util import bordered def _args(): parser = ArgumentParser() parser.add_argument('--checkout') parser.add_argument('--prune', action='store_true') args = Dodo.parse_args(parser) return args if Dodo.is_main(__name__): args = _args() src_dir = Dodo.get_config('/ROOT/src_dir') for repo in (os.listdir(src_dir) + ['.']): repo_dir = os.path.join(src_dir, repo) if os.path.exists(os.path.join(repo_dir, '.git')): with local.cwd(repo_dir): if args.prune: print(git('remote', 'prune', 'origin')) print(bordered(repo)) if args.checkout: try: git('checkout', args.checkout) except: print('Could not checkout to %s' % args.checkout) pass print(git('rev-parse', '--abbrev-ref', 'HEAD'))
from dodo_commands import Dodo from dodo_commands.framework.decorator_scope import DecoratorScope from dodo_commands.framework.util import to_arg_list from dodo_docker_commands.decorators.docker import invert_path def _args(): Dodo.parser.add_argument("yarn_args", nargs="?") Dodo.parser.add_argument("--name") Dodo.parser.add_argument("--local", "-l", action="store_true") args = Dodo.parse_args() args.yarn = "yarn" args.cwd = Dodo.get_config("/NODE/cwd") return args if Dodo.is_main(__name__, safe=True): args = _args() if args.name: Dodo.get_config("/DOCKER").setdefault("options", {}).setdefault( "yarn", {})["name"] = args.name if args.local: with DecoratorScope("docker", remove=True): Dodo.run([args.yarn, *to_arg_list(args.yarn_args)], cwd=invert_path(args.cwd)) else: Dodo.run([args.yarn, *to_arg_list(args.yarn_args)], cwd=args.cwd)