Example #1
0
 def saveTracks(self, tracks):
     for old, new in tracks:
         old, new = audioinfo.stringtags(old), audioinfo.stringtags(new)
         artist = new['artist']
         album = new['album']
         if old['artist'] != artist:
             if artist in self.albums:
                 if album in self.albums[artist]:
                     index = self.albums[artist][album]
                     self.tracks[index].append(new)
                 else:
                     self.albums[artist][album] = len(self.tracks)
                     self.tracks.append([new])
             else:
                 self.albums[artist] = {album: len(self.tracks)}
                 self.tracks.append([new])
         elif album != old['album']:
             if album in self.albums[artist]:
                 self.albums[artist][album].append(new)
             else:
                 self.albums[artist][album] = len(self.tracks)
                 self.tracks.append([new])
         else:
             self.tracks[self.albums[artist][album]].append(new)
         self.delTracks([old])
Example #2
0
 def saveTracks(self, tracks):
     for old, new in tracks:
         old, new = audioinfo.stringtags(old), audioinfo.stringtags(new)
         artist = new['artist']
         album = new['album']
         if old['artist'] != artist:
             if artist in self.albums:
                 if album in self.albums[artist]:
                     index = self.albums[artist][album]
                     self.tracks[index].append(new)
                 else:
                     self.albums[artist][album] = len(self.tracks)
                     self.tracks.append([new])
             else:
                 self.albums[artist] = {album: len(self.tracks)}
                 self.tracks.append([new])
         elif album != old['album']:
             if album in self.albums[artist]:
                 self.albums[artist][album].append(new)
             else:
                 self.albums[artist][album] = len(self.tracks)
                 self.tracks.append([new])
         else:
             self.tracks[self.albums[artist][album]].append(new)
         self.delTracks([old])
Example #3
0
 def updateSearch(self, term, tracks):
     tags = ["artist", "title", FILENAME, "__path", "album", "genre", "comment", "composer", "year"]
     term = term.lower()
     tracks = []
     for audio in files:
         temp = audioinfo.stringtags(audio)
         for tag in tags:
             if term in temp[tag].lower():
                 tracks.append(audio)
                 break
     return tracks
Example #4
0
 def updateSearch(self, term, files):
     tags = ['artist', 'title', FILENAME, '__path', 'album', 'genre', 'comment'
     , '___notes', 'year']
     term = term.lower()
     tracks = []
     for audio in files:
         temp = audioinfo.stringtags(audio)
         for tag in tags:
             if term in temp[tag].lower():
                 tracks.append(audio)
                 break
     return tracks
Example #5
0
 def delTracks(self, tracks):
     prevartist = None
     prevalbum = None
     for track in tracks:
         track = audioinfo.stringtags(track)
         artist = track['artist']
         album = track['album']
         if artist != prevartist or album != prevalbum:
             dbtracks = self.tracks[self.albums[artist][album]]
             filenames = [z[FILENAME] for z in dbtracks]
         del (dbtracks[filenames.index(track[FILENAME])])
         filenames.remove(track[FILENAME])
         if not dbtracks:
             del (self.albums[artist][album])
         if not self.albums[artist]:
             del (self.albums[artist])
Example #6
0
 def delTracks(self, tracks):
     prevartist = None
     prevalbum = None
     for track in tracks:
         track = audioinfo.stringtags(track)
         artist = track['artist']
         album = track['album']
         if artist != prevartist or album != prevalbum:
             dbtracks = self.tracks[self.albums[artist][album]]
             filenames = [z[FILENAME] for z in dbtracks]
         del(dbtracks[filenames.index(track[FILENAME])])
         filenames.remove(track[FILENAME])
         if not dbtracks:
             del(self.albums[artist][album])
         if not self.albums[artist]:
             del(self.albums[artist])
Example #7
0
def convert_for_submit(tags):
    cipher = {
        'mbrainz_track_id': 'mbid',
        'title': 'track',
        'track': 'trackno',
        'discnumber': 'discno',
        '__bitrate': 'bitrate',
        'musicip_puid': 'puid',
        }

    valid_keys = set(['artist', 'album', 'title', 'track', 'discno',
        'mbid', 'year', 'bitrate', 'puid', 'trackno'])
    
    ret = dict((cipher.get(k, k) , v) for k,v in stringtags(tags).iteritems()
        if cipher.get(k, k) in valid_keys and v)
    bitrate = ret['bitrate'].split(u' ')[0]
    if bitrate == 0:
        del(ret['bitrate'])
    else:
        ret['bitrate'] = unicode(bitrate)

    return ret
Example #8
0
def convert_for_submit(tags):
    cipher = {
        'mbrainz_track_id': 'mbid',
        'title': 'track',
        'track': 'trackno',
        'discnumber': 'discno',
        '__bitrate': 'bitrate',
        'musicip_puid': 'puid',
    }

    valid_keys = set([
        'artist', 'album', 'title', 'track', 'discno', 'mbid', 'year',
        'bitrate', 'puid', 'trackno'
    ])

    ret = dict((cipher.get(k, k), v) for k, v in stringtags(tags).iteritems()
               if cipher.get(k, k) in valid_keys and v)
    bitrate = ret['bitrate'].split(u' ')[0]
    if bitrate == 0:
        del (ret['bitrate'])
    else:
        ret['bitrate'] = unicode(bitrate)

    return ret