示例#1
0
文件: views.py 项目: hnphan/cerberus
def pacManRemove(request, package_id):
	try:
		package = LocalPackage.objects.get(pk=package_id)
		# go to package local path
		path = package.location
		shutil.rmtree(path)
		title = package.title
		package.delete()
		commands.sendSystemMessage(content = "Cerberus has successfully removed " + title)
	except:
		commands.sendSystemMessage(content = "An error occurred while removing " + title)
		return HttpResponse(simplejson.dumps({'status':500}), 'application/json')
	return HttpResponse(simplejson.dumps({'status':200}), 'application/json')
示例#2
0
文件: views.py 项目: hnphan/cerberus
def triggerDownload(package_id, package_object):
	try:
		this_package_url = PACKAGES_URL + package_id
		print this_package_url
		response = urllib2.urlopen(this_package_url)
		data = json.load(response)
		url = CERBERUS_SERVER + data['package_file']
		print "++++++++++++++++++++++++" + url

		if package_object==None:
			package_object = LocalPackage(pid=data['pid'],title=data['title'], developer=data['developer'], version=data['version'], status=0, location=TEMP_DIR, download_status=0, iconFile="")		
			package_object.save()

		req = urllib2.Request(url)

		downloaded_file = downloadChunks(url, package_object)
		# once finished downloading, send notification
		print "sending notification............................"
		commands.sendSystemMessage(content = "Cerberus has finished downloading " + package_object.title)
		print "Finished download. Start unzipping..." + systemsettings.LOCALPACKAGE_DIR
		package_object.status = 1
		package_object.save()

		# download and save icon the media root
		
		icon_url = CERBERUS_SERVER + data['square_icon']
		print("before download============================")
		dlfile(icon_url)
		print("before assigning name=================================")
		package_object.iconFile = os.path.basename(icon_url)
		print("before save=============================")
		package_object.save()

		filename = url.split('/')[-1].split('#')[0].split('?')[0]
		packageName = filename.split(".")[0]
		local_path = os.path.join(systemsettings.LOCALPACKAGE_DIR, packageName)	
		local_path = local_path.replace('\\', '/')
		unzip(os.path.join(TEMP_DIR,filename), local_path)
		print "Finished unzipping...."
		package_object.location = local_path
		package_object.status = 2 # change package status to "installed"
		package_object.save()
		commands.sendSystemMessage(content = "Cerberus has installed " + package_object.title)

		#message = Message(content="Cerberus has finished downloading " + package_object.title, timestamp = timezone.now(), seen= False)
		#message.save()
		#return render(request,'marketplace/download.html', {'package':data})					
	
	except Exception as e:
		print "Exception"