def update_number_views(self,video_material_id): video_material_instance = self.get_video_material() if video_material_instance: video_instance = self.get_video(video_material_instance) video_management().update_number_views(video_instance) return True return False
def update_number_views(self, video_material_id): video_material_instance = self.get_video_material() if video_material_instance: video_instance = self.get_video(video_material_instance) video_management().update_number_views(video_instance) return True return False
def post(self): user = self.get_user_type() if user == user_type.visitor: self.redirect('/') elif user == user_type.student: self.redirect('/') elif user == user_type.tutor: if not 'video_material_id' in self.session: self.session['video_material_id'] = None if not 'extension' in self.session: self.session['extension'] = None if not 'size' in self.session: self.session['size'] = None title = self.request.get('title',None) description = self.request.get('description',None) level = int(self.request.get('level',None)) unit_id = self.request.get('unit',None) subject = subject_management().get_subject_by_name('Programacion Orientada a Objetos') if unit_id: unit_id = int(unit_id) topic = title tags = self.request.get_all('tags',None) tutor_key = tutor_management().get_tutor(self.session['user-id']).key() video_material_id = self.request.get('video_material_id',None) if video_material_id: video_material_id = int(video_material_id) video_material_instance = video_material_management().get_video_material(video_material_id) topic_ins = topic_management().get_topic(video_material_instance.topic.key().id()) topic_management().modify(subject.key(),topic_ins.key(),topic) video_ins = video_management().get_video(video_material_instance.video.key().id()) video_management().modify(video_ins.key(),description,video_ins.size) video_material_management().modify(video_material_instance.key(),video_ins.key(),level,unit_id,subject.key(),topic_ins.key(),tags,tutor_key) else: size = self.session['size'] self.session['size'] = None size = int(size) duration = self.request.get('duration',None) ext_format = self.session['extension'] #size = self.request.get('size',None) topic_key = topic_management().add(subject.key(),topic) video_id = int(self.session['video-id']) self.session['video-id'] = None video_instance = video_management().get_video(video_id) video_key = video_management().add(video_instance.key(),description,duration,ext_format,size,0) video_material_management().add(video_key,level,unit_id,subject.key(),topic_key,tags,tutor_key) sleep(0.1) self.redirect('/admin_video') else: self.redirect('/')
def post(self): user = self.get_user_type() if user == user_type.visitor: self.redirect('/') elif user == user_type.student: self.redirect('/') elif user == user_type.tutor: upload_video = self.get_uploads()[0] blob_info = upload_video video_properties = blob_info.properties() video_info = blob_info.get(blob_info.key()) video_name = video_info.filename extension = os.path.splitext(video_name)[-1] extension = extension[1:] self.session['extension'] = extension self.session['name_file'] = video_name self.session['size'] = video_info.size video_format_allowed = ['mp4','wmv','mkv','ogg','webm'] if extension in video_format_allowed: video_instance = video_management().add_content(blob_info) self.session['video-id'] = video_instance.id() self.response.write('{"status":"success"}') else: self.response.write('{"status":"error"}') else: self.redirect('/')
def get_video(self,video_material_instance): return video_management().get_video(video_material_instance.video.key().id())
def get_number_views(self,video_material_id): video_material_instance = self.get_video_material(video_material_id) if video_material_instance: video_instance = self.get_video(video_material_instance) return video_management().get_number_views(video_instance) return None
def get(self): user = self.get_user_type() if user == user_type.visitor: self.redirect('/') elif user == user_type.student: video_material_id = self.request.get('video_material_id',None) if not video_material_id: self.redirect('/explorer') video_instance = None video_material_instance = None video_material_id = int(video_material_id) if video_material_id: video_material_instance = video_material_management().get_video_material(video_material_id) if not video_material_instance: self.redirect('/explorer') else: student_instance = student_management().find_key(self.session['user-id']) video_instance = video_material_management().get_video(video_material_instance) video_management().update_number_views(video_instance) list_tag_video_supported = ['mkv','mp4'] list_tag_embedded_supported = ['wmv','mov','mpg','avi'] #list_tag_object_supported = ['swf'] vformat = video_instance.ext_format vinfo = {} vinfo['format'] = vformat vinfo['tutor'] = (tutor_management().get_tutor(video_material_instance.tutor.key().id())).first vinfo['topic'] = (topic_management().get_topic(video_material_instance.topic.key().id())).name vinfo['content'] = video_instance.content vinfo['subject'] = (subject_management().get_subject(video_material_instance.subject.key().id())).name vinfo['description'] = video_instance.description vinfo['tags'] = video_material_instance.tags template_values={ "user":"******", "header_welcome":"", "header_tutor":"", "vinfo":vinfo, 'embbeded_supported':list_tag_embedded_supported, 'video_supported':list_tag_video_supported, "student_name":student_instance.first #"object_supported":list_tag_object_supported } self.response.write(viewvideo_template.render(template_values)) elif user == user_type.tutor: video_material_id = int(self.request.get('video_material_id', None)) video_instance = None video_material_instance = None if video_material_id: video_material_instance = video_material_management().get_video_material(video_material_id) if not video_material_instance: self.redirect('/home') else: tutor_id = self.session['user-id'] tutor_key = tutor_management().get_tutor(tutor_id).key() tutor_instance = tutor_management().get_tutor(tutor_id) video_instance = video_material_management().get_video(video_material_instance) list_video_supported = ['mp4','wmv','mkv','ogg','webm'] vformat = video_instance.ext_format #list_tag_object_supported = ['swf'] vinfo = {} vinfo['format'] = vformat vinfo['tutor'] = (tutor_management().get_tutor(video_material_instance.tutor.key().id())).first vinfo['topic'] = (topic_management().get_topic(video_material_instance.topic.key().id())).name vinfo['content'] = video_instance.content vinfo['subject'] = (subject_management().get_subject(video_material_instance.subject.key().id())).name vinfo['description'] = video_instance.description vinfo['tags'] = video_material_instance.tags #blob_info = BlobInfo.get(video_instance.content.key()) template_values={ "user":"******", "header_welcome":"", "header_tutor":"", "vinfo":vinfo, "tutor_name": tutor_instance.first, #"object_supported":list_tag_object_supported } #self.response.headers['Content-Type'] = 'video/avi' self.response.write(viewvideo_template.render(template_values)) else: self.redirect('/home')
def get_video(self, video_material_instance): return video_management().get_video( video_material_instance.video.key().id())
def get_number_views(self, video_material_id): video_material_instance = self.get_video_material(video_material_id) if video_material_instance: video_instance = self.get_video(video_material_instance) return video_management().get_number_views(video_instance) return None
def get(self): user = self.get_user_type() if user == user_type.visitor: self.redirect('/') elif user == user_type.student: video_material_id = self.request.get('video_material_id', None) if not video_material_id: self.redirect('/explorer') video_instance = None video_material_instance = None video_material_id = int(video_material_id) if video_material_id: video_material_instance = video_material_management( ).get_video_material(video_material_id) if not video_material_instance: self.redirect('/explorer') else: student_instance = student_management().find_key( self.session['user-id']) video_instance = video_material_management().get_video( video_material_instance) video_management().update_number_views(video_instance) list_tag_video_supported = ['mkv', 'mp4'] list_tag_embedded_supported = ['wmv', 'mov', 'mpg', 'avi'] #list_tag_object_supported = ['swf'] vformat = video_instance.ext_format vinfo = {} vinfo['format'] = vformat vinfo['tutor'] = (tutor_management().get_tutor( video_material_instance.tutor.key().id())).first vinfo['topic'] = (topic_management().get_topic( video_material_instance.topic.key().id())).name vinfo['content'] = video_instance.content vinfo['subject'] = (subject_management().get_subject( video_material_instance.subject.key().id())).name vinfo['description'] = video_instance.description vinfo['tags'] = video_material_instance.tags template_values = { "user": "******", "header_welcome": "", "header_tutor": "", "vinfo": vinfo, 'embbeded_supported': list_tag_embedded_supported, 'video_supported': list_tag_video_supported, "student_name": student_instance.first #"object_supported":list_tag_object_supported } self.response.write(viewvideo_template.render(template_values)) elif user == user_type.tutor: video_material_id = int(self.request.get('video_material_id', None)) video_instance = None video_material_instance = None if video_material_id: video_material_instance = video_material_management( ).get_video_material(video_material_id) if not video_material_instance: self.redirect('/home') else: tutor_id = self.session['user-id'] tutor_key = tutor_management().get_tutor(tutor_id).key() tutor_instance = tutor_management().get_tutor(tutor_id) video_instance = video_material_management().get_video( video_material_instance) list_video_supported = ['mp4', 'wmv', 'mkv', 'ogg', 'webm'] vformat = video_instance.ext_format #list_tag_object_supported = ['swf'] vinfo = {} vinfo['format'] = vformat vinfo['tutor'] = (tutor_management().get_tutor( video_material_instance.tutor.key().id())).first vinfo['topic'] = (topic_management().get_topic( video_material_instance.topic.key().id())).name vinfo['content'] = video_instance.content vinfo['subject'] = (subject_management().get_subject( video_material_instance.subject.key().id())).name vinfo['description'] = video_instance.description vinfo['tags'] = video_material_instance.tags #blob_info = BlobInfo.get(video_instance.content.key()) template_values = { "user": "******", "header_welcome": "", "header_tutor": "", "vinfo": vinfo, "tutor_name": tutor_instance.first, #"object_supported":list_tag_object_supported } #self.response.headers['Content-Type'] = 'video/avi' self.response.write(viewvideo_template.render(template_values)) else: self.redirect('/home')
def get(self): user = self.get_user_type() if user == user_type.visitor: self.redirect('/') elif user == user_type.student: if not 'video-id' in self.session: self.session['video-id'] = None video_content = '' if self.session['video-id'] == None: self.redirect('/home') try: video_id = int(self.session['video-id']) video_instance = video_management().get_video(video_id) video_content = video_instance.content except ValueError: video_content = '' except TypeError: video_id = 0 template_values={ "user":"******", "header_welcome":"", "header_user":"", "edit":False, "video_content":video_content } self.response.write(datavideo_template.render(template_values)) elif user == user_type.tutor: video_material_id = self.request.get('video_material_id',None) if not 'video-id' in self.session: self.session['video-id'] = None if not 'name_file' in self.session: self.session['name_file'] = None if not 'extension' in self.session: self.session['extension'] = None if self.session['video-id'] == None and self.session['name_file'] == None and video_material_id is None: self.redirect('/home') video_format_allowed = ['mp4','wmv','mkv','ogg','webm'] if not self.session['extension'] in video_format_allowed and video_material_id is None: self.redirect('/upload_video') tutor_id = self.session['user-id'] tutor_key = tutor_management().get_tutor(tutor_id).key() tutor_instance = tutor_management().get_tutor(tutor_id) if video_material_id: video_material_id = int(video_material_id) video_material_instance = video_material_management().get_video_material(video_material_id) video_instance = video_material_management().get_video(video_material_instance) vinfo = {} vinfo['topic'] = video_material_instance.topic vinfo['description'] = video_instance.description vinfo['level'] = video_material_instance.level vinfo['tags'] = video_material_instance.tags video_content = video_instance.content l_u=[] sub = subject_management().get_subject_by_name('Programacion Orientada a Objetos') list_unit = unit_management().get_all_units_of_subject(sub.key()) for u in list_unit: _u = {} _u['name'] = u.name _u['id'] = u.key().id() l_u.append(_u) template_values = { "user":"******", "vinfo":vinfo, "video_content":video_content, "list_unit":l_u, "name_file":self.session['name_file'], "edit":True, "tutor_name": tutor_instance.first, "video_material_id":video_material_id } else: video_content = '' l_s = [] l_u=[] try: video_id = int(self.session['video-id']) video_instance = video_management().get_video(video_id) video_content = video_instance.content except ValueError: video_content = '' except TypeError: video_id = 0 sub = subject_management().get_subject_by_name('Programacion Orientada a Objetos') list_unit = unit_management().get_all_units_of_subject(sub.key()) for u in list_unit: _u = {} _u['name'] = u.name _u['id'] = u.key().id() l_u.append(_u) template_values={ "user":"******", "header_welcome":"", "header_tutor":"", "video_content":video_content, "list_unit":l_u, "name_file":self.session['name_file'], "tutor_name": tutor_instance.first, "video_material_id":"", } self.response.write(datavideo_template.render(template_values)) else: self.redirect('/')