def test_search_packagers(self): """ Test the search_packagers function. """ pkg = pkgdblib.search_packagers(self.session, 'pin*') self.assertEqual(pkg, []) create_package_listing(self.session) pkg = pkgdblib.search_packagers(self.session, 'pi*') self.assertEqual(len(pkg), 1) self.assertEqual(pkg[0][0], 'pingou') pkg = pkgdblib.search_packagers(self.session, 'pi*', page=0) self.assertEqual(len(pkg), 1) self.assertEqual(pkg[0][0], 'pingou') pkg = pkgdblib.search_packagers(self.session, 'pi*', limit=1, page=1) self.assertEqual(len(pkg), 1) self.assertEqual(pkg[0][0], 'pingou') self.assertRaises(pkgdblib.PkgdbException, pkgdblib.search_packagers, self.session, 'p*', limit='a' ) self.assertRaises(pkgdblib.PkgdbException, pkgdblib.search_packagers, self.session, 'p*', page='a' )
def test_search_packagers(self): """ Test the search_packagers function. """ pkg = pkgdblib.search_packagers(self.session, 'pin*') self.assertEqual(pkg, []) create_package_listing(self.session) pkg = pkgdblib.search_packagers(self.session, 'pi*') self.assertEqual(len(pkg), 1) self.assertEqual(pkg[0][0], 'pingou') pkg = pkgdblib.search_packagers(self.session, 'pi*', page=0) self.assertEqual(len(pkg), 1) self.assertEqual(pkg[0][0], 'pingou') pkg = pkgdblib.search_packagers(self.session, 'pi*', limit=1, page=1) self.assertEqual(len(pkg), 1) self.assertEqual(pkg[0][0], 'pingou') self.assertRaises(pkgdblib.PkgdbException, pkgdblib.search_packagers, self.session, 'p*', limit='a') self.assertRaises(pkgdblib.PkgdbException, pkgdblib.search_packagers, self.session, 'p*', page='a')
def api_packager_list(pattern=None): ''' List packagers. :kwarg pattern: String of the pattern to use to list find packagers. If no pattern is provided, it returns the list of all packagers. ''' httpcode = 200 output = {} pattern = flask.request.args.get('pattern', None) or pattern 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: 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. :kwarg pattern: String of the pattern to use to list find packagers. If no pattern is provided, it returns the list of all packagers. ''' httpcode = 200 output = {} pattern = flask.request.args.get('pattern', None) or pattern 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: 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', None) or pattern 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: 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)