Exemplo n.º 1
0
def _vcs_acls_cache(out_format='text',
                    eol=False,
                    collection=None,
                    namespace=None):
    '''Return ACLs for the version control system.

    :kwarg out_format: Specify if the output if text or json.
    :kwarg eol: A boolean specifying whether to include information about
        End Of Life collections or not. Defaults to ``False``.
    :kwarg collection: Restrict the VCS info to a specific collection.
    :kwarg namespace: Restrict the VCS info to a specific namespace.

    '''
    packages = pkgdblib.vcs_acls(session=SESSION,
                                 eol=eol,
                                 collection=collection,
                                 oformat=out_format,
                                 skip_pp=APP.config.get(
                                     'PKGS_NOT_PROVENPACKAGER', None),
                                 namespace=namespace)
    output = []
    if out_format == 'json':
        output = packages
        output['title'] = 'Fedora Package Database -- VCS ACLs'
    else:
        for package in sorted(packages):
            for branch in sorted(packages[package]):
                if packages[package][branch]['group']:
                    packages[package][branch]['group'] += ','
                output.append('avail | %(group)s%(user)s | '
                              '%(namespace)s/%(name)s/%(branch)s' %
                              (packages[package][branch]))
    return output
Exemplo n.º 2
0
def _vcs_acls_cache(out_format='text', eol=False, collection=None,
                    namespace=None):
    '''Return ACLs for the version control system.

    :kwarg out_format: Specify if the output if text or json.
    :kwarg eol: A boolean specifying whether to include information about
        End Of Life collections or not. Defaults to ``False``.
    :kwarg collection: Restrict the VCS info to a specific collection.
    :kwarg namespace: Restrict the VCS info to a specific namespace.

    '''
    packages = pkgdblib.vcs_acls(
        session=SESSION,
        eol=eol,
        collection=collection,
        oformat=out_format,
        skip_pp=APP.config.get('PKGS_NOT_PROVENPACKAGER', None),
        namespace=namespace)
    output = []
    if out_format == 'json':
        output = packages
        output['title'] = 'Fedora Package Database -- VCS ACLs'
    else:
        for package in sorted(packages):
            for branch in sorted(packages[package]):
                if packages[package][branch]['group']:
                    packages[package][branch]['group'] += ','
                output.append(
                    'avail | %(group)s%(user)s | '
                    '%(namespace)s/%(name)s/%(branch)s'
                    % (packages[package][branch]))
    return output
Exemplo n.º 3
0
def _vcs_acls_cache(out_format='text'):
    '''Return ACLs for the version control system.
    :kwarg out_format: Specify if the output if text or json.

    '''
    packages = pkgdblib.vcs_acls(session=SESSION)
    output = []
    if out_format == 'json':
        output = {
            'packageAcls': {},
            'title': 'Fedora Package Database -- VCS ACLs'
        }
    for package in sorted(packages):
        for branch in sorted(packages[package]):
            if out_format == 'json':
                if not package in output['packageAcls']:
                    output['packageAcls'][package] = {}
                groups = []
                if packages[package][branch]['group']:
                    groups = packages[package][branch]['group'].replace(
                        '@', '').split(',')
                users = []
                if packages[package][branch]['user']:
                    users = packages[package][branch]['user'].split(',')
                output['packageAcls'][package][branch] = {
                    'commit': {
                        'groups': groups,
                        'people': users
                    }
                }
            else:
                output.append(
                    'avail | %(group)s,%(user)s | rpms/%(name)s/%(branch)s' %
                    (packages[package][branch]))
    return output
