Example #1
0
def music_add():
    form = MusicForm()
    set_music_choices(form)
    if form.validate_on_submit():
        music = Music()
        set_music_attribs(form, music, True)
        cover_fs = request.files.get(form.music_cover.name)
        audio_fs = request.files.get(form.music_audio.name)
        lrc_fs = request.files.get(form.music_lrc.name)
        subfolder = 'musics' + '/' + music.uuid
        music.coverfile = musicCoversSet.save(cover_fs,
                                              folder=subfolder,
                                              name=cover_fs.filename)
        music.audiofile = musicAudiosSet.save(audio_fs,
                                              folder=subfolder,
                                              name=audio_fs.filename)
        music.lrcfile = musicLrcsSet.save(lrc_fs,
                                          folder=subfolder,
                                          name=lrc_fs.filename)
        db.session.add(music)
        # 记录操作日志
        operateLog = AdminOperatelog(admin_id=session.get("admin_id"),
                                     ip=request.remote_addr,
                                     operations='添加一条音乐')
        db.session.add(operateLog)
        db.session.commit()
        flash(message='音乐添加成功!', category='ok')
        return redirect(url_for('admin.music_list', page=1))
    return render_template('admin/music_add.html', form=form)
Example #2
0
def music_change(id):
    form = MusicForm()
    set_music_choices(form)
    form.music_cover.validators = [form.music_cover.validators[1]]
    form.music_audio.validators = [form.music_audio.validators[1]]
    form.music_lrc.validators = [form.music_lrc.validators[1]]
    music = Music.query.get_or_404(id)
    if request.method == "GET":
        form.music_title.data = music.title
        form.music_singer.data = music.singer
        form.music_singer.data = music.singer
        form.music_privacy.data = music.privacy
        form.music_recmmed.data = music.recommed
        form.music_lang.data = music.lang_id
        form.music_style.data = music.style_id
        form.music_theme.data = music.theme_id
        form.music_emotion.data = music.emotion_id
        form.music_scene.data = music.scene_id
    if form.validate_on_submit():
        set_music_attribs(form, music, False)
        subfolder = 'musics' + '/' + music.uuid
        cover_fs = form.music_cover.data
        if cover_fs:
            cover_path = musicCoversSet.path(filename=music.coverfile)
            if os.path.isfile(cover_path):
                os.remove(cover_path)
            music.coverfile = musicCoversSet.save(cover_fs,
                                                  folder=subfolder,
                                                  name=cover_fs.filename)
        audio_fs = form.music_audio.data
        if audio_fs:
            audio_path = musicAudiosSet.path(filename=music.audiofile)
            if os.path.isfile(audio_path):
                os.remove(audio_path)
            music.audiofile = musicAudiosSet.save(audio_fs,
                                                  folder=subfolder,
                                                  name=audio_fs.filename)
        lrc_fs = form.music_lrc.data
        if lrc_fs:
            lrc_path = musicLrcsSet.path(filename=music.lrcfile)
            if os.path.isfile(lrc_path):
                os.remove(lrc_path)
            music.lrcfile = musicLrcsSet.save(lrc_fs,
                                              folder=subfolder,
                                              name=lrc_fs.filename)
        db.session.add(music)
        db.session.commit()
        flash(message='音乐修改成功!', category='ok')
        return redirect(url_for('admin.music_list', page=1))
    return render_template('admin/music_change.html', music=music, form=form)