def _execute_from_command_line(sandbox_name, argv, **sandbox_overrides):
    # Parses for a settings flag, adding it as an environment variable to
    # the sandbox if found.
    parser = argparse.ArgumentParser(prog='manage.py')
    parser.add_argument('--settings', nargs='?')
    parsed = parser.parse_known_args(argv)
    settings = parsed[0].settings
    env_vars = {}
    if settings:
        env_vars['DJANGO_SETTINGS_MODULE'] = settings

    # retrieve additional overridden module settings
    for arg in parsed[1]:
        m = re.match(r'--(?P<module_name>.+)-settings=(?P<settings_path>.+)',
                     arg)
        if m:
            argv.remove(arg)
            env_vars['%s_DJANGO_SETTINGS_MODULE' %
                     m.group('module_name')] = m.group('settings_path')

    with sandbox.activate(sandbox_name,
                          add_sdk_to_path=True,
                          new_env_vars=env_vars,
                          **sandbox_overrides):
        import django.core.management as django_management  # Now on the path
        return django_management.execute_from_command_line(argv)
Exemple #2
0
def _execute_from_command_line(sandbox_name, argv, parser=None, **sandbox_overrides):
    # Parses for a settings flag, adding it as an environment variable to
    # retrieve additional overridden module settings
    env_vars = {}
    for arg in argv:
        m = re.match(r'--(?P<module_name>.+)-settings=(?P<settings_path>.+)', arg)
        if m:
            argv.remove(arg)
            env_vars['%s_DJANGO_SETTINGS_MODULE' % m.group('module_name')] = m.group('settings_path')

        m = re.match(r'--settings=(?P<settings_path>.+)', arg)
        if m:
            env_vars['DJANGO_SETTINGS_MODULE'] = m.group('settings_path')

    with sandbox.activate(
        sandbox_name,
        add_sdk_to_path=True,
        new_env_vars=env_vars,
        **sandbox_overrides
    ):
        try:
            import django.core.management as django_management  # Now on the path
            return django_management.execute_from_command_line(argv)
        except SystemExit as e:
            # print Djangae parser options help message
            print_help = any([arg in ('-h', '--help') for arg in argv])
            if e.code == 0 and print_help:
                parser.print_help()
                sys.stdout.write('\n')
            raise
Exemple #3
0
def _execute_from_command_line(sandbox_name, argv, **sandbox_overrides):
    # Parses for a settings flag, adding it as an environment variable to
    # the sandbox if found.
    parser = argparse.ArgumentParser(prog='manage.py')
    parser.add_argument('--settings', nargs='?')
    parsed = parser.parse_known_args(argv)
    settings = parsed[0].settings
    env_vars = {}
    if settings:
        env_vars['DJANGO_SETTINGS_MODULE'] = settings

    # retrieve additional overridden module settings
    for arg in parsed[1]:
        m = re.match(r'--(?P<module_name>.+)-settings=(?P<settings_path>.+)', arg)
        if m:
            argv.remove(arg)
            env_vars['%s_DJANGO_SETTINGS_MODULE' % m.group('module_name')] = m.group('settings_path')

    with sandbox.activate(
        sandbox_name,
        add_sdk_to_path=True,
        new_env_vars=env_vars,
        **sandbox_overrides
    ):
        import django.core.management as django_management  # Now on the path
        return django_management.execute_from_command_line(argv)
Exemple #4
0
def _execute_from_command_line(sandbox_name,
                               argv,
                               parser=None,
                               **sandbox_overrides):
    # Parses for a settings flag, adding it as an environment variable to
    # retrieve additional overridden module settings
    env_vars = {}
    for arg in argv:
        m = re.match(r'--(?P<module_name>.+)-settings=(?P<settings_path>.+)',
                     arg)
        if m:
            argv.remove(arg)
            env_vars['%s_DJANGO_SETTINGS_MODULE' %
                     m.group('module_name')] = m.group('settings_path')

        m = re.match(r'--settings=(?P<settings_path>.+)', arg)
        if m:
            env_vars['DJANGO_SETTINGS_MODULE'] = m.group('settings_path')

    with sandbox.activate(sandbox_name,
                          add_sdk_to_path=True,
                          new_env_vars=env_vars,
                          **sandbox_overrides):
        try:
            import django.core.management as django_management  # Now on the path
            return django_management.execute_from_command_line(argv)
        except SystemExit as e:
            # print Djangae parser options help message
            print_help = any([arg in ('-h', '--help') for arg in argv])
            if e.code == 0 and print_help:
                parser.print_help()
                sys.stdout.write('\n')
            raise
Exemple #5
0
def _execute_from_command_line(sandbox_name, argv, **sandbox_overrides):
    # Parses for a settings flag, adding it as an environment variable to
    # the sandbox if found.
    parser = argparse.ArgumentParser(prog='manage.py')
    parser.add_argument('--settings', nargs='?')
    settings = parser.parse_known_args(argv)[0].settings
    env_vars = {}
    if settings:
        env_vars['DJANGO_SETTINGS_MODULE'] = settings

    with sandbox.activate(
        sandbox_name,
        add_sdk_to_path=True,
        new_env_vars=env_vars,
        **sandbox_overrides
    ):
        import django.core.management as django_management  # Now on the path
        return django_management.execute_from_command_line(argv)
Exemple #6
0
def _execute_from_command_line(sandbox_name, argv, **sandbox_overrides):
    with sandbox.activate(sandbox_name, add_sdk_to_path=True, **sandbox_overrides):
        import django.core.management as django_management  # Now on the path
        return django_management.execute_from_command_line(argv)
Exemple #7
0
def _execute_from_command_line(sandbox_name, argv):
    with sandbox.activate(sandbox_name, add_sdk_to_path=True):
        import django.core.management as django_management  # Now on the path
        return django_management.execute_from_command_line(argv)