diff options
Diffstat (limited to 'gstudio/views/video.py')
-rw-r--r-- | gstudio/views/video.py | 110 |
1 files changed, 85 insertions, 25 deletions
diff --git a/gstudio/views/video.py b/gstudio/views/video.py index 660bf06..668e77b 100644 --- a/gstudio/views/video.py +++ b/gstudio/views/video.py @@ -13,8 +13,8 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. - - +#!/usr/bin/python +import time; from django.http import HttpResponse from django.shortcuts import render_to_response import ox @@ -22,43 +22,68 @@ import os from gstudio.models import * from objectapp.models import * from django.template import RequestContext +from django.views.generic.list_detail import object_list from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from demo.settings import * from gstudio.methods import * +from django.contrib.auth import authenticate def video(request): api=ox.api.API("http://wetube.gnowledge.org/api") p=Objecttype.objects.get(title="Video") q=p.get_nbh['contains_members'] - api.signin({'username':'nero','password':'nihar'}) + sd = request.user + message = '' + sd = str(sd) + password = request.POST.get("upload","") + content= request.POST.get("contenttext","") if request.method == 'POST': - clip = request.FILES.getlist("clip[]","") + clip = request.FILES.get("clip","") + content= request.POST.get("contenttext","") svid = request.POST.get("svid","") sub1 = request.POST.get("norm","") sub2 = request.POST.get("spe","") rating = request.POST.get("star1","") vidid = request.POST.get("vidid","") user = request.POST.get("user","") + userpassword = request.POST.get("userpassword","") + useremail = request.POST.get("useremail","") sub3 = request.POST.get("mydropdown","") favid=request.POST.get("favid","") favusr=request.POST.get("favusr","") fav=request.POST.get("fav","") full=request.POST.get("full","") + author=request.POST.get("authorname","") + date = request.POST.get("datename","") + rate = request.POST.get("ratename","") + contentname = request.POST.get("contentname","") + mapname = request.POST.get("mapname","") + wename = request.POST.get("wename","") + titlename = request.POST.get("titlename","") + password = request.POST.get("upload","") + addtags = request.POST.get("addtags","") + texttags = request.POST.get("texttags","") + + if rate == '0': + rate = 'No rating yet' + else : + rate = rate + if full!="" : - variables= RequestContext(request,{'id':full}) + i=Gbobject.objects.get(id=vidid) + variables= RequestContext(request,{'id':full,'postedby':author,'date':date,'rateby':rate,'map':mapname,'we':wename,'vidid':vidid ,'titlename':titlename,'contentname':contentname,'video':i}) template="gstudio/transcript.html" return render_to_response(template,variables) if fav != "" : list1=[] - t=Gbobject.objects.get(title=user) + t=Gbobject.objects.get(title=user+"video") for each in t.get_nbh['has_favourite']: d=each.right_subject_id x=Gbobject.objects.get(id=d) list1.append(x) - variables = RequestContext(request,{'vids':list1,'val':svid}) + variables = RequestContext(request,{'vids':list1,'val':svid,'fav':fav}) template = "gstudio/video.html" return render_to_response(template, variables) - if rating : rate_it(int(vidid),request,int(rating)) @@ -66,18 +91,18 @@ def video(request): e=0 r = Objecttype.objects.get(title="user") for each in r.get_nbh['contains_members']: - if favusr == each.title: - e=1 + if favusr+"video" == each.title: + e=1 if e==0 : - t=Gbobject() - t.title=favusr - t.slug=favusr + t=Gbobject() + t.title=favusr+"video" + t.slug=favusr+"video" t.content=' ' t.status=2 t.save() t.objecttypes.add(Objecttype.objects.get(title="user")) t.save() - t=Gbobject.objects.get(title=favusr) + t=Gbobject.objects.get(title=favusr+"video") rel=Relation() rt=Relationtype.objects.get(title="has_favourite") rel.relationtype_id=rt.id @@ -86,9 +111,18 @@ def video(request): rel.right_subject_id=f1.id rel.save() t.save() + + + if addtags != "": + i=Gbobject.objects.get(id=vidid) + i.tags = i.tags+ ","+str(texttags) + i.save() + + if clip != "": - api.signup({'username':user,'password':'wetube'}) - save_file(clip) + userauth = authenticate(username=user, password=password) + api.signup({'username':user,'password':password,'email':useremail}) + save_file(clip,user) clipname = clip._get_name() i=0 dirname = "" @@ -96,16 +130,20 @@ def video(request): dirname = dirname + clipname[i] i=i+1 y=str(dirname) + x=str(clipname[0]).upper() + CreateConfig(user) + # os.system("pandora_client config") + os.system("pandora_client add_volume "+ user+" "+MEDIA_ROOTNEW+"/"+user ) os.system("pandora_client scan") os.system("pandora_client sync") - os.system("pandora_client upload") + os.system("pandora_client upload") wclip= api.find({'sort': [{'key': 'title','operator': '+'}],'query': {'conditions': [{'key': 'title','value': y,'operator': '='}],'operator': '&'},'keys': ['id', 'title','user','duration','sourcedescription','created'],'range': [0,100]}) for each in wclip['data']['items']: - m=Gbobject() + m=Gbobject() m.title=each['title'].lower() m.rurl="http://wetube.gnowledge.org/"+each['id']+'/480p.webm' m.slug=each['id'] - m.content=' ' + m.content=content m.status=2 m.save() m.objecttypes.add(Objecttype.objects.get(id=p.id)) @@ -143,9 +181,13 @@ def video(request): a4.svalue=final a4.save() m.save() + + + if sub3 != "": if svid != "": if sub2 == "": + vidon = Objecttype.objects.get(title="Video") vido_new = vidon.get_nbh['contains_members'] vido = vido_new.filter(title__contains=svid) @@ -174,9 +216,10 @@ def video(request): vido=vido_new.order_by(sub3) else: vido=sort_video(vido_new) - variables = RequestContext(request,{'vids':vido,'val':svid}) + variables = RequestContext(request,{'vids':vido,'val':svid }) template = "gstudio/video.html" return render_to_response(template, variables) + api.signin({'username': sd,'password':password}) r= api.find({'sort': [{'key': 'title','operator': '+'}],'query': {'conditions': [{'key': 'title','value': '','operator': ''}],'operator': '&'},'keys': ['id', 'title','user','created','duration','sourcedescription'],'range': [0,100]}) s=r['data']['items'] for each in s: @@ -189,7 +232,7 @@ def video(request): m.title=each['title'].lower() m.rurl="http://wetube.gnowledge.org/"+each['id']+'/480p.webm' m.slug=each['id'] - m.content=' ' + m.content=content m.status=2 m.save() m.objecttypes.add(Objecttype.objects.get(id=p.id)) @@ -233,9 +276,9 @@ def video(request): template = "gstudio/video.html" return render_to_response(template, variables) -def save_file(file, path=""): +def save_file(file, user,path=""): filename = file._get_name() - i=0 + i=0 dirname = "" while filename[i] != ".": dirname = dirname + filename[i] @@ -248,11 +291,16 @@ def save_file(file, path=""): z=z+'\ ' else: z=z+each1 - os.system("mkdir "+MEDIA_ROOTNEW+"/"+x+"/"+z) - fd = open('%s/%s/%s/%s' % (MEDIA_ROOTNEW, str(filename[0]).upper(), str(dirname), str(path) + str(filename)), 'wb') + fileuser = str(user) + os.system("mkdir -p "+ MEDIA_ROOTNEW+"/"+fileuser+"/"+x+"/"+z) + fd = open('%s/%s/%s/%s/%s' % (MEDIA_ROOTNEW,str(fileuser), str(filename[0]).upper(), str(dirname), str(path) + str(filename)), 'wb') for chunk in file.chunks(): fd.write(chunk) fd.close() + return + + + def sort_video(video): a = [] @@ -271,3 +319,15 @@ def sort_video(video): a[min] = temp i = i+1 return a + + + +def CreateConfig(user): + myfile = open(VIDEO_PANDORA_URL,'w') + myfile = open(VIDEO_PANDORA_URL,'a') + myfile.write('{ \n "username":"'+user+'", \n "url":"http://wetube.gnowledge.org/api/",\n"cache": "~/.ox/client.sqlite",\n"media-cache": "~/.ox/media",\n"volumes":{},\n"password":"wetube"\n }') + myfile.close() + + + + |