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


Python ServerProxy.append方法代码示例

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


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

示例1: tonzbget

# 需要导入模块: from xmlrpclib import ServerProxy [as 别名]
# 或者: from xmlrpclib.ServerProxy import append [as 别名]
    def tonzbget(self, args, hname):

        if ('data' not in args):
            return 0

        if ('nzbget_url' in self.cgen):
            if (len(self.cgen['nzbget_url'])):
                rq_url = 'http://' + self.cgen['nzbget_user'] + ':' + self.cgen['nzbget_pwd'] + '@' + self.cgen[
                    'nzbget_url'] + '/xmlrpc'
                print rq_url
                try:
                    server = ServerProxy(rq_url)
                except Exception as e:
                    print 'Error contacting NZBGET ' + str(e)
                    return 0

                try:
                    myrq = args['data'].replace("warp?", "")
                    pulrlparse = dict(urlparse.parse_qsl(myrq))
                    if ('m' in args):
                        pulrlparse['m'] = args['m']

                    # ~ print pulrlparse
                    res = self.wrp.beam(pulrlparse)
                    # ~ print res.headers

                    if ('Location' in res.headers):
                        # ~ for redirect
                        log.info('tonzbget: Warp is treated as 302 redirector')
                        geturl_rq = res.headers['Location']
                        r = requests.get(geturl_rq, verify=False)
                        nzbname = 'nzbfromNZBmegasearcH'
                        if ('content-disposition' in r.headers):
                            rheaders = r.headers['content-disposition']
                            idxsfind = rheaders.find('=')
                            if (idxsfind != -1):
                                nzbname = rheaders[idxsfind + 1:len(rheaders)].replace('"', '')
                        nzbcontent64 = standard_b64encode(r.content)
                        server.append(nzbname, '', False, nzbcontent64)
                    else:
                        # ~ for downloaded
                        log.info('tonzbget: Warp gets full content')
                        nzbname = 'nzbfromNZBmegasearcH'
                        if ('content-disposition' in res.headers):
                            rheaders = res.headers['content-disposition']
                            idxsfind = rheaders.find('=')
                            if (idxsfind != -1):
                                nzbname = rheaders[idxsfind + 1:len(rheaders)].replace('"', '')
                        # ~ print res.data
                        nzbcontent64 = standard_b64encode(res.data)
                        server.append(nzbname, '', False, nzbcontent64)


                except Exception as e:
                    # ~ print 'Error connecting server or downloading nzb '+str(e)
                    log.info('Error connecting server or downloading nzb: ' + str(e))
                    return 0

                return 1
开发者ID:judsonH,项目名称:usntssearch,代码行数:61,代码来源:megasearch.py

示例2: tonzbget

