Пример #1
0
def list_packagers(motif=None):
    ''' Display the list of packagers corresponding to the motif. '''

    pattern = flask.request.args.get('motif', motif) or '*'
    limit = flask.request.args.get('limit', APP.config['ITEMS_PER_PAGE'])
    page = flask.request.args.get('page', 1)

    try:
        page = abs(int(page))
    except ValueError:
        page = 1

    try:
        limit = abs(int(limit))
    except ValueError:
        limit = APP.config['ITEMS_PER_PAGE']
        flask.flash('Incorrect limit provided, using default', 'errors')

    packagers = pkgdblib.search_packagers(
        SESSION,
        pattern=pattern,
        page=page,
        limit=limit,
    )

    packagers_count = pkgdblib.search_packagers(
        SESSION,
        pattern=pattern,
        page=page,
        limit=limit,
        count=True,
    )
    total_page = int(ceil(packagers_count / float(limit)))

    packagers = [pkg[0] for pkg in packagers]

    if len(packagers) == 1:
        flask.flash(
            'Only one packager matching, redirecting you to ''his/her page')
        return flask.redirect(flask.url_for(
            '.packager_info', packager=packagers[0]))

    return flask.render_template(
        'list_packagers.html',
        select='packagers',
        packagers=packagers,
        motif=motif,
        total_page=total_page,
        page=page
    )
Пример #2
0
def list_packagers(motif=None):
    ''' Display the list of packagers corresponding to the motif. '''

    pattern = flask.request.args.get('motif', motif) or '*'
    limit = flask.request.args.get('limit', APP.config['ITEMS_PER_PAGE'])
    page = flask.request.args.get('page', 1)

    try:
        page = abs(int(page))
    except ValueError:
        page = 1

    try:
        limit = abs(int(limit))
    except ValueError:
        limit = APP.config['ITEMS_PER_PAGE']
        flask.flash('Incorrect limit provided, using default', 'errors')

    packagers = pkgdblib.search_packagers(
        SESSION,
        pattern=pattern,
        page=page,
        limit=limit,
    )

    packagers_count = pkgdblib.search_packagers(
        SESSION,
        pattern=pattern,
        page=page,
        limit=limit,
        count=True,
    )
    total_page = int(ceil(packagers_count / float(limit)))

    packagers = [pkg[0] for pkg in packagers]

    if len(packagers) == 1:
        flask.flash('Only one packager matching, redirecting you to '
                    'his/her page')
        return flask.redirect(
            flask.url_for('.packager_info', packager=packagers[0]))

    return flask.render_template('list_packagers.html',
                                 select='packagers',
                                 packagers=packagers,
                                 motif=motif,
                                 total_page=total_page,
                                 page=page)
Пример #3
0
def api_packager_list(pattern=None):
    '''
List packagers
--------------
    List packagers based on a pattern. If no pattern is provided, return
    all the packagers.

    ::

        /api/packagers/<pattern>/

        /api/packagers/?pattern=<pattern>

    :kwarg pattern: String of the pattern to use to list find packagers.
        If no pattern is provided, it returns the list of all packagers.


    Sample response:

    ::

        /api/packagers/rem*

        {
          "output": "ok",
          "packagers": [
            "remi"
          ]
        }

        /api/packagers/?pattern=pi*

        {
          "output": "ok",
          "packagers": [
            "pilcher",
            "pingou"
          ]
        }
    '''
    httpcode = 200
    output = {}

    pattern = flask.request.args.get('pattern', pattern) or '*'
    if pattern:
        packagers = pkgdblib.search_packagers(
            SESSION,
            pattern=pattern,
        )
        packagers = [pkg[0] for pkg in packagers]
        SESSION.commit()
        output['output'] = 'ok'
        output['packagers'] = packagers
    else:  # pragma: no cover # In theory we can never get here
        output = {'output': 'notok', 'error': 'Invalid request'}
        httpcode = 500

    jsonout = flask.jsonify(output)
    jsonout.status_code = httpcode
    return jsonout
Пример #4
0
def api_packager_list(pattern=None):
    '''
List packagers
--------------
    List packagers based on a pattern. If no pattern is provided, return
    all the packagers.

    ::

        /api/packagers/<pattern>/

        /api/packagers/?pattern=<pattern>

    :kwarg pattern: String of the pattern to use to list find packagers.
        If no pattern is provided, it returns the list of all packagers.


    Sample response:

    ::

        /api/packagers/rem*

        {
          "output": "ok",
          "packagers": [
            "remi"
          ]
        }

        /api/packagers/?pattern=pi*

        {
          "output": "ok",
          "packagers": [
            "pilcher",
            "pingou"
          ]
        }
    '''
    httpcode = 200
    output = {}

    pattern = flask.request.args.get('pattern', pattern) or '*'
    if pattern:
        packagers = pkgdblib.search_packagers(SESSION,
                                              pattern=pattern,
                                              )
        packagers = [pkg[0] for pkg in packagers]
        SESSION.commit()
        output['output'] = 'ok'
        output['packagers'] = packagers
    else:  # pragma: no cover # In theory we can never get here
        output = {'output': 'notok', 'error': 'Invalid request'}
        httpcode = 500

    jsonout = flask.jsonify(output)
    jsonout.status_code = httpcode
    return jsonout