Exemplo n.º 4
0
def _vcs_acls_cache(out_format='text'):
    '''Return ACLs for the version control system.
    :kwarg out_format: Specify if the output if text or json.

    '''
    packages = pkgdblib.vcs_acls(session=SESSION)
    output = []
    if out_format == 'json':
        output = {'packageAcls': {},
                  'title': 'Fedora Package Database -- VCS ACLs'}
    for package in sorted(packages):
        for branch in sorted(packages[package]):
            if out_format == 'json':
                if not package in output['packageAcls']:
                    output['packageAcls'][package] = {}
                groups = []
                if packages[package][branch]['group']:
                    groups = packages[package][branch]['group'].replace(
                        '@', '').split(',')
                users = []
                if packages[package][branch]['user']:
                    users = packages[package][branch]['user'].split(',')
                output['packageAcls'][package][branch] = {
                    'commit': {
                        'groups': groups,
                        'people': users
                    }
                }
            else:
                output.append(
                    'avail | %(group)s,%(user)s | rpms/%(name)s/%(branch)s'
                    % (packages[package][branch]))
    return output
Exemplo n.º 5
0
def _vcs_acls_cache(out_format='text', eol=False):
    '''Return ACLs for the version control system.

    :kwarg out_format: Specify if the output if text or json.
    :kwarg eol: A boolean specifying whether to include information about
        End Of Life collections or not. Defaults to ``False``.

    '''
    packages = pkgdblib.vcs_acls(session=SESSION, eol=eol, oformat=out_format)
    output = []
    if out_format == 'json':
        output = {
            'packageAcls': packages,
            'title': 'Fedora Package Database -- VCS ACLs'
        }
    else:
        for package in sorted(packages):
            for branch in sorted(packages[package]):
                output.append(
                    'avail | %(group)s,%(user)s | rpms/%(name)s/%(branch)s' %
                    (packages[package][branch]))
    return output
Exemplo n.º 6
0
def _vcs_acls_cache(out_format='text', eol=False):
    '''Return ACLs for the version control system.

    :kwarg out_format: Specify if the output if text or json.
    :kwarg eol: A boolean specifying whether to include information about
        End Of Life collections or not. Defaults to ``False``.

    '''
    packages = pkgdblib.vcs_acls(session=SESSION, eol=eol)
    output = []
    if out_format == 'json':
        output = {
            'packageAcls': {},
            'title': 'Fedora Package Database -- VCS ACLs'
        }
    for package in sorted(packages):
        for branch in sorted(packages[package]):
            if out_format == 'json':
                if package not in output['packageAcls']:
                    output['packageAcls'][package] = {}
                groups = []
                if packages[package][branch]['group']:
                    groups = packages[package][branch]['group'].replace(
                        '@', '').split(',')
                users = []
                if packages[package][branch]['user']:
                    users = packages[package][branch]['user'].split(',')
                output['packageAcls'][package][branch] = {
                    'commit': {
                        'groups': groups,
                        'people': users
                    }
                }
            else:
                output.append(
                    'avail | %(group)s,%(user)s | rpms/%(name)s/%(branch)s' %
                    (packages[package][branch]))
    return output
Exemplo n.º 7
0
def _vcs_acls_cache(out_format='text', eol=False):
    '''Return ACLs for the version control system.

    :kwarg out_format: Specify if the output if text or json.
    :kwarg eol: A boolean specifying whether to include information about
        End Of Life collections or not. Defaults to ``False``.

    '''
    packages = pkgdblib.vcs_acls(session=SESSION, eol=eol)
    output = []
    if out_format == 'json':
        output = {'packageAcls': {},
                  'title': 'Fedora Package Database -- VCS ACLs'}
    for package in sorted(packages):
        for branch in sorted(packages[package]):
            if out_format == 'json':
                if package not in output['packageAcls']:
                    output['packageAcls'][package] = {}
                groups = []
                if packages[package][branch]['group']:
                    groups = packages[package][branch]['group'].replace(
                        '@', '').split(',')
                users = []
                if packages[package][branch]['user']:
                    users = packages[package][branch]['user'].split(',')
                output['packageAcls'][package][branch] = {
                    'commit': {
                        'groups': groups,
                        'people': users
                    }
                }
            else:
                output.append(
                    'avail | %(group)s,%(user)s | rpms/%(name)s/%(branch)s'
                    % (packages[package][branch]))
    return output