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 )
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)
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
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
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 )
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)
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
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