oaubert / python-vlc

Python vlc bindings
GNU Lesser General Public License v2.1
381 stars 108 forks source link

SyntaxWarning: invalid escape sequence #266

Open dscrofts opened 9 months ago

dscrofts commented 9 months ago

With the latest versions of python-vlc and pylint, I am getting various SyntaxWarning(s) just by importing the vlc library:

test.py

import vlc

pylint output

$ python3.12 -m pylint test.py
************* Module test
test.py:1:0: C0114: Missing module docstring (missing-module-docstring)
<unknown>:1180: SyntaxWarning: invalid escape sequence '\w'
<unknown>:1948: SyntaxWarning: invalid escape sequence '\d'
<unknown>:1956: SyntaxWarning: invalid escape sequence '\d'
<unknown>:1964: SyntaxWarning: invalid escape sequence '\d'
<unknown>:1972: SyntaxWarning: invalid escape sequence '\d'
<unknown>:2561: SyntaxWarning: invalid escape sequence '\d'
<unknown>:2574: SyntaxWarning: invalid escape sequence '\d'
<unknown>:2592: SyntaxWarning: invalid escape sequence '\d'
<unknown>:2602: SyntaxWarning: invalid escape sequence '\d'
<unknown>:2716: SyntaxWarning: invalid escape sequence '\l'
<unknown>:2868: SyntaxWarning: invalid escape sequence '\d'
<unknown>:2877: SyntaxWarning: invalid escape sequence '\d'
<unknown>:2919: SyntaxWarning: invalid escape sequence '\l'
<unknown>:3086: SyntaxWarning: invalid escape sequence '\l'
<unknown>:3206: SyntaxWarning: invalid escape sequence '\l'
<unknown>:3425: SyntaxWarning: invalid escape sequence '\d'
<unknown>:3436: SyntaxWarning: invalid escape sequence '\d'
<unknown>:3442: SyntaxWarning: invalid escape sequence '\d'
<unknown>:3463: SyntaxWarning: invalid escape sequence '\d'
<unknown>:3472: SyntaxWarning: invalid escape sequence '\d'
<unknown>:3518: SyntaxWarning: invalid escape sequence '\l'
<unknown>:3622: SyntaxWarning: invalid escape sequence '\@'
<unknown>:3825: SyntaxWarning: invalid escape sequence '\l'
<unknown>:3904: SyntaxWarning: invalid escape sequence '\l'
<unknown>:3911: SyntaxWarning: invalid escape sequence '\l'
<unknown>:3918: SyntaxWarning: invalid escape sequence '\l'
<unknown>:3983: SyntaxWarning: invalid escape sequence '\l'
<unknown>:4583: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4597: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4605: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4613: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4621: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4632: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4664: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4676: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4686: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4696: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4706: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4716: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4732: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4753: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4766: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4781: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4789: SyntaxWarning: invalid escape sequence '\d'
<unknown>:4801: SyntaxWarning: invalid escape sequence '\d'
<unknown>:5546: SyntaxWarning: invalid escape sequence '\l'
<unknown>:5835: SyntaxWarning: invalid escape sequence '\l'
<unknown>:6046: SyntaxWarning: invalid escape sequence '\l'
<unknown>:6188: SyntaxWarning: invalid escape sequence '\l'
<unknown>:6343: SyntaxWarning: invalid escape sequence '\l'
<unknown>:6474: SyntaxWarning: invalid escape sequence '\@'
<unknown>:6746: SyntaxWarning: invalid escape sequence '\l'
<unknown>:6858: SyntaxWarning: invalid escape sequence '\l'
<unknown>:6868: SyntaxWarning: invalid escape sequence '\l'
<unknown>:6878: SyntaxWarning: invalid escape sequence '\l'
<unknown>:6973: SyntaxWarning: invalid escape sequence '\l'
test.py:1:0: W0611: Unused import vlc (unused-import)

------------------------------------------------------------------
Your code has been rated at 0.00/10 (previous run: 0.00/10, +0.00)

Versions

pylint==3.0.1
python-vlc==3.0.18122

The problem seems to be various escape sequences in the vlc.py library. For example, the first one is:

vlc.py Line 1181: \warning allocate using libvlc_video_new_viewpoint().

Would it be possible to change/correct these as per the pylint documentation? Link: https://pylint.readthedocs.io/en/latest/user_guide/messages/warning/anomalous-backslash-in-string.html

Or perhaps use a different prefix other than a backslash?

Cheers

oaubert commented 9 months ago

The backslash prefix comes from the epydoc software which is/was used to generate the documentation. Migrating to a better (and still maintained) software like sphinx-apidoc/pdoc/... has been on the TODO list for some time. Patches welcome...

dscrofts commented 9 months ago

Fair enough. Perhaps a tool like pyment could be used? Or do you mean modifying the code in generator.py?