本文整理汇总了Python中utils.regexUtils.parseText函数的典型用法代码示例。如果您正苦于以下问题:Python parseText函数的具体用法?Python parseText怎么用?Python parseText使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了parseText函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: executeItem
def executeItem(self, item):
url = item["url"]
if "(" in url:
xbmcCommand = parseText(url, "([^\(]*).*")
if xbmcCommand.lower() in ["activatewindow", "runscript", "runplugin", "playmedia"]:
if xbmcCommand.lower() == "activatewindow":
params = parseText(url, ".*\(\s*(.+?)\s*\).*").split(",")
for i in range(len(params) - 1, -1, -1):
p = params[i]
if p == "return":
params.remove(p)
path = enc.unescape(params[len(params) - 1])
xbmc.executebuiltin("Container.Update(" + path + ")")
return
xbmc.executebuiltin(enc.unescape(url))
示例2: executeItem
def executeItem(self, item):
url = item['url']
if '(' in url:
xbmcCommand = parseText(url,'([^\(]*).*')
if xbmcCommand.lower() in ['activatewindow', 'runscript', 'runplugin', 'playmedia']:
if xbmcCommand.lower() == 'activatewindow':
params = parseText(url, '.*\(\s*(.+?)\s*\).*').split(',')
for i in range(len(params)-1,-1,-1):
p = params[i]
if p == 'return':
params.remove(p)
path = enc.unescape(params[len(params)-1])
xbmc.executebuiltin('Container.Update(' + path + ')')
return
xbmc.executebuiltin(enc.unescape(url))
示例3: getInfo
def getInfo(item, params, src):
src = enc.smart_unicode(src).encode('utf-8')
paramArr = __parseParams(params)
paramPage = paramArr[0].replace('%s', src)
paramPage = urllib.unquote(paramPage)
if paramPage.startswith('@') and paramPage.endswith('@'):
paramPage = item.getInfo(paramPage.strip('@'))
paramRegex = paramArr[1].replace('%s', src)
if paramRegex.startswith('@') and paramRegex.endswith('@'):
paramRegex = item.getInfo(paramRegex.strip('@'))
referer = ''
variables=[]
if len(paramArr) > 2:
referer = paramArr[2]
referer = referer.replace('%s', src)
if referer.startswith('@') and referer.endswith('@'):
referer = item.getInfo(referer.strip('@'))
if len(paramArr) > 3:
variables = paramArr[3].strip("'").split('|')
common.log('Get Info from: "'+ paramPage + '" from "' + referer + '"')
data = common.getHTML(paramPage, referer, referer!='')
return reg.parseText(data, paramRegex, variables)
示例4: getInfo
def getInfo(item, params, src):
src = enc.smart_unicode(src).encode('utf-8')
paramArr = __parseParams(params)
paramPage = paramArr[0].replace('%s', src)
if paramPage.startswith('@') and paramPage.endswith('@'):
paramPage = item.getInfo(paramPage.strip('@'))
paramRegex = paramArr[1].replace('%s', src)
if paramRegex.startswith('@') and paramRegex.endswith('@'):
paramRegex = item.getInfo(paramRegex.strip('@'))
referer = ''
form_data = ''
variables=[]
if len(paramArr) > 2:
referer = paramArr[2]
referer = referer.replace('%s', src)
if referer.startswith('@') and referer.endswith('@'):
referer = item.getInfo(referer.strip('@'))
if len(paramArr) > 3:
variables = paramArr[3].strip("'").split('|')
common.log('Get Info from: "'+ paramPage + '" from "' + referer + '"')
try:
parts = (paramPage.split('|', 1) + [None] * 2)[:2]
paramPage, form_data = parts
form_data = urlparse.parse_qsl(form_data)
except:
pass
data = common.getHTML(paramPage, form_data, referer, referer!='',demystify=True)
return reg.parseText(data, paramRegex, variables)
示例5: parseText
def parseText(params, src):
src = enc.smart_unicode(src)
paramArr = __parseParams(params)
text = paramArr[0].replace('%s',src)
regex = paramArr[1].replace('%s', src)
variables = []
if len(paramArr) > 2:
variables = paramArr[2].split('|')
return reg.parseText(text, regex, variables)
示例6: parseText
def parseText(item, params, src):
paramArr = __parseParams(params)
text = paramArr[0].replace('%s',src)
if text.startswith('@') and text.endswith('@'):
text = item.getInfo(text.strip('@'))
regex = paramArr[1].replace('%s', src)
if regex.startswith('@') and regex.endswith('@'):
regex = item.getInfo(regex.strip('@'))
variables = []
if len(paramArr) > 2:
variables = paramArr[2].split('|')
return reg.parseText(text, regex, variables)
示例7: getInfo
def getInfo(item, params, src, xml=False, mobile=False):
paramArr = __parseParams(params)
paramPage = paramArr[0].replace('%s', src)
if paramPage.startswith('@') and paramPage.endswith('@'):
paramPage = item.getInfo(paramPage.strip('@'))
paramRegex = paramArr[1].replace('%s', src)
if paramRegex.startswith('@') and paramRegex.endswith('@'):
paramRegex = item.getInfo(paramRegex.strip('@'))
referer = ''
form_data = ''
variables=[]
if len(paramArr) > 2:
referer = paramArr[2]
referer = referer.replace('%s', src)
if referer.startswith('@') and referer.endswith('@'):
referer = item.getInfo(referer.strip('@'))
if len(paramArr) > 3:
variables = paramArr[3].strip("'").split('|')
parsed_link = urlparse.urlsplit(referer)
parsed_link = parsed_link._replace(netloc=parsed_link.netloc.encode('idna'),path=urllib.quote(parsed_link.path.encode('utf-8')))
referer = parsed_link.geturl().encode('utf-8')
try:
parts = (paramPage.split('|', 1) + [None] * 2)[:2]
paramPage, form_data = parts
form_data = urlparse.parse_qsl(form_data)
except:
pass
common.log('Get Info from: "'+ paramPage + '" from "' + referer + '"')
data = common.getHTML(paramPage, form_data, referer, xml, mobile, ignoreCache=False,demystify=True)
#common.log('Get Info data: %s ' % reg.parseText(data, paramRegex, variables) )
#common.log('Get Info data: "' + data + '"')
return reg.parseText(data, paramRegex, variables)
示例8: run
def run(self, paramstring):
common.log('SportsDevil running')
try:
# Main Menu
if len(paramstring) <= 2:
# Set fanart
xbmcplugin.setPluginFanart(self.handle, common.Paths.pluginFanart)
# Clear cache
self.clearCache()
# Show Main Menu
tmpList = self.parseView(self.MAIN_MENU_FILE)
if tmpList:
self.currentlist = tmpList
self.curr_file = tmpList.cfg
else:
params = paramstring
mode, codedItem = params.split('&',1)
mode = int(mode.split('=')[1])
codedItem = codedItem[4:]
item = decodeUrl(codedItem)
# switch(mode)
if mode == Mode.VIEW:
tmpList = self.parseView(codedItem)
if tmpList:
self.currentlist = tmpList
self.curr_file = tmpList.cfg
count = len(self.currentlist.items)
if count == 0:
common.showInfo('No stream available')
elif count == 1:
# Autoplay single video
autoplayEnabled = common.getSetting('autoplay') == 'true'
if autoplayEnabled:
videos = self.currentlist.getVideos()
if len(videos) == 1:
self.playVideo(videos[0], True)
elif mode == Mode.ADDITEM:
if self.favouritesManager.addItem():
xbmc.executebuiltin('Container.Refresh()')
elif mode in [Mode.ADDTOFAVOURITES, Mode.REMOVEFROMFAVOURITES, Mode.EDITITEM]:
if mode == Mode.ADDTOFAVOURITES:
self.favouritesManager.addToFavourites(item)
elif mode == Mode.REMOVEFROMFAVOURITES:
self.favouritesManager.removeItem(item)
xbmc.executebuiltin('Container.Refresh()')
elif mode == Mode.EDITITEM:
if self.favouritesManager.editItem(item):
xbmc.executebuiltin('Container.Refresh()')
elif mode == Mode.EXECUTE:
url = item['url']
if url.find('(') > -1:
xbmcCommand = parseText(url,'([^\(]*).*')
if xbmcCommand.lower() in ['activatewindow', 'runscript', 'runplugin', 'playmedia']:
if xbmcCommand.lower() == 'activatewindow':
params = parseText(url, '.*\(\s*(.+?)\s*\).*').split(',')
for i in range(len(params)-1,-1,-1):
p = params[i]
if p == 'return':
params.remove(p)
path = enc.unescape(params[len(params)-1])
xbmc.executebuiltin('Container.Update(' + path + ')')
return
xbmc.executebuiltin(enc.unescape(url))
elif mode == Mode.PLAY:
self.playVideo(item)
elif mode == Mode.QUEUE:
dia = DialogProgress()
dia.create('SportsDevil', 'Get videos...' + item['title'])
dia.update(0)
items = self.getVideos(item, dia)
if items:
for it in items:
item = self.createXBMCListItem(it)
uc = sys.argv[0] + '?mode=' + str(Mode.PLAY) + '&url=' + codeUrl(it)
item.setProperty('IsPlayable', 'true')
item.setProperty('IsFolder','false')
xbmc.PlayList(1).add(uc, item)
resultLen = len(items)
msg = 'Queued ' + str(resultLen) + ' video'
if resultLen > 1:
msg += 's'
dia.update(100, msg)
xbmc.sleep(500)
dia.update(100, msg,' ',' ')
else:
dia.update(0, 'No items found',' ')
#.........这里部分代码省略.........