Commits

Travis Shirk committed 86edae4

Optimize extension matching for custom ID3 mime-type and python-magic.

Comments (0)

Files changed (1)

src/eyed3/utils/__init__.py

 import re
 
 ID3_MIME_TYPE = "application/x-id3"
-ID3_MIME_TYPE_EXTENSIONS = ("id3", "tag")
+ID3_MIME_TYPE_EXTENSIONS = (".id3", ".tag")
 
 import StringIO
 import mimetypes
 _mime_types = mimetypes.MimeTypes()
 _mime_types.readfp(StringIO.StringIO("%s %s" %
-                                     (ID3_MIME_TYPE,
-                                      " ".join(ID3_MIME_TYPE_EXTENSIONS))))
+                   (ID3_MIME_TYPE,
+                    " ".join((e[1:] for e in ID3_MIME_TYPE_EXTENSIONS)))))
 del mimetypes
 del StringIO
 
     mime = None
 
     if magic_func:
-        if (os.path.splitext(filename)[1] in
-                (".%s" % ext for ext in ID3_MIME_TYPE_EXTENSIONS)):
+        if (os.path.splitext(filename)[1] in ID3_MIME_TYPE_EXTENSIONS):
             # Need to check custom types manually if not using _mime_types
             mime = ID3_MIME_TYPE
         else:
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.