Commit 3d697ce4 authored by Sjoerd Mullender's avatar Sjoerd Mullender

Support for album.notes and trackN.artist via notes and trackartist

instance variables.
parent d09b41bf
...@@ -77,10 +77,12 @@ class Cddb: ...@@ -77,10 +77,12 @@ class Cddb:
self.artist = '' self.artist = ''
self.title = '' self.title = ''
self.track = [None] + [''] * ntracks self.track = [None] + [''] * ntracks
self.trackartist = [None] + [''] * ntracks
self.notes = []
if not hasattr(self, 'file'): if not hasattr(self, 'file'):
return return
import regex import regex
reg = regex.compile('^\\([^.]*\\)\\.\\([^:]*\\):\t\\(.*\\)') reg = regex.compile('^\\([^.]*\\)\\.\\([^:]*\\):[\t ]+\\(.*\\)')
while 1: while 1:
line = f.readline() line = f.readline()
if not line: if not line:
...@@ -101,6 +103,8 @@ class Cddb: ...@@ -101,6 +103,8 @@ class Cddb:
self.toc = value self.toc = value
if self.toc != value: if self.toc != value:
print 'toc\'s don\'t match' print 'toc\'s don\'t match'
elif name2 == 'notes':
self.notes.append(value)
elif name1[:5] == 'track': elif name1[:5] == 'track':
try: try:
trackno = string.atoi(name1[5:]) trackno = string.atoi(name1[5:])
...@@ -112,7 +116,10 @@ class Cddb: ...@@ -112,7 +116,10 @@ class Cddb:
' in file ' + file + \ ' in file ' + file + \
' out of range' ' out of range'
continue continue
if name2 == 'title':
self.track[trackno] = value self.track[trackno] = value
elif name2 == 'artist':
self.trackartist[trackno] = value
f.close() f.close()
for i in range(2, len(self.track)): for i in range(2, len(self.track)):
track = self.track[i] track = self.track[i]
...@@ -181,6 +188,8 @@ class Cddb: ...@@ -181,6 +188,8 @@ class Cddb:
f.write('album.title:\t' + self.title + '\n') f.write('album.title:\t' + self.title + '\n')
f.write('album.artist:\t' + self.artist + '\n') f.write('album.artist:\t' + self.artist + '\n')
f.write('album.toc:\t' + self.toc + '\n') f.write('album.toc:\t' + self.toc + '\n')
for note in self.notes:
f.write('album.notes:\t' + note + '\n')
prevpref = None prevpref = None
for i in range(1, len(self.track)): for i in range(1, len(self.track)):
track = self.track[i] track = self.track[i]
......
...@@ -77,10 +77,12 @@ class Cddb: ...@@ -77,10 +77,12 @@ class Cddb:
self.artist = '' self.artist = ''
self.title = '' self.title = ''
self.track = [None] + [''] * ntracks self.track = [None] + [''] * ntracks
self.trackartist = [None] + [''] * ntracks
self.notes = []
if not hasattr(self, 'file'): if not hasattr(self, 'file'):
return return
import regex import regex
reg = regex.compile('^\\([^.]*\\)\\.\\([^:]*\\):\t\\(.*\\)') reg = regex.compile('^\\([^.]*\\)\\.\\([^:]*\\):[\t ]+\\(.*\\)')
while 1: while 1:
line = f.readline() line = f.readline()
if not line: if not line:
...@@ -101,6 +103,8 @@ class Cddb: ...@@ -101,6 +103,8 @@ class Cddb:
self.toc = value self.toc = value
if self.toc != value: if self.toc != value:
print 'toc\'s don\'t match' print 'toc\'s don\'t match'
elif name2 == 'notes':
self.notes.append(value)
elif name1[:5] == 'track': elif name1[:5] == 'track':
try: try:
trackno = string.atoi(name1[5:]) trackno = string.atoi(name1[5:])
...@@ -112,7 +116,10 @@ class Cddb: ...@@ -112,7 +116,10 @@ class Cddb:
' in file ' + file + \ ' in file ' + file + \
' out of range' ' out of range'
continue continue
if name2 == 'title':
self.track[trackno] = value self.track[trackno] = value
elif name2 == 'artist':
self.trackartist[trackno] = value
f.close() f.close()
for i in range(2, len(self.track)): for i in range(2, len(self.track)):
track = self.track[i] track = self.track[i]
...@@ -181,6 +188,8 @@ class Cddb: ...@@ -181,6 +188,8 @@ class Cddb:
f.write('album.title:\t' + self.title + '\n') f.write('album.title:\t' + self.title + '\n')
f.write('album.artist:\t' + self.artist + '\n') f.write('album.artist:\t' + self.artist + '\n')
f.write('album.toc:\t' + self.toc + '\n') f.write('album.toc:\t' + self.toc + '\n')
for note in self.notes:
f.write('album.notes:\t' + note + '\n')
prevpref = None prevpref = None
for i in range(1, len(self.track)): for i in range(1, len(self.track)):
track = self.track[i] track = self.track[i]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment