当前位置: 首页>>代码示例>>Python>>正文


Python ServerProxy.editqueue方法代码示例

本文整理汇总了Python中xmlrpclib.ServerProxy.editqueue方法的典型用法代码示例。如果您正苦于以下问题:Python ServerProxy.editqueue方法的具体用法?Python ServerProxy.editqueue怎么用?Python ServerProxy.editqueue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在xmlrpclib.ServerProxy的用法示例。


在下文中一共展示了ServerProxy.editqueue方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from xmlrpclib import ServerProxy [as 别名]
# 或者: from xmlrpclib.ServerProxy import editqueue [as 别名]

#.........这里部分代码省略.........
					raise
				attempt += 1
				time.sleep(0.2)

	def prepare_session(self):
		self.remove_tempdir()
		os.makedirs(nzbget_maindir)
		config = open(nzbget_configfile, 'w')
		config.write('MainDir=' + nzbget_maindir + '\n')
		config.write('DestDir=${MainDir}/complete\n')
		config.write('InterDir=${MainDir}/intermediate\n')
		config.write('TempDir=${MainDir}/temp\n')
		config.write('QueueDir=${MainDir}/queue\n')
		config.write('NzbDir=${MainDir}/nzb\n')
		config.write('LogFile=${MainDir}/nzbget.log\n')
		config.write('SevenZipCmd=' + sevenzip_bin + '\n')
		config.write('WriteLog=append\n')
		config.write('DetailTarget=log\n')
		config.write('InfoTarget=log\n')
		config.write('WarningTarget=log\n')
		config.write('ErrorTarget=log\n')
		config.write('DebugTarget=none\n')
		config.write('CrashTrace=no\n')
		config.write('CrashDump=yes\n')
		config.write('ContinuePartial=no\n')
		config.write('DirectWrite=yes\n')
		config.write('ArticleCache=500\n')
		config.write('WriteBuffer=1024\n')
		config.write('NzbDirInterval=0\n')
		config.write('FlushQueue=no\n')
		config.write('WebDir=' + nzbget_srcdir + '/webui\n')
		config.write('ConfigTemplate=' + nzbget_srcdir + '/nzbget.conf\n')
		config.write('ControlUsername=\n')
		config.write('ControlPassword=\n')
		config.write('ControlIP=127.0.0.1\n')
		config.write('Server1.host=127.0.0.1\n')
		config.write('Server1.port=6791\n')
		config.write('Server1.connections=10\n')
		config.write('Server1.level=0\n')
		config.write('Server2.host=127.0.0.1\n')
		config.write('Server2.port=6792\n')
		config.write('Server2.connections=10\n')
		config.write('Server2.level=1\n')
		config.write('Server2.active=no\n')
		for opt in self.options:
			config.write(opt + '\n')

	def wait_until_started(self):
		print('Waiting for nzbget to start')
		stat = None
		for x in range(0, 3):
			try:
				stat = self.api.status()
			except Exception:
				time.sleep(0.5)

		if stat is None:
			raise Exception('Could not start nzbget')
		print('Started')

	def append_nzb(self, nzb_name, nzb_content, unpack = None, dupekey = '', dupescore = 0, dupemode = 'FORCE', params = None):
		nzbcontent64 = base64.standard_b64encode(nzb_content)
		if params is None:
			params = []
		if unpack == True:
			params.append(('*unpack:', 'yes'))
		elif unpack == False:
			params.append(('*unpack:', 'no'))
		return self.api.append(nzb_name, nzbcontent64, 'test', 0, False, False, dupekey, dupescore, dupemode, params)

	def load_nzb(self, nzb_name):
		fullfilename = nserv_datadir + '/' + nzb_name
		in_file = open(fullfilename, 'r')

		nzbcontent = in_file.read()

		in_file.close()
		return nzbcontent

	def download_nzb(self, nzb_name, nzb_content = None, unpack = None, dupekey = '', dupescore = 0, dupemode = 'FORCE', params = None):
		if not nzb_content:
			nzb_content = self.load_nzb(nzb_name)
		self.append_nzb(nzb_name, nzb_content, unpack, dupekey, dupescore, dupemode, params)
		hist = self.wait_nzb(nzb_name)
		return hist

	def wait_nzb(self, nzb_name):
		print('Waiting for download completion')
		hist = None
		while not hist:
			history = self.api.history()
			for hist1 in history:
				if hist1['NZBFilename'] == nzb_name:
					hist = hist1
					break
			time.sleep(0.1)
		return hist

	def clear(self):
		self.api.editqueue('HistoryFinalDelete', 0, '', range(1, 1000));