# 需要导入模块: from xmlrpclib import ServerProxy [as 别名]
# 或者: from xmlrpclib.ServerProxy import append [as 别名]
    def tonzbget(self, args, hname):

        if ('data' not in args):
            return 0

        if ('nzbget_url' in self.cgen):
            if (len(self.cgen['nzbget_url'])):
                rq_url = self.cgen['nzbget_scheme'] + '://' + self.cgen['nzbget_user'] + ':' + self.cgen['nzbget_pwd'] + '@' + self.cgen['nzbget_url_port'] + '/xmlrpc'
                print rq_url
                try:
                    server = ServerProxy(rq_url)
                except Exception as e:
                    print 'Error contacting NZBGET ' + str(e)
                    return 0

                try:

                    # ~ print args
                    
                    NZBFilename = 'nzbFromNZNMegaSearch'
                    urlToFetch = args['data']
                    print 'Fetching URL preStrip: "' + urlToFetch + '"'
                    urlToFetch = urlToFetch.strip()
                    print 'Fetching URL: "' + urlToFetch + '"'


                    
                    # Download file to send to NZBGet 
                    nzbFileRequest = requests.get(urlToFetch, verify=False)
                    
                    nzbcontent64 = standard_b64encode(nzbFileRequest.content)

                    # Get Filename from file header
                    rheaders = nzbFileRequest.headers['content-disposition']
                    idxsfind = rheaders.find('=')
                    NZBFilename = rheaders[idxsfind + 1:len(rheaders)].replace('"', '')


                    # Send to NZBGet 
                    sendToServer = server.append(NZBFilename, nzbcontent64,'',0,False,False,'',0,'SCORE')
                    
                    print 'Send to Server code: ' + str(sendToServer)
                    
                    #myrq = args['data'].replace("warp?", "")
                    #pulrlparse = dict(urlparse.parse_qsl(myrq))
                    #if ('m' in args):
                    #    pulrlparse['m'] = args['m']

                    #print pulrlparse
                    #res = self.wrp.beam(pulrlparse)
                    # ~ print res.headers

                    #if ('Location' in res.headers):
                    #    # ~ for redirect
                    #    log.info('tonzbget: Warp is treated as 302 redirector')
                    #    geturl_rq = res.headers['Location']
                    #    r = requests.get(geturl_rq, verify=False)
                    #    nzbname = 'nzbfromNZBmegasearcH'
                    #    if ('content-disposition' in r.headers):
                    #        rheaders = r.headers['content-disposition']
                    #        idxsfind = rheaders.find('=')
                    #        if (idxsfind != -1):
                    #            nzbname = rheaders[idxsfind + 1:len(rheaders)].replace('"', '')
                    #    nzbcontent64 = standard_b64encode(r.content)
                    #    server.append(nzbname, '', False, nzbcontent64)
                    #else:
                    #    # ~ for downloaded
                    #    log.info('tonzbget: Warp gets full content')
                    #    nzbname = 'nzbfromNZBmegasearcH'
                    #    if ('content-disposition' in res.headers):
                    #        rheaders = res.headers['content-disposition']
                    #        idxsfind = rheaders.find('=')
                    #        if (idxsfind != -1):
                    #            nzbname = rheaders[idxsfind + 1:len(rheaders)].replace('"', '')
                    #    # ~ print res.data
                    #    nzbcontent64 = standard_b64encode(res.data)
                    #    server.append(nzbname, '', False, nzbcontent64)


                except Exception as e:
                    # ~ print 'Error connecting server or downloading nzb '+str(e)
                    log.info('Error connecting server or downloading nzb: ' + str(e))
                    return 0

                return 1
开发者ID:etomm,项目名称:usntssearch,代码行数:87,代码来源:megasearch.py

示例3: __init__

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

	def __init__(self, options, session):
		self.options = options
		self.session = session
		self.api = ServerProxy(nzbget_rpcurl)
		self.prepare_session()
		self.process = subprocess.Popen([nzbget_bin, '-c', nzbget_configfile, '-s', '-o', 'outputmode=log'])
		self.wait_until_started()

	def finalize(self):
		if pytest.config.getoption("--hold"):
			print('\nNZBGet is still running, press Ctrl+C to quit')
			time.sleep(100000)
		self.process.kill()
		if not has_failures:
			self.remove_tempdir()

	def remove_tempdir(self):
		attempt = 1
		completed = False
		while not completed:
			try:
				if os.path.exists(nzbget_maindir + '.old'):
					shutil.rmtree(nzbget_maindir + '.old')
				if os.path.exists(nzbget_maindir):
					os.rename(nzbget_maindir, nzbget_maindir + '.old')
					shutil.rmtree(nzbget_maindir + '.old')
				completed = True
			except Exception:
				if attempt > 20:
					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)
#.........这里部分代码省略.........
开发者ID:nzbget,项目名称:nzbget,代码行数:103,代码来源:conftest.py

示例4: __init__

# 需要导入模块: from xmlrpclib import ServerProxy [as 别名]
# 或者: from xmlrpclib.ServerProxy import append [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.append方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。