def choose_video(room_id): user = anon_user() room = Room.query.get(room_id) cap = room.capitan_id if room: now = time = datetime.now(tz=None) sub_items = [] real_user = cur_user() if real_user: subs = real_user.subscriptions for sub in subs: for video in sub.videos: sub_items.append(video) video_pack = Video.get(need_geo=True) return render_template('choose_video.html', user=cur_user(), items=video_pack[0], cap=cap, room=room, anon=user, now=now, sub_items=sub_items, geo_items=json.dumps([ video.serialize() for video in video_pack[1] ])) else: return redirect(url_for('viewroom'))
def views_story(): videos = Video.get() items = [] for video in videos: if cur_user() in video.viewers: items.append(video) return render_template('views_story.html', user=cur_user(), items=items)
def cabinet(usr, tab=0): """ Отвечает за вывод страницы личного кабинета :return: Страница личного кабинета """ video_list = Video.get() user = cur_user() cabinet_owner = User.get(login=usr) is_cabinet_settings_available = False if user == cabinet_owner: is_cabinet_settings_available = True items = cabinet_owner.videos form = UserProfileForm() form_acc = AccountSettingsForm() if request.method == 'POST': form_name = request.form['form-name'] tab = 2 if form_name == 'form': tab = 1 if form_name == 'form' and form.validate(): tab = 1 user = cur_user() folder = str(user.id) if form.change_name.data: user.change_name(form.change_name.data) if form.channel_info.data: user.change_channel_info(form.channel_info.data) if 'avatar' in request.files: avatar_url = avatars.save(form.avatar.data, folder=folder) user.update_avatar(json.dumps({"url": avatar_url})) if 'background' in request.files: background_url = backgrounds.save(form.background.data, folder=folder) user.update_background(json.dumps({"url": background_url})) return redirect( url_for("cabinet", usr=cabinet_owner.login, tab=tab)) elif form_name == 'form_acc' and form_acc.validate(): tab = 2 user = cur_user() if form_acc.change_password.data: user.save(form_acc.change_password.data) return redirect( url_for("cabinet", usr=cabinet_owner.login, tab=tab)) now = time = datetime.now(tz=None) return render_template('user/cabinet.html', form=form, form_acc=form_acc, user=user, items=items, settings=is_cabinet_settings_available, usr=cabinet_owner, subscribed=(user in cabinet_owner.subscribers), now=now, tab=tab)
def create_preview(video_id, ext): video = Video.get(video_id=video_id) video_path = join_path(video.path, 'video.' + ext) video_clip = VideoFileClip(video_path) time = random() * video_clip.duration preview_path = join_path(video.path, 'preview.png') video_clip.save_frame(preview_path, time)
def videos_map(): videos_with_coords = [] user = cur_user() for video in Video.get(): if video.geotags: videos_with_coords.append(video) return render_template('videos_map.html', user=user, videos=videos_with_coords)
def main(): user = cur_user() sub_items = [] if user: subs = user.subscriptions for sub in subs: for video in sub.videos: sub_items.append(video) now = time = datetime.now(tz=None) video_pack = Video.get(need_geo=True) return render_template('main.html', user=user, items=video_pack[0], sub_items=sub_items, now=now, geo_items=json.dumps( [video.serialize() for video in video_pack[1]]))
def play(vid): video = Video.get(video_id=vid) if not video: abort = Aborter() return abort(404) user = cur_user() usr = User.get(login=video.user.login) if user and user not in video.viewers: video.add_viewer(user) likened = 0 if user in video.likes: likened = 1 if user in video.dislikes: likened = -1 return render_template('video_page.html', user=user, vid=vid, video=video, lkd=likened, usr=usr, subscribed=(user in usr.subscribers))
def standardize_video_extension(video_id, ext): video = Video.get(video_id=video_id) video_path = join_path(video.path, 'video.' + ext) video_clip = VideoFileClip(video_path) video_clip.write_videofile(join_path(video.path, 'video.mp4'))