def trackAddFragmentFileByMBTrackId(self, track, info, metadata, mix=None, number=None): self.debug('get track for track id %r', track.id) # FIXME: possibly raise if we don't find it ? found = False if len(track.fragments) > 1: self.warning('Not yet implemented finding the right fragment to add by mbid') for fragment in track.fragments: for f in fragment.files: if f.metadata and f.metadata.mbTrackId == metadata.mbTrackId: self.debug('Appending to fragment %r', fragment) track.filesAppend(fragment.files, info, metadata, number) found = True break if found: break stored = yield self.save(track) defer.returnValue(track)
def trackAddFragmentFileByMD5Sum(self, track, info, metadata=None, mix=None, number=None): """ Add the given file to each fragment with a file with the same md5sum. """ # FIXME: possibly raise if we don't find it ? found = False for fragment in track.fragments: for f in fragment.files: if f.info.md5sum == info.md5sum: self.debug('Appending to fragment %r', fragment) track.filesAppend(fragment.files, info, metadata, number) found = True break if found: break if not found: self.debug('MD5 sum %r not found on track', info.md5sum) else: track = yield self.save(track) defer.returnValue(track)