def modify(self, song, sub_value_dict, star_threshold=0.75, iterstep_threshold=50): value_dict = song.to_dict() for key, value in sub_value_dict.items(): try: provider = self._session.provider_for_key(key) if value is None: sub_value_dict[key] = None else: sub_value_dict[key] = provider.process(value) except KeyError: raise KeyError('key "{k}" is not in mask'.format(k=key)) value_dict.update(sub_value_dict) new_song = Song( self._session, value_dict, max_neighbors=self._session.config['max_neighbors'], max_distance=self._session.config['max_distance'] ) new_song.uid = self.remove(song.uid) self._song_list[song.uid] = new_song # Clear all know distances: new_song.distance_reset() return self._insert_song_to_graph( new_song, star_threshold, iterstep_threshold )
def modify(self, song, sub_value_dict, star_threshold=0.75, iterstep_threshold=50): value_dict = song.to_dict() for key, value in sub_value_dict.items(): try: provider = self._session.provider_for_key(key) if value is None: sub_value_dict[key] = None else: sub_value_dict[key] = provider.process(value) except KeyError: raise KeyError('key "{k}" is not in mask'.format(k=key)) value_dict.update(sub_value_dict) new_song = Song(self._session, value_dict, max_neighbors=self._session.config['max_neighbors'], max_distance=self._session.config['max_distance']) new_song.uid = self.remove(song.uid) self._song_list[song.uid] = new_song # Clear all know distances: new_song.distance_reset() return self._insert_song_to_graph(new_song, star_threshold, iterstep_threshold)
def add(self, value_dict): for key, value in value_dict.items(): try: provider = self._session.provider_for_key(key) if value is None: value_dict[key] = None else: value_dict[key] = provider.process(value) except KeyError: raise KeyError('key "{k}" is not in mask'.format(k=key)) new_song = Song(self._session, value_dict, max_neighbors=self._session.config['max_neighbors'], max_distance=self._session.config['max_distance']) new_song.uid = self._current_uid() if new_song.uid >= len(self._song_list): self._song_list.append(new_song) else: self._song_list[new_song.uid] = new_song return new_song.uid
def add(self, value_dict): for key, value in value_dict.items(): try: provider = self._session.provider_for_key(key) if value is None: value_dict[key] = None else: value_dict[key] = provider.process(value) except KeyError: raise KeyError('key "{k}" is not in mask'.format(k=key)) new_song = Song( self._session, value_dict, max_neighbors=self._session.config['max_neighbors'], max_distance=self._session.config['max_distance'] ) new_song.uid = self._current_uid() if new_song.uid >= len(self._song_list): self._song_list.append(new_song) else: self._song_list[new_song.uid] = new_song return new_song.uid