Example #1
0
def collectionsOverview():

	# get username from session
	username = session['username']
	# get objects
	PIDs = jobs.getSelPIDs()

	object_package = {}

	# get collection objects
	'''
	This can be improved
	'''
	riquery = fedora_handle.risearch.get_subjects(predicate="info:fedora/fedora-system:def/relations-external#hasContentModel", object="info:fedora/CM:Collection")
	collections = list(riquery)

	# assemble sizes
	object_package['coll_size_dict'] = {}
	for collection in collections:
		print "Working on",collection
		results = solr_handle.search(**{ "q":"rels_isMemberOfCollection:"+collection.replace(":","\:"), "stats":"true", "stats.field":"obj_size_i", "rows":0 })
		print results.stats

		if results != None and results.total_results > 0 and results.stats['obj_size_i'] != None:			
			collection_obj_sum = results.stats['obj_size_i']['sum']					
			object_package['coll_size_dict'][collection] = (collection_obj_sum,utilities.sizeof_fmt(collection_obj_sum),results.total_results)

	# print object_package['coll_size_dict']
	object_package['coll_size_dict'] = json.dumps(object_package['coll_size_dict'])
		
	return render_template("collectionsOverview.html", object_package=object_package)
Example #2
0
def selObjsOverview():	
	
	# get username from session
	username = session['username']	
	PIDs = jobs.getSelPIDs()

	# get objects size dictionary
	'''
	{
	    labels: ["January", "February", "March", "April", "May", "June", "July"],
	    datasets: [
	        {
	            label: "My First dataset",
	            fillColor: "rgba(220,220,220,0.5)",
	            strokeColor: "rgba(220,220,220,0.8)",
	            highlightFill: "rgba(220,220,220,0.75)",
	            highlightStroke: "rgba(220,220,220,1)",
	            data: [65, 59, 80, 81, 56, 55, 40]
	        },
	        {
	            label: "My Second dataset",
	            fillColor: "rgba(151,187,205,0.5)",
	            strokeColor: "rgba(151,187,205,0.8)",
	            highlightFill: "rgba(151,187,205,0.75)",
	            highlightStroke: "rgba(151,187,205,1)",
	            data: [28, 48, 40, 19, 86, 27, 90]
	        }
	    ]
	}
	'''

	# WSUDOR ContentType approach
		# slow, but rich
	# tup_list = []
	# for each in PIDs:
	# 	obj_handle = WSUDOR_ContentTypes.WSUDOR_Object(each)
	# 	tup_list.append( ( obj_handle.SolrDoc.asDictionary()['obj_size_i'], each ) )
	
	# print tup_list


	# Solr based approach
		# fast, not as rich
	# results = solr_handle.search(**{ "q":"*:*", "fq":["obj_size_i:*","id:*RENCEN*"], "stats":"true", "stats.field":"obj_size_i", "rows":0 })








	# pass the current PIDs to page as list	
	return render_template("selObjsOverview.html",username=username, localConfig=localConfig)
Example #3
0
def userPage():
	# set username in session
	username = session['username']

	# info to render page
	userData = {}
	userData['username'] = username

	# get selected PIDs to show user
	userData['selected_objects'] = len(jobs.getSelPIDs())

	return render_template("userPage.html",userData=userData)	
Example #4
0
def fireTask(task_name):

	username = session['username']

	# create job_package	
	job_package = {		
		"username":username,
		"form_data":request.values,
		"job_type":"PID_iterate"			
	}

	# pass along binary uploaded data if included in job task
	if 'upload' in request.files and request.files['upload'].filename != '':
		job_package['upload_data'] = request.files['upload'].read()

	task_inputs_key = username+"_"+task_name+"_"+str(int(time.time()))
	print "Assigning to Redis-Cached key:",task_inputs_key
	redisHandles.r_job_handle.set(task_inputs_key,pickle.dumps(job_package))

	# get PIDs to confirm
	PIDs = jobs.getSelPIDs()		

	return render_template("objConfirm.html",task_name=task_name,task_inputs_key=task_inputs_key,PIDs=PIDs,username=username,localConfig=localConfig)