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: return 0 elif user == user_type.student: return 1 elif user == user_type.tutor: available = self.request.get('available',None) delete = self.request.get('delete',None) pages = self.request.get('vm_page',None) if available: vm_id = self.request.get('vm_id',None) video_material_management().make_available(int(vm_id)) if delete: vm_id = self.request.get('vm_id',None) vm_instance = video_material_management().get_video_material(int(vm_id)) v_instance = video_material_management().get_video(vm_instance) self.response.write(vm_instance.key()) self.response.write(v_instance.key()) video_material_management().remove(vm_instance.key(),v_instance.key()) sleep(0.1) return 2 else: return 3
def get(self): user = self.get_user_type() if user == user_type.visitor: self.redirect('/') return 0 elif user == user_type.student: student_instance = student_management().get_student(int(self.session['user-id'])) tutor = tutor_management().get_all_tutors()[0] subject = subject_management().get_subject_by_name('Programacion Orientada a Objetos') unit_id = self.request.get('unit_id',None) if unit_id: unit_id = int(unit_id) else: ##id de 1era unidad unit_id = 6348855016685568 page = self.request.get('page',0) try: int(page) page = int(page)-1 except ValueError: page = 0 if page < 1: page = 0 unit = unit_management().get_unit(unit_id) list_list_text_info = [] countent = {} list_counter = [] list_content = [] listi = [] list_all_videos = video_material_management().get_all_unit_available_videos(unit.key().id()) for t in student_instance.tutors_list: listi.extend(video_material_management().get_all_videos_material(t,subject.key(),page)) self.list_list_vm = video_material_management().get_list_video_material_of_subject(tutor.key(),page) list_vm = video_material_management().get_unit_available_videos(unit.key().id(),page) c=0 list_videos = [] total_text = 0 if list_vm: for index in range(len(list_vm)): vm = list_vm[index] video_instance = video_material_management().get_video(vm) vinfo = {} vinfo['id'] = vm.key().id() vinfo['able'] = vm.available vinfo['tutor'] = (tutor_management().get_tutor(vm.tutor.key().id())).first vinfo['topic'] = (topic_management().get_topic(vm.topic.key().id())).name vinfo['content'] = video_instance.content vinfo['number_views'] = video_instance.number_views list_videos.append(vinfo) index = index + 1 pages = int(ceil(len(list_all_videos)/10.)) if pages < 1: pages = 1 list_page = [None] * pages html = '' template_values={ "user":"******", "header_welcome":"", "header_tutor":"", "total_pages":len(list_page), "current_page":(page+1), "list_videos": list_videos, "unit_id": unit_id, "pages":list_page, "Titulo":"Gestion de Videos", "counter":list_counter, "html":html, "subject":subject.name, "student_name": student_instance.first } self.response.write(admin_video_template.render(template_values)) return 1 elif user == user_type.tutor: list_list_texts = [] tutor_id = self.session['user-id'] tutor_key = tutor_management().get_tutor(tutor_id).key() tutor_instance = tutor_management().get_tutor(tutor_id) subject = subject_management().get_subject_by_name('Programacion Orientada a Objetos') page = self.request.get('page',0) try: int(page) page = int(page)-1 except ValueError: page = 0 if page < 1: page = 0 index = 0 list_list_text_info = [] countent = {} list_counter = [] list_content = [] #self.list_list_vm = text_material_management().get_list_text_material_of_subject(tutor_key,pages) listi = video_material_management().get_all_videos_material(tutor_key,subject,page) list_vm = video_material_management().get_list_video_material_of_one_subject(tutor_key,subject.key(),page) c=0 list_videos = [] total_text = 0 if list_vm: for index in range(len(list_vm)): vm = list_vm[index] video_instance = video_material_management().get_video(vm) vinfo = {} vinfo['id'] = vm.key().id() vinfo['able'] = vm.available vinfo['tutor'] = (tutor_management().get_tutor(vm.tutor.key().id())).first vinfo['topic'] = (topic_management().get_topic(vm.topic.key().id())).name vinfo['content'] = video_instance.content vinfo['number_views'] = video_instance.number_views list_videos.append(vinfo) index = index + 1 pages = int(ceil(len(listi)/10.)) if pages < 1: pages = 1 list_page = [None] * pages template_values={ "user":"******", "header_welcome":"", "header_tutor":"", "list_videos": list_videos, "total_pages":len(list_page), "current_page":(page+1), "pages":list_page, "Titulo":"Gestion de Videos", "counter":list_counter, "subject":subject.name, "tutor_name": tutor_instance.first } self.response.write(admin_video_template.render(template_values)) return 2 else: admi_text_template_values = { } self.response.write(admi_text_template.render(template_values)) return 3
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 post(self): user = self.get_user_type() if user == user_type.visitor: self.redirect('/') return 0 elif user == user_type.student: page = self.request.get('vm_page',None) tutor_id = self.request.get('vm_tutor',None) subject_name = self.request.get('vm_subject') list_list_videos = [] index = 0 list_videos = [] enter = False if tutor_id: tutor_id = int(tutor_id) tutor_key = tutor_management().get_tutor(tutor_id).key() list_vm = video_material_management().get_tutor_available_videos(tutor_key,page) enter = True elif subject_name: subject_instance = subject_management().find_name(subject_name) list_vm = video_material_management().get_subject_available_videos(subject_instance.key(),page) enter = True if enter == True: for index in range(len(list_vm)): vm = list_vm[index] video_instance = video_material_management().get_video(vm) vinfo = {} vinfo['id'] = vm.key().id() if vm.available == True: vinfo['able'] = 'Deshabilitar' else: vinfo['able'] = 'Habilitar' vinfo['tutor'] = (tutor_management().get_tutor(vm.tutor.key().id())).first vinfo['topic'] = (topic_management().get_topic(vm.topic.key().id())).name vinfo['content'] = video_instance.content vinfo['number_views'] = video_instance.number_views list_videos.append(vinfo) html = '' for i in range(len(list_videos)): html +='\ \ <a class="videor" href="view_video?video_material_id='+str(list_videos[i]['id'])+'" alt="'+str(list_videos[i]['topic'])+'">\ <div class="video" id="'+str(list_videos[i]['id'])+'">\ <div class="bimg" style="background:url(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS67YRkacb2A7x0mniuG1SUXllu22UOKOGYfJwARDWeZl8SyZQpfg);background-size:cover;background-position:center;">\ <div class="views">\ <i class="fa fa-eye"></i> '+str(list_videos[i]['number_views'])+'\ </div>\ </div>\ <div class="about">\ <h2>'+str(list_videos[i]['topic'])+'</h2>\ <small>por '+str(list_videos[i]['tutor'])+'</small>\ </div>\ </div>\ </a> ' self.response.write(html) return 1 elif user == user_type.tutor: self.redirect('/home') return 2 else: self.redirect('/home') return 3
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('/')
def post(self): user = self.get_user_type() if user == user_type.visitor: return 0 elif user == user_type.student: return 1 elif user == user_type.tutor: available = self.request.get('available',None) page = self.request.get('vm_page',None) if available: vm_id = self.request.get('vm_id',None) video_material_management().make_available(int(vm_id)) if page: page = int(page) list_list_videos = [] tutor_id = self.session['user-id'] tutor_key = tutor_management().get_tutor(tutor_id).key() subject_instance = subject_management().find_name(self.request.get('vm_subject')) index = 0 list_videos = [] list_vm = video_material_management().get_list_video_material(tutor_key,subject_instance.key(),page) if list_vm: for index in range(len(list_vm)): vm = list_vm[index] video_instance = video_material_management().get_video(vm) vinfo = {} vinfo['id'] = vm.key().id() if vm.available == True: vinfo['able'] = '<i class="fa fa-pencil-square-o"></i> Deshabilitar' else: vinfo['able'] = '<i class="fa fa-pencil-square-o"></i> Habilitar' vinfo['tutor'] = (tutor_management().get_tutor(vm.tutor.key().id())).first vinfo['topic'] = (topic_management().get_topic(vm.topic.key().id())).name vinfo['content'] = video_instance.content vinfo['number_views'] = video_instance.number_views list_videos.append(vinfo) html = "" for v in list_videos: html += '\ \ <a class="videor" href="view_video?video_material_id='+str(v['id'])+'" alt="'+str(v['topic'])+'">\ <div class="video" id="'+str(v['id'])+'">\ <div class="bimg" style="background:url(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS67YRkacb2A7x0mniuG1SUXllu22UOKOGYfJwARDWeZl8SyZQpfg);background-size:cover;background-position:center;">\ <div class="remove" id="'+str(v['id'])+'">'+str(v['able'])+'</div>\ <div class="views">\ <i class="fa fa-eye"></i> '+str(v['number_views'])+'\ </div>\ </div>\ <div class="about">\ <h2>'+str(v['topic'])+'</h2>\ <small>por '+str(v['tutor'])+'</small>\ </div>\ </div>\ </a> ' self.response.write(html) return 2 else: return 3