def fetch_music (self, music):
		assert not self.is_available (music)
		source = self.get_source (music)
		sink = gst.element_factory_make ("filesink", "destination")
		handle, filename = tempfile.mkstemp(suffix = '.wav', dir = self.temporary_dir)
		sink.set_property ("location", filename)
		
		our_listener = GstSourceToWavListener (filename, self.cache, music)
		oper = audio.source_to_wav (source, sink)
		oper.listeners.append (our_listener)
		return oper
	def fetch_music (self, music):
		"""
		Can throw a OSError exception in case of the provided temporary dir being
		invalid.
		"""
		assert not self.is_available (music)
		source = self.get_source (music)
		sink = gst.element_factory_make ("filesink", "destination")
		
		handle, filename = tempfile.mkstemp(suffix = '.wav', dir = self.temporary_dir)
		os.close (handle)
		sink.set_property ("location", filename)
		
		our_listener = GstSourceToWavListener (self, filename, music)
		oper = audio.source_to_wav (source, sink)
		oper.listeners.append (our_listener)
		return oper