def dataquery_search(request): if request.method == 'GET': form = DataqueryForm() return render_to_response('dataquery.html', {'form': form}) elif request.method == 'POST': form = DataqueryForm(request.POST) if form.is_valid(): starttime = form.clean_data['starttime'] endtime = form.clean_data['endtime'] sitename = form.clean_data['sitename'] datatype = form.clean_data['datatype'] answer = django_query(starttime=starttime, endtime=endtime, sitename=sitename, datatype=datatype, format='txt') if answer: hr = HttpResponse(answer, mimetype=MIMETXT) else: hr = HttpResponse("No data for this interval.", mimetype=MIMETXT) return hr else: return HttpResponse("Form not valid. Try again.", mimetype=MIMETXT)
def dataquery_search(request): if request.method == 'GET': form = DataqueryForm() return render_to_response('dataquery.html', {'form' : form}) elif request.method == 'POST': form = DataqueryForm(request.POST) if form.is_valid(): starttime=form.cleaned_data['starttime'] endtime=form.cleaned_data['endtime'] sitename=form.cleaned_data['sitename'] datatype=form.cleaned_data['datatype'] fnstart=str(starttime).replace('-', '') fnstart=fnstart.replace(':', '') fnstart=fnstart.replace(' ', '-') fnend=str(endtime).replace('-', '') fnend=fnend.replace(':', '') fnend=fnend.replace(' ', '-') dlfilename="%s-%s-%s--%s" % ( sitename, datatype, fnstart, fnend ) answer = django_query( starttime=starttime, endtime=endtime, sitename=sitename, datatype=datatype, format='txt' ) if answer: if 'display' in request.POST.keys(): hr = HttpResponse(answer, mimetype=MIMETXT) elif 'download' in request.POST.keys(): hr = HttpResponse(answer, mimetype=MIMEDOWNLOAD) cdisp = 'attachment; filename="%s.txt"' % dlfilename hr['Content-disposition'] = str(cdisp) else: hr = HttpResponse("No data for this interval.", mimetype=MIMETXT) return hr else: return HttpResponse("Form not valid. Try again.", mimetype=MIMETXT)
def dataquery_search(request): if request.method == 'GET': form = DataqueryForm() return render_to_response('dataquery.html', {'form': form}) elif request.method == 'POST': form = DataqueryForm(request.POST) if form.is_valid(): starttime = form.clean_data['starttime'] endtime = form.clean_data['endtime'] sitename = form.clean_data['sitename'] format = form.clean_data['format'] datatype = form.clean_data['datatype'] if format == 'txt': answer = django_query(starttime=starttime, endtime=endtime, sitename=sitename, format=format, datatype=datatype) hr = HttpResponse(answer, mimetype=MIMETXT) return hr elif format == 'graph': # # Since rpy is just not working from within Django, we'll grab # the image via http:// and re-serve it. # import urllib2 width = "800" TFORMAT = "%Y-%m-%dT%H:%M:%S" url = "http://www.mariachi.stonybrook.edu/mariachi-ws/dataquery/query?site=%s&start=%s&end=%s&graph=1&width=%s" % ( sitename, starttime.strftime(TFORMAT), endtime.strftime(TFORMAT), width) opener = urllib2.build_opener() graphimage = urllib2.urlopen(url) graphdata = graphimage.read() #f = open("/tmp/graphimage.png", 'w') #f.write(graphdata) #f.close() hr = HttpResponse(graphdata, mimetype=MIMEPNG) return hr else: return HttpResponse("Form not valid. Try again.", mimetype=MIMETXT)
def dataquery_analysis(request): if request.method == 'GET': form = AnalysisForm() return render_to_response('analysis.html', {'form': form}) elif request.method == 'POST': #info = ','.join(dir(request.POST)) #info = "\n".join(request.POST.keys()) #return HttpResponse(info, mimetype=MIMETXT) answer = None form = AnalysisForm(request.POST) if form.is_valid(): form.clean_data = form.clean() starttime = form.clean_data['starttime'] endtime = form.clean_data['endtime'] sitename = form.clean_data['sitename'] format = form.clean_data['format'] datatype = form.clean_data['datatype'] filtertype = form.clean_data['filtertype'] interval = form.clean_data['interval'] fnstart = str(starttime).replace('-', '') fnstart = fnstart.replace(':', '') fnstart = fnstart.replace(' ', '-') fnend = str(endtime).replace('-', '') fnend = fnend.replace(':', '') fnend = fnend.replace(' ', '-') dlfilename = "%s-%s-%s--%s" % (sitename, datatype, fnstart, fnend) if format == 'txt': if filtertype == 'avg': # # Since rpy is just not working from within Django, we'll grab # the info via http:// and re-serve it. # import urllib2 TFORMAT = "%Y-%m-%dT%H:%M:%S" hostport = config.get('analysis', 'hostport') url = "http://%s/mariachi-ws/dataquery/analysis?site=%s&start=%s&end=%s&datatype=%s&interval=%d" % ( hostport, sitename, starttime.strftime(TFORMAT), endtime.strftime(TFORMAT), datatype, interval) opener = urllib2.build_opener() txtdata = urllib2.urlopen(url) answer = txtdata.read() elif filtertype == 'raw': answer = django_query(starttime=starttime, endtime=endtime, sitename=sitename, format=format, datatype=datatype) if answer: if 'display' in request.POST.keys(): hr = HttpResponse(answer, mimetype=MIMETXT) elif 'download' in request.POST.keys(): hr = HttpResponse(answer, mimetype=MIMEDOWNLOAD) # self.headers = {'Content-Type': mimetype} cdisp = 'attachment; filename=%s.txt' % dlfilename hr['Content-disposition'] = str(cdisp) else: hr = HttpResponse("No data for this interval.", mimetype=MIMETXT) return hr elif format == 'graph': # # Since rpy is just not working from within Django, we'll grab # the image via http:// and re-serve it. # import urllib2 TFORMAT = "%Y-%m-%dT%H:%M:%S" #hostport = request.environ['HTTP_HOST'] hostport = config.get('analysis', 'hostport') url = "http://%s/mariachi-ws/dataquery/query?site=%s&start=%s&end=%s&datatype=%s&graph=1" % ( hostport, sitename, starttime.strftime(TFORMAT), endtime.strftime(TFORMAT), datatype, ) #return HttpResponse("info: %s" % url, mimetype=MIMETXT) opener = urllib2.build_opener() graphimage = urllib2.urlopen(url) graphdata = graphimage.read() if 'display' in request.POST.keys(): hr = HttpResponse(graphdata, mimetype=MIMEPNG) elif 'download' in request.POST.keys(): hr = HttpResponse(graphdata, mimetype=MIMEDOWNLOAD) cdisp = 'attachment; filename="%s.png"' % dlfilename hr['Content-disposition'] = str(cdisp) return hr else: return HttpResponse("Form not valid. Try again.", mimetype=MIMETXT)
def dataquery_analysis(request): if request.method == 'GET': form = AnalysisForm() return render_to_response('analysis.html', {'form': form}) elif request.method == 'POST': form = AnalysisForm(request.POST) if form.is_valid(): starttime = form.clean_data['starttime'] endtime = form.clean_data['endtime'] sitename = form.clean_data['sitename'] format = form.clean_data['format'] datatype = form.clean_data['datatype'] filtertype = form.clean_data['filtertype'] interval = form.clean_data['interval'] if format == 'txt': if filtertype == 'avg': # # Since rpy is just not working from within Django, we'll grab # the image via http:// and re-serve it. # import urllib2 TFORMAT = "%Y-%m-%dT%H:%M:%S" hostport = "www.mariachi.stonybrook.edu" url = "http://%s/mariachi-ws/dataquery/analysis?site=%s&start=%s&end=%s&datatype=%s&interval=%d" % ( hostport, sitename, starttime.strftime(TFORMAT), endtime.strftime(TFORMAT), datatype, interval) opener = urllib2.build_opener() txtdata = urllib2.urlopen(url) data = txtdata.read() #(fd, graphfile) = mkstemp() #f = open("/tmp/graphimage.png", 'w') #f = open(graphfile, 'w') #f.write(graphdata) #f.close() hr = HttpResponse(data, mimetype=MIMETXT) return hr elif filtertype == 'raw': answer = django_query(starttime=starttime, endtime=endtime, sitename=sitename, format=format, datatype=datatype) if answer: hr = HttpResponse(answer, mimetype=MIMETXT) else: hr = HttpResponse("No data for this interval.", mimetype=MIMETXT) return hr elif format == 'graph': # # Since rpy is just not working from within Django, we'll grab # the image via http:// and re-serve it. # import urllib2 TFORMAT = "%Y-%m-%dT%H:%M:%S" #hostport = request.environ['HTTP_HOST'] hostport = "www.mariachi.stonybrook.edu" url = "http://%s/mariachi-ws/dataquery/query?site=%s&start=%s&end=%s&datatype=%s&graph=1" % ( hostport, sitename, starttime.strftime(TFORMAT), endtime.strftime(TFORMAT), datatype, ) #return HttpResponse("info: %s" % url, mimetype=MIMETXT) opener = urllib2.build_opener() graphimage = urllib2.urlopen(url) graphdata = graphimage.read() #(fd, graphfile) = mkstemp() #f = open("/tmp/graphimage.png", 'w') #f = open(graphfile, 'w') #f.write(graphdata) #f.close() hr = HttpResponse(graphdata, mimetype=MIMEPNG) return hr else: return HttpResponse("Form not valid. Try again.", mimetype=MIMETXT)