@@ -151,6 +151,14 @@ def artist(artistDir):
151151 title = audio ['title' ][0 ].encode ('ascii' , 'ignore' )
152152 if args .album :
153153 album = audio ['album' ][0 ].encode ('ascii' , 'ignore' )
154+ if args .numbering :
155+ try :
156+ tracknumber = audio ['tracknumber' ][0 ].encode ('ascii' , 'ignore' )
157+ except :
158+ try :
159+ tracknumber = re .findall (r'\d+' , os .path .basename (filename ).split (' ' )[0 ])[0 ]
160+ except :
161+ tracknumber = "error"
154162 print (" title: " + title )
155163 except :
156164 title = None
@@ -161,7 +169,11 @@ def artist(artistDir):
161169 print ("Error: title not found for '" + filename + "'" )
162170 sys .exit (- 42 )
163171
164- neatTitle = toNeat (title )
172+ if args .numbering and tracknumber is not "error" :
173+ neatTitle = tracknumber + ".-" + toNeat (title )
174+ else :
175+ neatTitle = toNeat (title )
176+
165177 print (" neatTitle: " + neatTitle )
166178
167179 if args .album :
@@ -215,7 +227,13 @@ def song(filename):
215227 title = audio ['title' ][0 ].encode ('ascii' , 'ignore' )
216228 album = audio ['album' ][0 ].encode ('ascii' , 'ignore' )
217229 if args .numbering :
218- tracknumber = audio ['tracknumber' ][0 ].encode ('ascii' , 'ignore' )
230+ try :
231+ tracknumber = audio ['tracknumber' ][0 ].encode ('ascii' , 'ignore' )
232+ except :
233+ try :
234+ tracknumber = re .findall (r'\d+' , os .path .basename (filename ).split (' ' )[0 ])[0 ]
235+ except :
236+ tracknumber = "error"
219237 print (" artist: " + artist )
220238 print (" title: " + title )
221239 if args .album :
@@ -228,7 +246,7 @@ def song(filename):
228246 if args .numbering :
229247 tracknumber = None
230248 neatArtist = toNeat (artist )
231- if args .numbering :
249+ if args .numbering and tracknumber is not "error" :
232250 neatTitle = tracknumber + ".-" + toNeat (title )
233251 else :
234252 neatTitle = toNeat (title )
0 commit comments