本文整理汇总了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));
示例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)