equal
deleted
inserted
replaced
279 limit: the amount of entities to fetch at most |
279 limit: the amount of entities to fetch at most |
280 offset: the position to start at |
280 offset: the position to start at |
281 order: a list with the sort order |
281 order: a list with the sort order |
282 """ |
282 """ |
283 |
283 |
|
284 if unique: |
|
285 limit = 1 |
|
286 |
|
287 query = self.getQueryForFields(filter=filter, order=order) |
|
288 |
|
289 result = query.fetch(limit, offset) |
|
290 |
|
291 if unique: |
|
292 return result[0] if result else None |
|
293 |
|
294 return result |
|
295 |
|
296 def getQueryForFields(self, filter=None, order=None): |
|
297 """Returns a query with the specified properties. |
|
298 |
|
299 Args: |
|
300 filter: a dict for the properties that the entities should have |
|
301 order: a list with the sort order |
|
302 |
|
303 Returns: |
|
304 - Query object instantiated with the given properties |
|
305 """ |
|
306 |
284 if not filter: |
307 if not filter: |
285 filter = {} |
308 filter = {} |
286 if unique: |
309 |
287 limit = 1 |
|
288 if not order: |
310 if not order: |
289 order = [] |
311 order = [] |
290 |
312 |
291 orderset = set([i.strip('-') for i in order]) |
313 orderset = set([i.strip('-') for i in order]) |
292 if len(orderset) != len(order): |
314 if len(orderset) != len(order): |
302 query.filter(key, value) |
324 query.filter(key, value) |
303 |
325 |
304 for key in order: |
326 for key in order: |
305 query.order(key) |
327 query.order(key) |
306 |
328 |
307 result = query.fetch(limit, offset) |
329 return query |
308 |
|
309 if unique: |
|
310 return result[0] if result else None |
|
311 |
|
312 return result |
|
313 |
330 |
314 def updateEntityProperties(self, entity, entity_properties, silent=False): |
331 def updateEntityProperties(self, entity, entity_properties, silent=False): |
315 """Update existing entity using supplied properties. |
332 """Update existing entity using supplied properties. |
316 |
333 |
317 Args: |
334 Args: |