开发者ID:nzbget,项目名称:nzbget,代码行数:104,代码来源:conftest.py

示例2: __init__

# 需要导入模块: from xmlrpclib import ServerProxy [as 别名]
# 或者: from xmlrpclib.ServerProxy import editqueue [as 别名]

#.........这里部分代码省略.........
		result['DownloadRateFormated']=self.get_format_size(result['DownloadRate'])
		result['RemainingSizeLoFormated']=self.get_format_size(result['RemainingSizeMB']*1024*1024)
		result['DownloadedSizeLoFormated']=self.get_format_size(result['DownloadedSizeMB']*1024*1024)
		#| bug with DownloadedSizeLo that does not show the correct value???
		result['AverageDownloadRateFormated']=self.get_format_size(result['AverageDownloadRate'])
		return (0,result)


	def get_url_queue(self):
                try:
			result=self._server.urlqueue()
		except:
			return (1,None)

		return (0,result)

	def get_list_groups(self):
		try:
			result=self._server.listgroups()
                except:
                        return (1,None)

		for i in range(len(result)):
			result[i]['RemainingSizeLoFormated']=self.get_format_size(result[i]['RemainingSizeLo'])
			result[i]['FileSizeLoFormated']=self.get_format_size(result[i]['FileSizeMB']*1024*1024)
			result[i]['DownloadedFormated']=self.get_format_size((result[i]['FileSizeMB']-result[i]['RemainingSizeMB'])*1024*1024)
		return (0,result)

	def get_history(self):
                try:
			result=self._server.history()
                except:
                        return (1,None)

		for i in range(min(len(result),10)):
			result[i]['FileSizeLoFormated']=self.get_format_size(result[i]['FileSizeMB']*1024*1024)
			if result[i]['UnpackStatus']=="SUCCESS":
				status="Success"
				color="green"
			else:
				if result[i]['DeleteStatus']!='None':
					status="Deleted"
					color="orange"
				else:
					status="Failed"
					color="red"
			result[i]['status']=status
			result[i]['color']=color	
			result[i]['DestDir']=result[i]['DestDir'].split('/')[-1]
		
		if len(result)>10:
			result=result[0:10]
		return (0,result)


	def get_post_queue(self):
		try:
			result=self._server.postqueue(10)
		except:
			return (1,None)

		for i in range(len(result)):
			result[i]['StageProgress']=int(result[i]['StageProgress']/10)
			
		return (0,result)


	def add_nzb(self,filename,category,addtotop):
		try:
			in_file = open(filename, "r")
			nzbcontent = in_file.read()
			in_file.close()
			nzbcontent64=standard_b64encode(nzbcontent)
			self._server.append(filename,category,addtotop,nzbcontent64)
		except:
			return (1,None)
		return (0,None)

	def delete_package(self,id):
		try:
			result=self._server.editqueue('GroupDelete',0,'',[int(id)])
		except:
			return (1,None)

		if result:
			return 0
		
		return 11

	def get_error_str(self,error):	
		errorstr={0:'No Error',1:'Connexion to nzbget api failed',11:'Deletion failed'}
		if error in errorstr.keys():
			return errorstr[error]
		return 'Unknown error'

	def start_process(self):
                return process.execute(self._start)

        def stop_process(self):
                return process.execute(self._stop)
开发者ID:Juanmabs22,项目名称:raspadmin,代码行数:104,代码来源:nzbget.py


注:本文中的xmlrpclib.ServerProxy.editqueue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。