Example #1
0
 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)
Example #2
0
 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)
Example #3
0
 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()))
Example #4
0
 def test_parses_random(self):
     self.assertEqual([{'random': 0}],
                      queryFromParams([('sort', 'random')])['sort'])
     self.assertEqual([{'random': 123}],
                      queryFromParams([('sort', 'random 123')])['sort'])
Example #5
0
 def test_hidden_none_removes_default_tags(self):
     wt = lambda p: queryFromParams(
         p).get('filter', {}).get('withoutTags', None)
     self.assertEqual(None, wt([('hidden', 'none')]))
Example #6
0
 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')]))
Example #7
0
 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')]))