Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
item = ndb.Key.from_old_key(filters._FilterNode__value).get()
items = [item] if item else []
else:
items = tableobj.query(filters, default_options=qo)
if count_only:
items = [len(items) if isinstance(items,list) else items.count()]
elif not isinstance(items,list):
if args_get('left', None):
raise SyntaxError('Set: no left join in appengine')
if args_get('groupby', None):
raise SyntaxError('Set: no groupby in appengine')
orderby = args_get('orderby', False)
if orderby:
if isinstance(orderby, (list, tuple)):
orderby = xorify(orderby)
if isinstance(orderby,Expression):
orderby = self.expand(orderby)
orders = orderby.split(', ')
tbl = tableobj
for order in orders:
order = str(order)
desc = order[:1] == '-'
name = order[1 if desc else 0:].split('.')[-1]
if name == 'id':
o = -tbl._key if desc else tbl._key
else:
o = -getattr(tbl, name) if desc else getattr(tbl, name)
items = items.order(o)
if args_get('limitby', None):
(lmin, lmax) = attributes['limitby']
item = ndb.Key.from_old_key(getattr(filters, "_FilterNode__value")).get()
items = [item] if item else []
else:
items = tableobj.query(filters, default_options=qo)
if count_only:
items = [len(items) if isinstance(items, list) else items.count()]
elif not isinstance(items, list):
if args_get("left", None):
raise SyntaxError("Set: no left join in appengine")
if args_get("groupby", None):
raise SyntaxError("Set: no groupby in appengine")
orderby = args_get("orderby", False)
if orderby:
if isinstance(orderby, (list, tuple)):
orderby = xorify(orderby)
if isinstance(orderby, Expression):
orderby = self.expand(orderby)
orders = orderby.split(", ")
tbl = tableobj
for order in orders:
order = str(order)
desc = order.startswith("-")
name = order[1 if desc else 0 :].split(".")[-1]
if name == "id":
o = -tbl._key if desc else tbl._key
else:
o = -getattr(tbl, name) if desc else getattr(tbl, name)
items = items.order(o)
if args_get("limitby", None):
(lmin, lmax) = attributes["limitby"]
limitby = attributes.get('limitby', False)
# distinct = attributes.get('distinct', False)
if 'for_update' in attributes:
self.db.logger.warning('mongodb does not support for_update')
for key in set(attributes.keys())-set(('limitby', 'orderby',
'for_update')):
if attributes[key] is not None:
self.db.logger.warning(
'select attribute not implemented: %s' % key)
if limitby:
limitby_skip, limitby_limit = limitby[0], int(limitby[1]) - 1
else:
limitby_skip = limitby_limit = 0
if orderby:
if isinstance(orderby, (list, tuple)):
orderby = xorify(orderby)
# !!!! need to add 'random'
for f in self.expand(orderby).split(','):
if f.startswith('-'):
mongosort_list.append((f[1:], -1))
else:
mongosort_list.append((f, 1))
for item in fields:
if isinstance(item, SQLALL):
new_fields += item._table
else:
new_fields.append(item)
fields = new_fields
if isinstance(query, Query):
tablename = self.get_table(query)
elif len(fields) != 0:
if isinstance(fields[0], Expression):
item = ndb.Key.from_old_key(filters._FilterNode__value).get()
items = [item] if item else []
else:
items = tableobj.query(filters, default_options=qo)
if count_only:
items = [len(items) if isinstance(items,list) else items.count()]
elif not isinstance(items,list):
if args_get('left', None):
raise SyntaxError('Set: no left join in appengine')
if args_get('groupby', None):
raise SyntaxError('Set: no groupby in appengine')
orderby = args_get('orderby', False)
if orderby:
if isinstance(orderby, (list, tuple)):
orderby = xorify(orderby)
if isinstance(orderby,Expression):
orderby = self.expand(orderby)
orders = orderby.split(', ')
tbl = tableobj
for order in orders:
order = str(order)
desc = order[:1] == '-'
name = order[1 if desc else 0:].split('.')[-1]
if name == 'id':
o = -tbl._key if desc else tbl._key
else:
o = -getattr(tbl, name) if desc else getattr(tbl, name)
items = items.order(o)
if args_get('limitby', None):
(lmin, lmax) = attributes['limitby']
)
)
tokens += [self.dialect.left_join(t, query_env) for t in join_on]
sql_t = " ".join(tokens)
else:
sql_t = ", ".join(table_alias(t) for t in query_tables)
#: expand query if needed
if query:
query = self.expand(query, query_env=query_env)
if having:
having = self.expand(having, query_env=query_env)
#: groupby
sql_grp = groupby
if groupby:
if isinstance(groupby, (list, tuple)):
groupby = xorify(groupby)
sql_grp = self.expand(groupby, query_env=query_env)
#: orderby
sql_ord = False
if orderby:
if isinstance(orderby, (list, tuple)):
orderby = xorify(orderby)
if str(orderby) == "":
sql_ord = self.dialect.random
else:
sql_ord = self.expand(orderby, query_env=query_env)
#: set default orderby if missing
if (
limitby
and not groupby
and query_tables
and orderby_on_limitby
#: expand query if needed
if query:
query = self.expand(query, query_env=query_env)
if having:
having = self.expand(having, query_env=query_env)
#: groupby
sql_grp = groupby
if groupby:
if isinstance(groupby, (list, tuple)):
groupby = xorify(groupby)
sql_grp = self.expand(groupby, query_env=query_env)
#: orderby
sql_ord = False
if orderby:
if isinstance(orderby, (list, tuple)):
orderby = xorify(orderby)
if str(orderby) == "":
sql_ord = self.dialect.random
else:
sql_ord = self.expand(orderby, query_env=query_env)
#: set default orderby if missing
if (
limitby
and not groupby
and query_tables
and orderby_on_limitby
and not orderby
):
sql_ord = ", ".join(
[
tablemap[t][x].sqlsafe
for t in query_tables