jiaaro/pydub

"SyntaxWarning: invalid escape sequence \("

Opened this issue · 0 comments

Hi, on Python v3.12 it shows the error:

SyntaxWarning: invalid escape sequence '(
SyntaxWarning: invalid escape sequence ')

On v3.12 changed the meaning of the regular expressions, and in places where was used \. now is only ..
So "utils.py" must be corrected from line 299:

    for token in extra_info[stream['index']]:
        m = re.match('([su]([0-9]{1,2})p?) (([0-9]{1,2}) bit)$', token)
        m2 = re.match('([su]([0-9]{1,2})p?)( (default))?$', token)
        if m:
            set_property(stream, 'sample_fmt', m.group(1))
            set_property(stream, 'bits_per_sample', int(m.group(2)))
            set_property(stream, 'bits_per_raw_sample', int(m.group(3)))
        elif m2:
            set_property(stream, 'sample_fmt', m2.group(1))
            set_property(stream, 'bits_per_sample', int(m2.group(2)))
            set_property(stream, 'bits_per_raw_sample', int(m2.group(2)))
        elif re.match('(flt)p?( (default))?$', token):
            set_property(stream, 'sample_fmt', token)
            set_property(stream, 'bits_per_sample', 32)
            set_property(stream, 'bits_per_raw_sample', 32)
        elif re.match('(dbl)p?( (default))?$', token):
            set_property(stream, 'sample_fmt', token)
            set_property(stream, 'bits_per_sample', 64)
            set_property(stream, 'bits_per_raw_sample', 64)
    return info

Cheers.