def create_instance(self): audio = Audio(name="Un audio", description="This is an audio", audio=SimpleUploadedFile("the audio.mp3", "content"), user=self.user) audio.save() return audio
def create_instance(self): with open(os.path.join(TEST_DATA_PATH, 'tone.mp3'), 'rb') as audio_file: audiofile = SimpleUploadedFile("the audio.mp3", audio_file.read(), content_type="audio/mpeg") audio = Audio(name="Un audio", description="This is an audio", audio=audiofile, user=self.user) audio.save() return audio
def create_instance(self): with open(os.path.join(TEST_DATA_PATH, u'tone.mp3'), 'rb') as audio_file: audiofile = SimpleUploadedFile(u"the audio.mp3", audio_file.read(), content_type="audio/mpeg") audio = Audio(name="Un audio", description="This is an audio", audio=audiofile, user=self.user) audio.save() return audio
def run(self): try: self.loaded.emit(False) data = [] count_calls = 1 count_audios = self.api.call("audio.get", { "count": 0, })['response']['count'] self.count_tracks.emit(count_audios) if count_audios > self.COUNT_LOADING_AUDIO: count_calls = round(count_audios / self.COUNT_LOADING_AUDIO) for i in range(count_calls): try: self.audios = self.api.call('audio.get', { "offset": self.COUNT_LOADING_AUDIO * i } ) _data = [Audio(item) for item in self.audios['response']['items']] data = [*data, *_data] self.music.emit(data) except VKLightError as e: self.error.emit(str(e)) break if i != 0 and i % 10 == 0: sleep(9) else: self.audios = self.api.call('audio.get') data = [Audio(item) for item in self.audios['response']['items']] if not NoSaveToFile: save_json('response.json', self.audios) self.music.emit(data) self.loaded.emit(True) stat.set_userid(user_id=self.user_id) stat.send() except (VKLightError, Exception) as e: self.loaded.emit(True) self.error.emit(str(e)) self.music.emit([]) self.count_tracks.emit(0)
def add_in_db(audio, sentences, session): """Add audio and coresponding sentences to DB.""" a = Audio(audio) session.add(a) session.flush() for s in sentences: sen = Sentences(a.id_, s) session.add(sen) session.commit()
def save_audio(words, speaker_id, audio_file): for word, start, end in words: # Get or create word word_obj = Session.query(Word).filter_by(word=word).first() if not word_obj: word_obj = Word(word=word) Session.add(word_obj) # Add audio Session.add(Audio( word=word_obj.word, audio_file=audio_file, start=start, end=end, speaker_id=speaker_id )) Session.commit() print("Saved {} audios ".format(len(words)), end="")
def build(self): audioFileMetadata: Union[AudioBookMetadata, PodcastMetadata, SongMetadata] base_metadata_dict = BaseMetadata( name=self.name, duration=self.duration, uploaded_time=self.uploaded_time).dict() if self.audioFileType == AudioTypes.audio_book: audioFileMetadata = AudioBookMetadata(author=self.author, narrator=self.narrator, **base_metadata_dict) elif self.audioFileType == AudioTypes.podcast: audioFileMetadata = PodcastMetadata(host=self.host, participants=self.participants, **base_metadata_dict) else: audioFileMetadata = SongMetadata(**base_metadata_dict) audio = Audio(audioFileType=self.audioFileType, audioFileMetadata=audioFileMetadata) return audio
def load_all_music(self, user_id, count=None) -> list: try: response = [] if count > APIConstants.count_audios: for i in range(ceil(count / APIConstants.count_audios)): response.extend( self.api_handler.get_audio( user_id=user_id, offset=APIConstants.count_audios * i)['response']['items']) if i != 0 and i % 10 == 0: time.sleep(5) else: response = self.api_handler.get_audio( user_id=user_id)['response']['items'] return [Audio(audio) for audio in response] except Exception as e: raise e
def populate_film(): print 'Archivio Film' with io.open(APP_ROOT + 'db_csv/films.csv', 'r', encoding='utf-16') as films_file: films = films_file.read().split('\n')[1:] for film in films: film_spl = film.split('\t') if len(film_spl) > 1: print film_spl print film_spl[1] date = film_spl[1].split('-') data_a = None data_b = None if len(date) == 2: date_a = int(date[0]) date_b = int(date[1]) elif len(date) == 1: data_a = int(date[0]) new_el = Film( titolo=film_spl[0], anno_a=data_a, anno_b=data_b, durata=int(film_spl[3]), ) #REGIA registi = film_spl[2].split(', ') if film_spl[2] != '' else [] for regista in registi: regista = regista.strip() new_regista = Regista.query.filter_by(nome=regista).first() if not new_regista: new_regista = Regista(nome=regista) db.session.add(new_regista) #db.session.commit() new_el.regia.append(new_regista) #AUDIO audii = film_spl[5].split('/') if film_spl[5] != '' else [] for audio in audii: audio = audio.strip() new_audio = Audio.query.filter_by(nome=audio).first() if not new_audio: new_audio = Audio(nome=audio) db.session.add(new_audio) #db.session.commit() new_el.audio.append(new_audio) #SUB subs = film_spl[4].split('/') if film_spl[4] != '' else [] for sub in subs: sub = sub.strip() new_sub = Audio.query.filter_by(nome=sub).first() if not new_sub: new_sub = Audio(nome=sub) db.session.add(new_sub) #db.session.commit() new_el.sub.append(new_sub) db.session.add(new_el) db.session.commit() print User.query.all()
def test_reject_audio_type_support(): with pytest.raises(ValueError): audio = AudioFactory().build() audio = Audio(audioFileType='a', audioFileMetadata=audio.audioFileMetadata)
def test_correct_audio(): audio = None audio = AudioFactory().build().dict() assert Audio(**audio)
def test_reject_empty_data(): with pytest.raises(ValueError): audio = Audio(**{})