forked from 0x2620/pandora
itemsQuery/clipsQuery
This commit is contained in:
parent
867bff4e10
commit
80ade383f9
11 changed files with 45 additions and 45 deletions
|
|
@ -27,8 +27,8 @@ def parse_query(data, user):
|
|||
if key in data:
|
||||
query[key] = data[key]
|
||||
query['qs'] = models.Annotation.objects.find(query, user)
|
||||
if 'itemQuery' in data:
|
||||
item_query = Item.objects.find({'query': data['itemQuery']}, user)
|
||||
if 'itemsQuery' in data:
|
||||
item_query = Item.objects.find({'query': data['itemsQuery']}, user)
|
||||
query['qs'] = query['qs'].filter(item__in=item_query)
|
||||
return query
|
||||
|
||||
|
|
@ -68,7 +68,7 @@ def findAnnotations(request):
|
|||
'''
|
||||
param data {
|
||||
query: ...
|
||||
itemQuery: ...
|
||||
itemsQuery: ...
|
||||
}
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -20,8 +20,8 @@ def parse_query(data, user):
|
|||
if key in data:
|
||||
query[key] = data[key]
|
||||
query['qs'] = models.Clip.objects.find(query, user)
|
||||
if 'itemQuery' in data and data['itemQuery'].get('conditions'):
|
||||
item_query = Item.objects.find({'query': data['itemQuery']}, user)
|
||||
if 'itemsQuery' in data and data['itemsQuery'].get('conditions'):
|
||||
item_query = Item.objects.find({'query': data['itemsQuery']}, user)
|
||||
query['qs'] = query['qs'].filter(item__in=item_query)
|
||||
return query
|
||||
|
||||
|
|
@ -60,7 +60,7 @@ def findClips(request):
|
|||
'''
|
||||
param data {
|
||||
query: ...
|
||||
itemQuery: ...
|
||||
itemsQuery: ...
|
||||
}
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -127,8 +127,8 @@ def parse_query(data, user):
|
|||
if key in data:
|
||||
query[key] = data[key]
|
||||
query['qs'] = models.Event.objects.find(query, user)
|
||||
if 'itemQuery' in data:
|
||||
item_query = models.Item.objects.find({'query': data['itemQuery']}, user)
|
||||
if 'itemsQuery' in data:
|
||||
item_query = models.Item.objects.find({'query': data['itemsQuery']}, user)
|
||||
query['qs'] = query['qs'].filter(items__in=item_query)
|
||||
return query
|
||||
|
||||
|
|
@ -154,7 +154,7 @@ def findEvents(request):
|
|||
|
||||
query: query object, more on query syntax at
|
||||
https://wiki.0x2620.org/wiki/pandora/QuerySyntax
|
||||
itemQuery: {
|
||||
itemsQuery: {
|
||||
//see find request
|
||||
},
|
||||
sort: array of key, operator dics
|
||||
|
|
@ -170,7 +170,7 @@ def findEvents(request):
|
|||
]
|
||||
range: result range, array [from, to]
|
||||
|
||||
itemQuery can be used to limit the resuts to matches in those items.
|
||||
itemsQuery can be used to limit the resuts to matches in those items.
|
||||
|
||||
with keys, items is list of dicts with requested properties:
|
||||
return {'status': {'code': int, 'text': string},
|
||||
|
|
|
|||
|
|
@ -91,10 +91,10 @@ def parse_query(data, user):
|
|||
query[key] = data[key]
|
||||
query['qs'] = models.Item.objects.find(data, user)
|
||||
|
||||
if 'clipQuery' in data:
|
||||
query['clip_qs'] = Clip.objects.find({'query': data['clipQuery']}, user).order_by('start')
|
||||
query['clip_items'] = data['clipQuery'].get('items', 5)
|
||||
query['clip_keys'] = data['clipQuery'].get('keys', ['id', 'in', 'out', 'annotations'])
|
||||
if 'clipsQuery' in data:
|
||||
query['clip_qs'] = Clip.objects.find({'query': data['clipsQuery']}, user).order_by('start')
|
||||
query['clip_items'] = data['clipsQuery'].get('items', 5)
|
||||
query['clip_keys'] = data['clipsQuery'].get('keys', ['id', 'in', 'out', 'annotations'])
|
||||
|
||||
#group by only allows sorting by name or number of itmes
|
||||
return query
|
||||
|
|
@ -105,7 +105,7 @@ def find(request):
|
|||
'query': query,
|
||||
'sort': array,
|
||||
'range': array
|
||||
clipQuery: ...
|
||||
clipsQuery: ...
|
||||
}
|
||||
|
||||
query: query object, more on query syntax at
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ def parse_query(data, user):
|
|||
if key in data:
|
||||
query[key] = data[key]
|
||||
query['qs'] = models.News.objects.find(query, user)
|
||||
if 'itemQuery' in data:
|
||||
item_query = Item.objects.find({'query': data['itemQuery']}, user)
|
||||
if 'itemsQuery' in data:
|
||||
item_query = Item.objects.find({'query': data['itemsQuery']}, user)
|
||||
query['qs'] = query['qs'].filter(item__in=item_query)
|
||||
return query
|
||||
|
||||
|
|
@ -68,7 +68,7 @@ def findNews(request):
|
|||
'''
|
||||
param data {
|
||||
query: ...
|
||||
itemQuery: ...
|
||||
itemsQuery: ...
|
||||
}
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -43,8 +43,8 @@ def parse_query(data, user):
|
|||
if key in data:
|
||||
query[key] = data[key]
|
||||
query['qs'] = models.Person.objects.find(query, user)
|
||||
#if 'itemQuery' in data:
|
||||
# item_query = models.Item.objects.find({'query': data['itemQuery']}, user)
|
||||
#if 'itemsQuery' in data:
|
||||
# item_query = models.Item.objects.find({'query': data['itemsQuery']}, user)
|
||||
# query['qs'] = query['qs'].filter(items__in=item_query)
|
||||
return query
|
||||
|
||||
|
|
@ -76,7 +76,7 @@ def findNames(request):
|
|||
]
|
||||
operator: ","
|
||||
},
|
||||
itemQuery: {
|
||||
itemsQuery: {
|
||||
//see find request
|
||||
},
|
||||
sort: [{key: 'name', operator: '+'}],
|
||||
|
|
|
|||
|
|
@ -148,8 +148,8 @@ def parse_query(data, user):
|
|||
if key in data:
|
||||
query[key] = data[key]
|
||||
query['qs'] = models.Place.objects.find(query, user)
|
||||
if 'itemQuery' in data:
|
||||
item_query = models.Item.objects.find({'query': data['itemQuery']}, user)
|
||||
if 'itemsQuery' in data:
|
||||
item_query = models.Item.objects.find({'query': data['itemsQuery']}, user)
|
||||
query['qs'] = query['qs'].filter(items__in=item_query)
|
||||
return query
|
||||
|
||||
|
|
@ -182,7 +182,7 @@ def findPlaces(request):
|
|||
]
|
||||
operator: ","
|
||||
},
|
||||
itemQuery: {
|
||||
itemsQuery: {
|
||||
//see find request
|
||||
},
|
||||
sort: [{key: 'name', operator: '+'}],
|
||||
|
|
@ -193,7 +193,7 @@ def findPlaces(request):
|
|||
possible query keys:
|
||||
name, geoname, user
|
||||
|
||||
itemQuery can be used to limit the resuts to matches in those items.
|
||||
itemsQuery can be used to limit the resuts to matches in those items.
|
||||
Uses the same query syntax as used in the find request.
|
||||
|
||||
possible keys:
|
||||
|
|
|
|||
|
|
@ -45,8 +45,8 @@ def parse_query(data, user):
|
|||
if key in data:
|
||||
query[key] = data[key]
|
||||
query['qs'] = models.Title.objects.find(query, user)
|
||||
#if 'itemQuery' in data:
|
||||
# item_query = models.Item.objects.find({'query': data['itemQuery']}, user)
|
||||
#if 'itemsQuery' in data:
|
||||
# item_query = models.Item.objects.find({'query': data['itemsQuery']}, user)
|
||||
# query['qs'] = query['qs'].filter(items__in=item_query)
|
||||
return query
|
||||
|
||||
|
|
@ -78,7 +78,7 @@ def findTitles(request):
|
|||
]
|
||||
operator: ","
|
||||
},
|
||||
itemQuery: {
|
||||
itemsQuery: {
|
||||
//see find request
|
||||
},
|
||||
sort: [{key: 'title', operator: '+'}],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue