Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


Syntax Error at indexer #27

JeanetteMueller opened this Issue · 5 comments

4 participants


the readme says shiva/ but it is at root

python bring me this message

Traceback (most recent call last):
File "", line 194, in
File "", line 179, in run
File "", line 165, in walk
File "", line 165, in walk
File "", line 167, in walk
if self.is_track():
File "", line 152, in is_track
if not self.get_id3_reader().is_valid():
File "", line 135, in get_id3_reader
self.id3r = ID3Manager(self.file_path)
File "/root/shiva-server/shiva/", line 53, in init
self.reader = eyed3.load(mp3_path)
File "/usr/local/lib/python2.6/dist-packages/eyed3/", line 50, in load
from . import mp3, id3
File "/usr/local/lib/python2.6/dist-packages/eyed3/mp3/", line 22, in
from .. import id3
File "/usr/local/lib/python2.6/dist-packages/eyed3/id3/", line 487, in
from .tag import Tag, FileInfo, TagException, TagTemplate
File "/usr/local/lib/python2.6/dist-packages/eyed3/id3/", line 932
date_frames = { f for f in flist if in DEPRECATED_DATE_FIDS}\
SyntaxError: invalid syntax
(The Arrow points to the "r" of the first "for")

Any Ideas? Sorry, i'm new with python


I think it's because you are running Python 2.6. The line which throws the error contains a dict comprehension which was introduced in Python 2.7.


Yes i got it.
On debian with python 2.7 test it works (a little bit buggy)


Are you planning on supporting Python 2.6 or not? If not, you should clearly state in your README.

As 2.6 is still used widely on different stable distributions (e.g. Debian Squeeze, I think you should support 2.6 as well. It can be tested by using Tox with different Python version configurations. The difference between 2.6 and 2.7 isn't too much of a problem.


Ah, I just realized that the issue comes from eyed3, and not from shiva-server directly. Eyed3 state that it requires Py2.7.

As I already stated, I think we should support Python 2.6, therefore eyed3 would have to be fixed or replaced.

It appears that you're using eyed3 only for reading tag info. In that case, you could easily replace it with hsaudiotag (very easy to handle with auto-detection of file format) or mutagen (probably more mature but larger). Both libraries support additional file formats like OGG, FLAC and more.

If you're interested I could look into this issue and provide a pull request to replace eyed3.


#47 was just merged. Marking this as fixed.

@tooxie tooxie reopened this
@tooxie tooxie closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.