def _convert(self, s):
        """Convert a M:SS or numeric string to a float.

        Return None if `s` is empty.
        Raise an InvalidQueryError if the string cannot be converted.
        """
        if not s:
            return None
        try:
            return util.raw_seconds_short(s)
        except ValueError:
            try:
                return float(s)
            except __HOLE__:
                raise InvalidQueryArgumentTypeError(
                    s,
                    u"a M:SS string or a float")


# Sorting.
dataset/ETHPy150Open beetbox/beets/beets/dbcore/query.py/DurationQuery._convert