def _normalize_sort_SQL(self, field_name, field_vals, sort_dir_str):
        """
        allow sorting by a set of values

        http://stackoverflow.com/questions/3303851/sqlite-and-custom-order-by
        """
        fvi = None
        if sort_dir_str == 'ASC':
            fvi = (t for t in enumerate(field_vals)) 

        else:
            fvi = (t for t in enumerate(reversed(field_vals))) 

        query_sort_str = ['  CASE {}'.format(self._normalize_name(field_name))]
        query_args = []
        for i, v in fvi:
            query_sort_str.append('    WHEN {} THEN {}'.format(self.val_placeholder, i))
            query_args.append(v)

        query_sort_str.append('  END')
        query_sort_str = "\n".join(query_sort_str)
        return query_sort_str, query_args
def _normalize_sort_SQL ( self , field_name , field_vals , sort_dir_str ) : fvi = None if sort_dir_str == 'ASC' : fvi = ( t for t in enumerate ( field_vals ) ) else : fvi = ( t for t in enumerate ( reversed ( field_vals ) ) ) query_sort_str = [ '  CASE {}' . format ( self . _normalize_name ( field_name ) ) ] query_args = [ ] for i , v in fvi : query_sort_str . append ( '    WHEN {} THEN {}' . format ( self . val_placeholder , i ) ) query_args . append ( v ) query_sort_str . append ( '  END' ) query_sort_str = "\n" . join ( query_sort_str ) return query_sort_str , query_args
allow sorting by a set of values

        http://stackoverflow.com/questions/3303851/sqlite-and-custom-order-by