Better id3 track parsing

This commit is contained in:
dave 2017-08-14 00:15:19 -07:00
parent 7211470493
commit 0c7fcd58b7
1 changed files with 4 additions and 2 deletions

View File

@ -1,4 +1,5 @@
import os import os
import re
import json import json
import logging import logging
import mimetypes import mimetypes
@ -10,6 +11,7 @@ from mutagen.id3._util import ID3NoHeaderError
logging = logging.getLogger("scanner") logging = logging.getLogger("scanner")
RE_NUMBERS = re.compile(r'^([0-9]+)')
class PysonicFilesystemScanner(object): class PysonicFilesystemScanner(object):
@ -116,8 +118,8 @@ class PysonicFilesystemScanner(object):
id3 = ID3(fpath) id3 = ID3(fpath)
# print(id3.pprint()) # print(id3.pprint())
try: try:
tags["track"] = int(''.join(id3['TRCK'].text).split("/")[0]) tags["track"] = int(RE_NUMBERS.findall(''.join(id3['TRCK'].text))[0])
except KeyError: except (KeyError, IndexError):
pass pass
try: try:
tags["id3_artist"] = ''.join(id3['TPE1'].text) tags["id3_artist"] = ''.join(id3['TPE1'].text)