Пример #5
0
def list_packagers(motif=None):
    ''' Display the list of packagers corresponding to the motif. '''

    pattern = flask.request.args.get('motif', motif) or '*'
    limit = flask.request.args.get('limit', APP.config['ITEMS_PER_PAGE'])
    page = flask.request.args.get('page', 1)

    try:
        page = int(page)
    except ValueError:
        page = 1

    try:
        int(limit)
    except ValueError:
        limit = APP.config['ITEMS_PER_PAGE']
        flask.flash('Incorrect limit provided, using default', 'errors')

    packagers = pkgdblib.search_packagers(
        SESSION,
        pattern=pattern,
        page=page,
        limit=limit,
    )

    packagers_count = pkgdblib.search_packagers(
        SESSION,
        pattern=pattern,
        page=page,
        limit=limit,
        count=True,
    )
    total_page = int(ceil(packagers_count / float(limit)))

    return flask.render_template(
        'list_packagers.html',
        packagers=[pkg[0] for pkg in packagers],
        motif=motif,
        total_page=total_page,
        page=page
    )
Пример #6
0
def list_packagers(motif=None):
    ''' Display the list of packagers corresponding to the motif. '''

    pattern = flask.request.args.get('motif', motif) or '*'
    limit = flask.request.args.get('limit', APP.config['ITEMS_PER_PAGE'])
    page = flask.request.args.get('page', 1)

    try:
        page = int(page)
    except ValueError:
        page = 1

    try:
        int(limit)
    except ValueError:
        limit = APP.config['ITEMS_PER_PAGE']
        flask.flash('Incorrect limit provided, using default', 'errors')

    packagers = pkgdblib.search_packagers(
        SESSION,
        pattern=pattern,
        page=page,
        limit=limit,
    )

    packagers_count = pkgdblib.search_packagers(
        SESSION,
        pattern=pattern,
        page=page,
        limit=limit,
        count=True,
    )
    total_page = int(ceil(packagers_count / float(limit)))

    return flask.render_template('list_packagers.html',
                                 packagers=[pkg[0] for pkg in packagers],
                                 motif=motif,
                                 total_page=total_page,
                                 page=page)
Пример #7
0
def api_packager_list(pattern=None):
    '''
    List packagers
    --------------
    List packagers based on a pattern. If no pattern is provided, return
    all the packagers.

    Only packagers having at least commit right on one package on the
    active collections are returned (on the contrary to querying
    `FAS <https://admin.fedorapoject.org/accounts>`_ for the members of the
    packager group).

    ::

        /api/packagers/<pattern>/

        /api/packagers/?pattern=<pattern>

    :kwarg pattern: String of the pattern to use to list find packagers.
        If no pattern is provided, it returns the list of all packagers.


    Sample response:

    ::

        /api/packagers/rem*

        {
          "output": "ok",
          "packagers": [
            "remi"
          ]
        }

        /api/packagers/?pattern=pi*

        {
          "output": "ok",
          "packagers": [
            "pilcher",
            "pingou"
          ]
        }
    '''
    httpcode = 200
    output = {}

    pattern = flask.request.args.get('pattern', pattern) or '*'
    if pattern:
        packagers = pkgdblib.search_packagers(SESSION,
                                              pattern=pattern,
                                              eol=False)
        packagers = [pkg[0] for pkg in packagers]
        SESSION.commit()
        output['output'] = 'ok'
        output['packagers'] = packagers
    else:  # pragma: no cover # In theory we can never get here
        output = {'output': 'notok', 'error': 'Invalid request'}
        httpcode = 500

    jsonout = flask.jsonify(output)
    jsonout.status_code = httpcode
    return jsonout
Пример #8
0
def api_packager_list(pattern=None):
    '''
List packagers
--------------
    List packagers based on a pattern. If no pattern is provided, return
    all the packagers.

    Only packagers having at least commit right on one package on the
    active collections are returned (on the contrary to querying
    `FAS <https://admin.fedorapoject.org/accounts>`_ for the members of the
    packager group).

    ::

        /api/packagers/<pattern>/

        /api/packagers/?pattern=<pattern>

    :kwarg pattern: String of the pattern to use to list find packagers.
        If no pattern is provided, it returns the list of all packagers.


    Sample response:

    ::

        /api/packagers/rem*

        {
          "output": "ok",
          "packagers": [
            "remi"
          ]
        }

        /api/packagers/?pattern=pi*

        {
          "output": "ok",
          "packagers": [
            "pilcher",
            "pingou"
          ]
        }
    '''
    httpcode = 200
    output = {}

    pattern = flask.request.args.get('pattern', pattern) or '*'
    if pattern:
        packagers = pkgdblib.search_packagers(
            SESSION, pattern=pattern, eol=False)
        packagers = [pkg[0] for pkg in packagers]
        SESSION.commit()
        output['output'] = 'ok'
        output['packagers'] = packagers
    else:  # pragma: no cover # In theory we can never get here
        output = {'output': 'notok', 'error': 'Invalid request'}
        httpcode = 500

    jsonout = flask.jsonify(output)
    jsonout.status_code = httpcode
    return jsonout