def select()

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)