コード例 #1
0
ファイル: deployFilters.py プロジェクト: Rex--/Handle
	def Execute(self, msg):
		if FolderApi.check_md5('servers/%s/craftbukkit.jar'%msg.name, msg.package.craftbukkit.md5):
			passed = True
			for name, plugin in msg.package.plugins.iteritems():
				if not FolderApi.check_md5('servers/%s/plugins/%s.jar'%(msg.name, name), plugin.md5):
					passed = False
			if passed:
				return msg
			else:
				msg.StopProcessing = True
				msg.error = 'FileCheck -FAILED-'
				return msg
コード例 #2
0
ファイル: deployFilters.py プロジェクト: Rex--/Handle
	def UpdateExistingDeploy(server):
		if not FolderApi.check_md5('servers/%s/craftbukkit.jar'%server.name, server.package.craftbukkit.md5):
			module_logger.debug('Craftbukkit check -FAILED- Copying: %s'%server.package.craftbukkit.path)
			try:
				os.remove('servers/%s/craftbukkit.jar'%server.name)
			except OSError:
				pass
			shutil.copyfile(server.package.craftbukkit.path, 'servers/%s/craftbukkit.jar'%server.name)
		for name, plugin in server.package.plugins.iteritems():
			if not FolderApi.check_md5('servers/%s/plugins/%s.jar'%(server.name, name), plugin.md5):
				module_logger.debug('Check: %s -FAILED- Copying: %s'%(name, plugin.path))
				try:
					os.remove('servers/%s/plugins/%s.jar'%(server.name, name))
				except OSError:
					pass
				shutil.copyfile(plugin.path, 'servers/%s/plugins/%s.jar'%(server.name, name))
コード例 #3
0
ファイル: constructFilters.py プロジェクト: Rex--/Handle
	def Execute(self, msg):
		if msg.download:
			url = 'http://dl.bukkit.org' + msg.craftbukkit.url
			filename = 'jars/craftbukkit-%s.jar'%msg.craftbukkit.version.replace('.','')
			module_logger.debug('Downloading %s to %s'%(url, filename))
			FolderApi.dl_file(url, filename, self.callback)
			if FolderApi.check_md5(filename, msg.craftbukkit.md5):
				msg.craftbukkit.path = filename
		delattr(msg, 'download')
		return msg
コード例 #4
0
 def Execute(self, msg):
     if msg.download:
         url = 'http://dl.bukkit.org' + msg.craftbukkit.url
         filename = 'jars/craftbukkit-%s.jar' % msg.craftbukkit.version.replace(
             '.', '')
         module_logger.debug('Downloading %s to %s' % (url, filename))
         FolderApi.dl_file(url, filename, self.callback)
         if FolderApi.check_md5(filename, msg.craftbukkit.md5):
             msg.craftbukkit.path = filename
     delattr(msg, 'download')
     return msg
コード例 #5
0
ファイル: deployFilters.py プロジェクト: Rex--/Handle
	def Execute(self, msg):
		pkg = msg.package
		module_logger.debug('Checking Craftbukkit')
		if FolderApi.check_md5(pkg.craftbukkit.path, pkg.craftbukkit.md5):
			module_logger.debug('Craftbukkit Check PASSED - Checking Plugins')
			passed = True
			for name, plugin in pkg.plugins.iteritems():
				module_logger.debug('Checking %s'%name)
				if not FolderApi.check_md5(plugin.path, plugin.md5):
					module_logger.debug('%s Hash Check FAILED'%name)
					passed = False
					msg.error = 'PkgVerify -FAILED- %s Check Failed'%name
				else:
					module_logger.debug('%s Hash Check PASSED'%name)
			if not passed:
				msg.StopProcessing = True
		else:
			module_logger.debug('CraftBukkit Check FAILED')
			msg.StopProcessing = True
			msg.error = 'PkgVerify -FAILED- Craftbukkit Check Failed'
		return msg
コード例 #6
0
ファイル: constructFilters.py プロジェクト: Rex--/Handle
	def Execute(self, msg):
		module_logger.debug('Downloading Plugins')
		for plugin in msg.plugins:
			file = plugin+str(FolderApi.convert_ver_to_float(msg.craftbukkit.version, whole=True))
			deets = Dev_Bukkit.find_compat(plugin, msg.cb_version)
			module_logger.debug('Checking for Existing: %s'%plugin)
			existing = FolderApi.check_for_existing('jars/', file, deets[1])
			module_logger.debug('Check Returned: %s' %str(existing))
			if not existing == False:
				module_logger.debug('Match Found: %s'%existing)
				msg.plugins[plugin] = package.Plugin(existing, plugin, deets[1])
			else:
				module_logger.debug('Downloading: %s'%plugin)
				filename = 'jars/%s.jar'%(file)
				FolderApi.dl_file(deets[0], filename, self.callback)
				if FolderApi.check_md5(filename, deets[1]):
					msg.plugins[plugin] = package.Plugin(filename, plugin, deets[1])
					module_logger.debug('Finished downloading %s'%plugin)
		return msg
			
コード例 #7
0
ファイル: deployFilters.py プロジェクト: Rex--/Handle
	def DeployConfig(server):
		files = path.path('config/%s/'%server.config).walkfiles()
		header = len(str(path.path('config/%s/'%server.config)))
		configfiles = {}
		for file in files:
			md5 = DeployApi.gen_md5(str(file))
			key = file[header:]
			configfiles[key] = md5
			
		for file, md5 in configfiles.iteritems():
			if not FolderApi.check_md5('servers/%s/%s'%(server.name, file), md5):
				try:
					os.remove('servers/%s/%s'%(server.name, file))
				except OSError:
					pass
				try:
					shutil.copyfile('config/%s/%s'%(server.config, file), 'servers/%s/%s'%(server.name, file))
				except IOError:
					folder = file[:file.rfind('/')]
					folder = 'servers/%s/%s'%(server.name,folder)
					os.makedirs(folder)
					shutil.copyfile('config/%s/%s'%(server.config, file), 'servers/%s/%s'%(server.name, file))
コード例 #8
0
 def Execute(self, msg):
     module_logger.debug('Downloading Plugins')
     for plugin in msg.plugins:
         file = plugin + str(
             FolderApi.convert_ver_to_float(msg.craftbukkit.version,
                                            whole=True))
         deets = Dev_Bukkit.find_compat(plugin, msg.cb_version)
         module_logger.debug('Checking for Existing: %s' % plugin)
         existing = FolderApi.check_for_existing('jars/', file, deets[1])
         module_logger.debug('Check Returned: %s' % str(existing))
         if not existing == False:
             module_logger.debug('Match Found: %s' % existing)
             msg.plugins[plugin] = package.Plugin(existing, plugin,
                                                  deets[1])
         else:
             module_logger.debug('Downloading: %s' % plugin)
             filename = 'jars/%s.jar' % (file)
             FolderApi.dl_file(deets[0], filename, self.callback)
             if FolderApi.check_md5(filename, deets[1]):
                 msg.plugins[plugin] = package.Plugin(
                     filename, plugin, deets[1])
                 module_logger.debug('Finished downloading %s' % plugin)
     return msg