def upload_video(): if request.method == "UPDATE": duration = request.values.get('duration') v_id = request.values.get('v_id') video = Video.query.get(v_id) if video: video.duration = duration db.session.add(video) db.session.commit() video.course.update_duration() for uv in video.u_videos: uv.update_duration() return jsonify({ 'resCode': 'ok', 'msg': '时长更新完毕!' }) file = request.files.get('file') c_id = request.values.get('c_id') course = Course.query.get_or_404(c_id) filename = file.filename title = filename.split('.')[0] if isinstance(filename, str) else 'None' video = Video(title=title) video.course = course db.session.add(video) db.session.commit() v_id = video.id base_path = 'app/static/videos/' base_name = 'course{}-{}'.format(c_id, v_id) _filename = '{}.{}'.format(base_name, filename.split('.')[1]) path = '/static/videos/' + _filename try: file.save(base_path + _filename) video.video_src = path db.session.add(video) choices = course.choices.all() users = [choice.user for choice in choices] for user in users: uv = UserVideo.create(user, video) except Exception as e: print(e) db.session.delete(video) return jsonify({ 'id': v_id, 'duration': video.duration or '-', 'order': video.order, 'resCode': 'ok', 'msg': 'ok', 'filename': video.get_filename() })