Beispiel #1
0
def parse_arguments(skip=False):
    """Parse argument for label creator utility."""
    # Get command-line arguments
    parser = argparse.ArgumentParser()

    parser = add_common_parser_args(parser)
    parser.add_argument('-a',
                        '--action',
                        help='Action to take',
                        type=str,
                        choices=['get', 'update'],
                        default='get',
                        nargs='?')
    parser.add_argument('-f',
                        '--filename',
                        help='File for storing labels',
                        type=str,
                        default='labels.txt')

    options = parser.parse_args()

    username = options.username
    password = parse_password_check_repo(options)

    if not skip:
        process_labels(
            username,
            password,
            options.token,
            options.action,
            options.repository,
            options.filename,
        )

    return options
Beispiel #2
0
def test_get_labels():
    _, tempfilepath = tempfile.mkstemp()

    with patch('loghub.core.labels.GitHubRepo', new=GHRepo) as gh_repo:
        process_labels('', '', '', 'get', 'monty-repo', tempfilepath)

        with open(tempfilepath, 'r') as fh:
            data = fh.read()

        assert data == 'bar;#0000ff\nfoo;#ff00ff'
Beispiel #3
0
def test_invalid_action_labels():
    _, tempfilepath = tempfile.mkstemp()

    with patch('loghub.core.labels.GitHubRepo', new=GHRepo) as ghrepo:
        with pytest.raises(ValueError):
            process_labels('', '', '', 'BOOM', 'monty-repo', tempfilepath)

        with open(tempfilepath, 'r') as fh:
            data = fh.read()

        assert data == ''
Beispiel #4
0
def test_set_labels_3_parts():
    _, tempfilepath = tempfile.mkstemp()

    with open(tempfilepath, 'w') as fh:
        data = fh.write('old_bar;bar;#0000ff\nold_foo;foo;#ff00ff')

    with patch('loghub.core.labels.GitHubRepo', new=GHRepo) as gh_repo:
        process_labels('', '', '', 'update', 'monty-repo', tempfilepath)
        assert gh_repo._labels == [
            {
                'new_name': 'bar',
                'old_name': 'old_bar',
                'color': '#0000ff'
            },
            {
                'new_name': 'foo',
                'old_name': 'old_foo',
                'color': '#ff00ff'
            },
        ]
Beispiel #5
0
def parse_arguments(skip=False):
    """Parse argument for label creator utility."""
    # Get command-line arguments
    parser = argparse.ArgumentParser()

    parser = add_common_parser_args(parser)
    parser.add_argument(
        '-a',
        '--action',
        help='Action to take',
        type=str,
        choices=['get', 'update'],
        default='get',
        nargs='?')
    parser.add_argument(
        '-f',
        '--filename',
        help='File for storing labels',
        type=str,
        default='labels.txt')

    options = parser.parse_args()

    username = options.username
    password = parse_password_check_repo(options)

    if not skip:
        process_labels(
            username,
            password,
            options.token,
            options.action,
            options.repository,
            options.filename, )

    return options