def upload(request): form = forms.torrentForm(request.POST,request.FILES) if request.user.username=="guest": return render_to_response('index.html', {'form': form, "message": "Guest's are not allowed to start download processes."}, context_instance=RequestContext(request)) if form.is_valid(): try: f = request.FILES['torfile'] except: f = "" if not f == "": raw = f.read() try: name = bencode.bdecode(raw)['info']['name'] length = bencode.bdecode(raw)['info']['length'] except KeyError: length = 0 for file in bencode.bdecode(raw)['info']['files']: length += file['length'] proc = Process.objects.create(tfile=f,name=name,length=length,ttype=0,progress=2) proc.save() if(os.path.isdir(to_canonical(name))): if not os.path.exists(to_canonical(name)): os.makedirs(to_canonical(name)) except: pass else: u = int(time.time()) l = request.POST['torlink'] try: data = urllib2.urlopen(l) buf = StringIO(data.read()) f = gzip.GzipFile(fileobj=buf) data = f.read() except: data = urllib2.urlopen(l) data = data.read() with open("/home/can/torrentor/torrents/%d.torrent"%u,"wb") as f: f.write(data) with open("/home/can/torrentor/torrents/%d.torrent"%u) as f: raw = f.read() name = bencode.bdecode(raw)['info']['name'] try: length = bencode.bdecode(raw)['info']['length'] except: length = 0 for file in bencode.bdecode(raw)['info']['files']: length += file['length'] proc = Process.objects.create(tlink=l,name=name,length=length,ttype=1,progress=2) proc.save() print to_canonical(name) if(os.path.isdir(to_canonical(name))): if not os.path.exists(to_canonical(name)): os.makedirs(to_canonical(name)) else: pass return HttpResponseRedirect("/")
def pre_upload(request): form = forms.torrentForm() return render_to_response('index.html', {'form': form}, context_instance=RequestContext(request))