示例#1
0
	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('/')
示例#2
0
    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
示例#3
0
    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
示例#4
0
    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')
示例#5
0
    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
示例#6
0
 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')
示例#7
0
	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('/')
示例#8
0
文件: Home.py 项目: tonaclaudia/TIPOO
	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