def main(request): pairs = [] for k, vs in request.args.items(): for v in vs: pairs.append((k, v)) q = queryFromParams(pairs) result = iset.request(q) return json.dumps(result)
def main(request): pairs = [] for k, vs in request.args.items(): for v in vs: pairs.append((k, v)) q = queryFromParams(pairs) t1 = time.time() result = iset.request(q) log.info('iset.request in %.1f ms', 1000 * (time.time() - t1)) return json.dumps(result)
def test_transforms_simple_params(self): self.assertDictEqual( { 'filter': { 'type': 'image', 'withoutTags': ['nsfw'], 'onlyTagged': ['t1'], }, 'paging': { 'limit': 2, 'skip': 3, }, }, queryFromParams(dict( type='image', onlyTagged='t1', limit='2', skip='3', ).items()))
def test_parses_random(self): self.assertEqual([{'random': 0}], queryFromParams([('sort', 'random')])['sort']) self.assertEqual([{'random': 123}], queryFromParams([('sort', 'random 123')])['sort'])
def test_hidden_none_removes_default_tags(self): wt = lambda p: queryFromParams( p).get('filter', {}).get('withoutTags', None) self.assertEqual(None, wt([('hidden', 'none')]))
def test_withoutTag_is_repeatable(self): wt = lambda p: queryFromParams( p).get('filter', {}).get('withoutTags', None) self.assertEqual(['nsfw'], wt([])) self.assertEqual(['nsfw'], wt([('withoutTag', '')])) self.assertEqual(['nsfw', 't1'], wt([('withoutTag', 't1')]))
def test_tag_is_repeatable(self): tt = lambda p: queryFromParams(p).get('filter', {}).get('tags', None) self.assertEqual(None, tt([('tag', '')])) self.assertEqual(['t1'], tt([('tag', 't1')])) self.assertEqual(['t1', 't2'], tt([('tag', 't1'), ('tag', 't2')]))