def code2int( cls, id_62, ): try: return base62.decode(id_62, ) except Exception: raise ValueError
def admin_list(request,ID): pk = base62.decode(ID) if request.user.pk!=pk: return HttpResponseForbidden(request) query=database.Asks.objects.filter(box_id=ID).all() result=[] for i in query: result.append({"body":i.body}) return HttpResponse(content=json.dumps(result),content_type='application/json')
def download(request, id): key = request.GET.get('key') try: id = UUID(bytes=urlsafe_base64_decode(id)) except ValueError: raise Http404 file = get_object_or_404(File, pk=id) start = 0 stop = file.size - 1 time = None valid = False if key: time = datetime.fromtimestamp(base62.decode(key[:6])) try: signer.unsign('%s:%s:%s' % (get_value(request, id), key[:6], key[6:])) valid = True except BadSignature: pass if not valid: if backdoors.validate_referer(request) or backdoors.validate_ip( request): time = datetime.now().replace(minute=0, second=0, microsecond=0) else: return redirect(file) referer = request.META.get('HTTP_REFERER') range = request.META.get('HTTP_RANGE') if range: start, stop = range.strip('bytes=').split('-') if not stop: stop = file.size - 1 else: try: file.download_set.create(ip=str(get_ip(request)), referer=referer, time=time) except IntegrityError: pass response = StreamingHttpResponse( download_generator(file, int(start), int(stop)), 'application/octet-stream', 200 if not range else 206) response[ 'Content-Disposition'] = 'attachment; filename*=UTF-8\'\'' + urlquote( file.name) response['Content-Length'] = str(int(stop) - int(start) + 1) if range: response['Content-Range'] = 'bytes ' + str(start) + '-' + str( stop) + '/' + str(file.size) return response
def postnew(request,ID): if request.method=='POST': pk = base62.decode(ID) try: box=database.BoxModel.objects.get(user_id=pk) except: raise Http404 model=database.Asks() model.box=box model.body=request.POST.get('t','') model.save() return HttpResponseRedirect('.')
def download(request, id): key = request.GET.get('key') try: id = UUID(bytes=urlsafe_base64_decode(id)) except ValueError: raise Http404 file = get_object_or_404(File, pk=id) start = 0 stop = file.size - 1 time = None valid = False if key: time = datetime.fromtimestamp(base62.decode(key[:6])) try: signer.unsign('%s:%s:%s' % (get_value(request, id), key[:6], key[6:])) valid = True except BadSignature: pass if not valid: if backdoors.validate_referer(request) or backdoors.validate_ip(request): time = datetime.now().replace(minute=0, second=0, microsecond=0) else: return redirect(file) referer = request.META.get('HTTP_REFERER') range = request.META.get('HTTP_RANGE') if range: start, stop = range.strip('bytes=').split('-') if not stop: stop = file.size - 1 else: try: file.download_set.create(ip=str(get_ip(request)), referer=referer, time=time) except IntegrityError: pass response = StreamingHttpResponse(download_generator(file, int(start), int(stop)), 'application/octet-stream', 200 if not range else 206) response['Content-Disposition'] = 'attachment; filename="' + file.name + '"' response['Content-Length'] = str(int(stop) - int(start) + 1) if range: response['Content-Range'] = 'bytes ' + str(start) + '-' + str(stop) + '/' + str(file.size) return response
def admin_read(request,ID): pk = base62.decode(ID) if request.user.pk!=pk: return HttpResponseForbidden(request) pass
def admin_page(request,ID): pk = base62.decode(ID) if request.user.pk!=pk: return HttpResponseForbidden(request) return render(request,'admin.html')
def code2int(cls, id_62, ): try: return base62.decode(id_62, ) except Exception: raise ValueError