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')
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"