'Parse a query and fetch. If a order specification is present
in the query string the `sort` argument is ignored.'

def _fetch(self, model_cls, query, sort=None):

    try:
        parsed_sort = None
        if isinstance(query, six.string_types):
            (query, parsed_sort) = parse_query_string(query, model_cls)
        elif isinstance(query, (list, tuple)):
            (query, parsed_sort) = parse_query_parts(query, model_cls)
    except dbcore.query.InvalidQueryArgumentTypeError as exc:
        raise dbcore.InvalidQueryError(query, exc)
    if (parsed_sort and (not isinstance(parsed_sort, dbcore.query.NullSort))):
        sort = parsed_sort
    return super(Library, self)._fetch(model_cls, query, sort)
