def test_drawing_intersect(request): if request.method == 'POST': form = TestIntersectionForm(request.POST) if form.is_valid(): geom = geos.fromstr(form.cleaned_data['geometry']) org_scheme = form.cleaned_data['org_scheme'] format = form.cleaned_data['format'] geom.transform(settings.GEOMETRY_DB_SRID) if org_scheme == 'None': result = intersect_the_features(geom) if format == 'html': return render_to_response('generic_results.html', {'result': result}) elif format == 'csv': return build_csv_response(result, str(hash(geom))) elif format == 'json': return HttpResponse(json_encode(result), mimetype='text/json') else: osc = OrganizationScheme.objects.get(pk=org_scheme) result = osc.transformed_results(geom) if format == 'html': return render_to_response('transformed_results.html', {'result': use_sort_as_key(result)}) elif format == 'csv': return build_csv_response(result, str(hash(geom))) elif format == 'json': return HttpResponse(json_encode(result), mimetype='text/json') else: form = TestIntersectionForm() return render_to_response('polygon_form.html', {'form': form})
def test_drawing_intersect(request): if request.method == 'POST': form = TestIntersectionForm(request.POST) if form.is_valid(): geom = geos.fromstr(form.cleaned_data['geometry']) org_scheme = form.cleaned_data['org_scheme'] format = form.cleaned_data['format'] geom.transform(settings.GEOMETRY_DB_SRID) if org_scheme == 'None': result = intersect_the_features(geom) if format == 'html': return render_to_response('generic_results.html', {'result': result}) elif format == 'csv': return build_csv_response(result, str(hash(geom))) elif format == 'json': return HttpResponse(json_encode(result), mimetype='text/json') else: osc = OrganizationScheme.objects.get(pk=org_scheme) result = osc.transformed_results(geom) if format == 'html': return render_to_response( 'transformed_results.html', {'result': use_sort_as_key(result)}) elif format == 'csv': return build_csv_response(result, str(hash(geom))) elif format == 'json': return HttpResponse(json_encode(result), mimetype='text/json') else: form = TestIntersectionForm() return render_to_response('polygon_form.html', {'form': form})
def stat_data(request, key): skey = StatKey.objects.get(term=key[:16]) if not skey: return HttpResponse("no") data = StatPoint.objects.filter(statkey=skey).order_by('-created_at')[:1000] return HttpResponse(key + " = " + json_encode( [ (1000*mktime(d.created_at.timetuple()), d.value) for d in data ] ) + ";" )
def all_org_scheme_info(request): oscs = OrganizationScheme.objects.all() dict = {} for osc in oscs: subdict = osc.info dict[str(osc.pk)] = subdict return HttpResponse(json_encode(dict), mimetype='text/json')
def all_org_scheme_info(request): oscs = OrganizationScheme.objects.all() dict = {} for osc in oscs: subdict = osc.info dict[str(osc.pk)] = subdict return HttpResponse(json_encode(dict), mimetype='text/json')
def twdata(request, num): num = int(num) c = _db_cur() c.execute(""" select to_user_id, as_of_time, score from user_ranking where to_user_id = %s and as_of_time >= '2009-09-15' """,(num,)) data = [(1000 * mktime(d['as_of_time'].timetuple()), d['score']) for d in c] return HttpResponse( "d_%d = %s;" % (num, json_encode(data)))
def organized_intersection(request, org_scheme, format, geom_wkt): geom = geos.fromstr(geom_wkt) geom.transform(settings.GEOMETRY_DB_SRID) osc = OrganizationScheme.objects.get(pk=int(org_scheme)) result = osc.transformed_results(geom) if format == 'html': return render_to_response('transformed_results.html', {'result': use_sort_as_key(result)}) elif format == 'csv': return build_csv_response(result, str(hash(geom))) elif format == 'json': return HttpResponse(json_encode(result), mimetype='text/json')
def twletterdata(request, name): c = _db_cur() c.execute(""" select as_of,sum(score03) as score03, sum(score10) as score10, sum(score50) as score50 from """ + "scores_%s"%name.lower()[0] + """ where to_user = %s group by as_of """,(name.lower(),)) data = {'d03':[], 'd10':[], 'd50':[]} for d in c: data['d03'].append((1000 * mktime(d['as_of'].timetuple()), d['score03'])) data['d10'].append((1000 * mktime(d['as_of'].timetuple()), d['score10'])) data['d50'].append((1000 * mktime(d['as_of'].timetuple()), d['score50'])) return HttpResponse( "d_%s = %s;" % (name, json_encode(data)))
def organized_intersection(request, org_scheme, format, geom_wkt): geom = geos.fromstr(geom_wkt) geom.transform(settings.GEOMETRY_DB_SRID) osc = OrganizationScheme.objects.get(pk=int(org_scheme)) result = osc.transformed_results(geom) if format == 'html': return render_to_response('transformed_results.html', {'result': use_sort_as_key(result)}) elif format == 'csv': return build_csv_response(result, str(hash(geom))) elif format == 'json': return HttpResponse(json_encode(result), mimetype='text/json')
def powercentrality(request, plot_type, dt, maxnum=-1): if plot_type not in ('both', 'impact', 'indegree'): return HttpResponse("oops. both, indegree or impact pls") cur = _db_cur() users = [] # build a HUGE array consisting of tuple(deg,score03,username) for # every user # for L in string.digits: for L in letters: table_name = "indeg_" + L sql = """ select to_user, as_of, degcentral, tdegcentral from """ + table_name + """ where as_of = %s """ cur.execute(sql, dt) for row in cur: users.append((row['degcentral'], row['tdegcentral'], row['to_user'])) # now, sort and assign indexes if plot_type == 'both': indexes = ( ('degreecentrality',0), ('impactcentrality',1)) # doing both users.sort(key=lambda x:x[1], reverse=1) # sorted by impact!! else: idx = {'degree':0, 'impact':1}[plot_type] indexes = ( (plot_type,idx), ) users.sort(key=lambda x:x[idx], reverse=1) # sorted by indeg!! if maxnum != -1: users = users[:int(maxnum)] # truncate our data if requested plots = [] for label, idx in indexes: c = Counter() plots.append( { 'label': label, 'data': json_encode( [ (c.next(), u[idx]) for u in users] ), 'color': colors[idx], } ) return render_to_response('twitter/chart.html', {'plots':plots})
def account(request, screen_name, plot_type): if plot_type not in ('custom', 'all','impact5','tdegcen', 'degcen', 'impact', 'indegree'): return HttpResponse("oops. all, degcen, indegree or impact pls") start_date = end_date = None if request.GET.has_key('sd'): start_date = request.GET['sd'] if request.GET.has_key('ed'): end_date = request.GET['ed'] cur = _db_cur() table_name = "indeg_" + screen_name[0].lower() sql = """ select as_of, ifnull(deg,0) as deg, ifnull(score03,0) as score03, ifnull(score50,0) as score50, ifnull(degcentral,0) as degcentral, ifnull(tdegcentral,0) as tdegcentral from """ + table_name + """ where to_user = %s """ args = [screen_name] if start_date: sql += " and as_of >= %s " args.append( start_date ) if end_date: sql += " and as_of <= %s " args.append( end_date ) cur.execute(sql, args) # now, sort and assign indexes if plot_type == 'both': indexes = ( ('indegree',2), ('impact',1)) # doing both elif plot_type == 'impact5': indexes = ( ('score03',1), ('score50',5) ) elif plot_type == 'indegree': indexes = ( (plot_type,2), ) elif plot_type == 'impact': indexes = ( (plot_type,1), ) elif plot_type == 'degcen': indexes = ( (plot_type,3), ) elif plot_type == 'tdegcen': indexes = ( (plot_type,4), ) else: indexes = tuple() # data = [ (ctime(d['as_of']), d['score03'], d['deg']) for d in cur ] data = [ ( d['as_of'], d['score03'] or 0, d['deg'] or 0, d['degcentral'] or 0, d['tdegcentral'] or 0, d['score50'] or 0, ) for d in cur ] data.sort(key=lambda x:x[0]) # sorted by indeg!! data = fill_in_the_date_holes(data) plots = [] for label, idx in indexes: plots.append( { 'label': label, 'data': json_encode( [ (ctime(r[0]), r[idx]) for r in data] ), 'color': colors[idx-1], } ) return render_to_response( 'twitter/chart.html', { 'plots':plots, 'xaxis': '{ mode: "time" }' , } )
def org_scheme_pk_from_name(request, name): osc_pk = OrganizationScheme.objects.get(name=name).pk result = {'pk': osc_pk} return HttpResponse(json_encode(result), mimetype='text/json')
def org_scheme_info(request, org_id): osc = OrganizationScheme.objects.get(pk=org_id) subdict = osc.info return HttpResponse(json_encode(subdict), mimetype='text/json')
def org_scheme_pk_from_name(request, name): osc_pk = OrganizationScheme.objects.get(name=name).pk result = {'pk': osc_pk} return HttpResponse(json_encode(result), mimetype='text/json')
def org_scheme_info(request, org_id): osc = OrganizationScheme.objects.get(pk=org_id) subdict = osc.info return HttpResponse(json_encode(subdict), mimetype='text/json')