in src/ab/plugins/db/sqlite.py [0:0]
def select(self, table, fields='*', conditions=None, order_by=None, start=0, num=None):
fields_str = self.gen_fields_str(fields)
sql = 'SELECT {fields_str} FROM {table}'.format(fields_str=fields_str, table=Sqlite.escape(table))
values = []
if conditions:
where, values = self.gen_where(conditions)
sql += where
if order_by:
if ' ' in order_by:
order_by, order = order_by.split(' ')
order = order.upper()
assert order in ('ASC', 'DESC')
else:
order = ''
sql += ' ORDER BY ' + Sqlite.escape(order_by)
if order:
sql += ' ' + order
if num is not None:
sql += ' LIMIT ? offset ?'
values.extend([num, start])
return self.execute(sql, values)