本文整理汇总了Python中resources.lib.libraries.control.openFile函数的典型用法代码示例。如果您正苦于以下问题:Python openFile函数的具体用法?Python openFile怎么用?Python openFile使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了openFile函数的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: addView
def addView(content):
try:
skin = control.skin
skinPath = control.skinPath
xml = os.path.join(skinPath,'addon.xml')
file = control.openFile(xml)
read = file.read().replace('\n','')
file.close()
try: src = re.compile('defaultresolution="(.+?)"').findall(read)[0]
except: src = re.compile('<res.+?folder="(.+?)"').findall(read)[0]
src = os.path.join(skinPath, src)
src = os.path.join(src, 'MyVideoNav.xml')
file = control.openFile(src)
read = file.read().replace('\n','')
file.close()
views = re.compile('<views>(.+?)</views>').findall(read)[0]
views = [int(x) for x in views.split(',')]
for view in views:
label = control.infoLabel('Control.GetLabel(%s)' % (view))
if not (label == '' or label == None): break
record = (skin, content, str(view))
control.makeFile(control.dataPath)
dbcon = database.connect(control.databaseFile)
dbcur = dbcon.cursor()
dbcur.execute("CREATE TABLE IF NOT EXISTS views (""skin TEXT, ""view_type TEXT, ""view_id TEXT, ""UNIQUE(skin, view_type)"");")
dbcur.execute("DELETE FROM views WHERE skin = '%s' AND view_type = '%s'" % (record[0], record[1]))
dbcur.execute("INSERT INTO views Values (?, ?, ?)", record)
dbcon.commit()
viewName = control.infoLabel('Container.Viewmode')
control.infoDialog(control.lang(30491).encode('utf-8'), heading=viewName)
except:
return
开发者ID:mpie,项目名称:repo,代码行数:33,代码来源:views.py
示例2: sourcesReset
def sourcesReset(self):
try:
if control.setting("hosthd1") == "":
return
settingsFile = control.settingsFile
file = control.openFile(settingsFile)
read = file.read().splitlines()
file.close()
write = unicode("<settings>" + "\n", "UTF-8")
for line in read:
if len(re.findall("<settings>", line)) > 0:
continue
elif len(re.findall("</settings>", line)) > 0:
continue
elif len(re.findall('id="(host|hosthd)500\d*"', line)) > 0:
pass
elif len(re.findall('id="(host|hosthd)\d*"', line)) > 0:
continue
write += unicode(line.rstrip() + "\n", "UTF-8")
write += unicode("</settings>" + "\n", "UTF-8")
file = control.openFile(settingsFile, "w")
file.write(str(write))
file.close()
except:
return
开发者ID:JRepoInd,项目名称:lambda-addons,代码行数:28,代码来源:__init__.py
示例3: setSettings
def setSettings():
try:
control.makeFile(control.dataPath)
settingsFile = control.settingsFile
file = control.openFile(settingsFile)
read = file.read().splitlines()
file.close()
write = unicode("<settings>" + "\n", "UTF-8")
for line in read:
if len(re.findall("<settings>", line)) > 0:
continue
elif len(re.findall("</settings>", line)) > 0:
continue
write += unicode(line.rstrip() + "\n", "UTF-8")
if not 'id="droid"' in write:
write += unicode(' <setting id="droid" value="false" />' + "\n", "UTF-8")
write += unicode("</settings>" + "\n", "UTF-8")
file = control.openFile(settingsFile, "w")
file.write(str(write))
file.close()
except:
return
开发者ID:noba3,项目名称:KoTos,代码行数:27,代码来源:nhlcom.py
示例4: strmFile
def strmFile(self, i):
try:
name, title, year, imdb, tmdb = i['name'], i['title'], i['year'], i['imdb'], i['tmdb']
sysname, systitle = urllib.quote_plus(name), urllib.quote_plus(title)
transname = name.translate(None, '\/:*?"<>|').strip('.')
content = '%s?action=play&name=%s&title=%s&year=%s&imdb=%s&tmdb=%s' % (sys.argv[0], sysname, systitle, year, imdb, tmdb)
control.makeFile(self.library_folder)
folder = os.path.join(self.library_folder, transname)
control.makeFile(folder)
try:
if not 'ftp://' in folder: raise Exception()
from ftplib import FTP
ftparg = re.compile('ftp://(.+?):(.+?)@(.+?):?(\d+)?/(.+/?)').findall(folder)
ftp = FTP(ftparg[0][2],ftparg[0][0],ftparg[0][1])
try: ftp.cwd(ftparg[0][4])
except: ftp.mkd(ftparg[0][4])
ftp.quit()
except:
pass
stream = os.path.join(folder, transname + '.strm')
file = control.openFile(stream, 'w')
file.write(str(content))
file.close()
except:
pass
开发者ID:8821kitkat,项目名称:officialrepo,代码行数:31,代码来源:libtools.py
示例5: sourcesReset
def sourcesReset(self):
try:
if control.setting('hosthd1') == '': return
settingsFile = control.settingsFile
file = control.openFile(settingsFile) ; read = file.read().splitlines() ; file.close()
write = unicode( '<settings>' + '\n', 'UTF-8' )
for line in read:
if len(re.findall('<settings>', line)) > 0: continue
elif len(re.findall('</settings>', line)) > 0: continue
elif len(re.findall('id="(host|hosthd)500\d*"', line)) > 0: pass
elif len(re.findall('id="(host|hosthd)\d*"', line)) > 0: continue
write += unicode(line.rstrip() + '\n', 'UTF-8')
write += unicode('</settings>' + '\n', 'UTF-8')
file = control.openFile(settingsFile, 'w') ; file.write(str(write)) ; file.close()
except:
return
开发者ID:gsolanoalvarez,项目名称:hdfulltv,代码行数:19,代码来源:__init__.py
示例6: strmFile
def strmFile(self, i):
try:
name, title, year, imdb, tmdb, tvdb, tvrage, season, episode, tvshowtitle, alter, date = i['name'], i['title'], i['year'], i['imdb'], i['tmdb'], i['tvdb'], i['tvrage'], i['season'], i['episode'], i['tvshowtitle'], i['alter'], i['date']
episodename, episodetitle = urllib.quote_plus(name), urllib.quote_plus(title)
systitle, syspremiered = urllib.quote_plus(tvshowtitle), urllib.quote_plus(date)
if self.version >= 15:
transname = '%s (%s) S%02dE%02d' % (tvshowtitle.translate(None, '\/:*?"<>|'), year, int(season), int(episode))
transtitle = '%s (%s)' % (tvshowtitle.translate(None, '\/:*?"<>|'), year)
else:
transname = name.translate(None, '\/:*?"<>|').strip('.')
transtitle = tvshowtitle.translate(None, '\/:*?"<>|').strip('.')
transseason = 'Season %s' % season.translate(None, '\/:*?"<>|').strip('.')
content = '%s?action=play&name=%s&title=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s&season=%s&episode=%s&tvshowtitle=%s&alter=%s&date=%s' % (sys.argv[0], episodename, episodetitle, year, imdb, tmdb, tvdb, tvrage, season, episode, systitle, alter, syspremiered)
control.makeFile(self.library_folder)
folder = os.path.join(self.library_folder, transtitle)
control.makeFile(folder)
try:
if not 'ftp://' in folder: raise Exception()
from ftplib import FTP
ftparg = re.compile('ftp://(.+?):(.+?)@(.+?):?(\d+)?/(.+/?)').findall(folder)
ftp = FTP(ftparg[0][2],ftparg[0][0],ftparg[0][1])
try: ftp.cwd(ftparg[0][4])
except: ftp.mkd(ftparg[0][4])
ftp.quit()
except:
pass
folder = os.path.join(folder, transseason)
control.makeFile(folder)
try:
if not 'ftp://' in folder: raise Exception()
from ftplib import FTP
ftparg = re.compile('ftp://(.+?):(.+?)@(.+?):?(\d+)?/(.+/?)').findall(folder)
ftp = FTP(ftparg[0][2],ftparg[0][0],ftparg[0][1])
try: ftp.cwd(ftparg[0][4])
except: ftp.mkd(ftparg[0][4])
ftp.quit()
except:
pass
stream = os.path.join(folder, transname + '.strm')
file = control.openFile(stream, 'w')
file.write(str(content))
file.close()
except:
pass
开发者ID:rrosajp,项目名称:filmkodi,代码行数:54,代码来源:libtools.py
示例7: getDirectory
def getDirectory(url):
f = control.openFile(url)
result = f.read()
f.close()
result = str(result).replace('\r','').replace('\n','').replace('\t','').replace(' ','')
fanart = '0'
content = 'movies'
items = re.compile('<item>(.+?)</item>').findall(result)
try: sort = re.findall('<sort>(.+?)</sort>', result)[0]
except: sort = ''
if sort == 'yes': items = sorted(items)
totalItems = len(items)
for item in items:
try:
data = {}
try: name = re.findall('<title>(.+?)</title>', item)[0]
except: continue
url = re.findall('<link>(.+?)</link>', item)[0]
try: image = image2 = re.findall('<thumbnail>(.+?)</thumbnail>', item)[0]
except: image = image2 = '0'
try: fanart2 = re.findall('<fanart>(.+?)</fanart>', item)[0]
except: fanart2 = fanart
try:
title = cleantitle(name).encode('utf-8')
data = {'title': title}
title, year = re.compile('(.+?)[(](\d{4})[)]').findall(name)[0]
title = cleantitle(title).encode('utf-8')
data = {'title': title, 'year': year}
except:
pass
addDirectoryItem(name, url, 'phResolveUrl', image, image2, fanart2, content, data, totalItems=totalItems, isFolder=False)
except:
pass
endDirectory(content, True)
开发者ID:mpie,项目名称:repo,代码行数:45,代码来源:phstreams.py
示例8: strmFile
def strmFile(self, i):
try:
name, title, year, imdb, tmdb = i["name"], i["title"], i["year"], i["imdb"], i["tmdb"]
sysname, systitle = urllib.quote_plus(name), urllib.quote_plus(title)
transname = name.translate(None, '\/:*?"<>|').strip(".")
content = "%s?action=play&name=%s&title=%s&year=%s&imdb=%s&tmdb=%s" % (
sys.argv[0],
sysname,
systitle,
year,
imdb,
tmdb,
)
control.makeFile(self.library_folder)
folder = os.path.join(self.library_folder, transname)
control.makeFile(folder)
try:
if not "ftp://" in folder:
raise Exception()
from ftplib import FTP
ftparg = re.compile("ftp://(.+?):(.+?)@(.+?):?(\d+)?/(.+/?)").findall(folder)
ftp = FTP(ftparg[0][2], ftparg[0][0], ftparg[0][1])
try:
ftp.cwd(ftparg[0][4])
except:
ftp.mkd(ftparg[0][4])
ftp.quit()
except:
pass
stream = os.path.join(folder, transname + ".strm")
file = control.openFile(stream, "w")
file.write(str(content))
file.close()
except:
pass
开发者ID:cuongnvth,项目名称:hieuhien.vn,代码行数:42,代码来源:libtools.py
示例9: keyboard
def keyboard(response):
try:
i = os.path.join(control.dataPath,'img')
f = control.openFile(i, 'w')
f.write(client.request(response))
f.close()
f = control.image(450,5,375,115, i)
d = control.windowDialog
d.addControl(f)
control.deleteFile(i)
d.show()
t = 'Type the letters in the image'
k = control.keyboard('', t)
k.doModal()
c = k.getText() if k.isConfirmed() else None
if c == '': c = None
d.removeControl(f)
d.close()
return c
except:
return
开发者ID:mrknow,项目名称:filmkodi,代码行数:21,代码来源:captcha.py
示例10: update
def update(self, query, info='true'):
if query == 'tool':
return xbmc.executebuiltin('RunPlugin(%s?action=updateLibrary)' % sys.argv[0])
try:
items = []
season, episode = [], []
show = [os.path.join(self.library_folder, i) for i in control.listDir(self.library_folder)[0]]
for s in show:
try: season += [os.path.join(s, i) for i in control.listDir(s)[0]]
except: pass
for s in season:
try: episode.append([os.path.join(s, i) for i in control.listDir(s)[1] if i.endswith('.strm')][-1])
except: pass
for file in episode:
try:
file = control.openFile(file)
read = file.read()
read = read.encode('utf-8')
file.close()
if not read.startswith(sys.argv[0]): raise Exception()
params = dict(urlparse.parse_qsl(read.replace('?','')))
try: tvshowtitle = params['tvshowtitle']
except: tvshowtitle = None
try: tvshowtitle = params['show']
except: pass
if tvshowtitle == None or tvshowtitle == '': raise Exception()
year, imdb, tvdb = params['year'], params['imdb'], params['tvdb']
imdb = 'tt' + re.sub('[^0-9]', '', str(imdb))
try: tmdb = params['tmdb']
except: tmdb = '0'
try: tvrage = params['tvrage']
except: tvrage = '0'
items.append({'tvshowtitle': tvshowtitle, 'year': year, 'imdb': imdb, 'tmdb': tmdb, 'tvdb': tvdb, 'tvrage': tvrage})
except:
pass
items = [i for x, i in enumerate(items) if i not in items[x + 1:]]
if len(items) == 0: raise Exception()
except:
return
try:
lib = control.jsonrpc('{"jsonrpc": "2.0", "method": "VideoLibrary.GetTVShows", "params": {"properties" : ["imdbnumber", "title", "year"]}, "id": 1}')
lib = unicode(lib, 'utf-8', errors='ignore')
lib = json.loads(lib)['result']['tvshows']
except:
return
if info == 'true' and not control.condVisibility('Window.IsVisible(infodialog)') and not control.condVisibility('Player.HasVideo'):
control.infoDialog(control.lang(30422).encode('utf-8'), time=10000000)
self.infoDialog = True
try:
control.makeFile(control.dataPath)
dbcon = database.connect(control.libcacheFile)
dbcur = dbcon.cursor()
dbcur.execute("CREATE TABLE IF NOT EXISTS tvshows (""id TEXT, ""items TEXT, ""UNIQUE(id)"");")
except:
return
try:
from resources.lib.indexers import episodes
except:
return
for item in items:
it = None
if xbmc.abortRequested == True: return sys.exit()
try:
dbcur.execute("SELECT * FROM tvshows WHERE id = '%s'" % item['tvdb'])
fetch = dbcur.fetchone()
it = eval(fetch[1].encode('utf-8'))
except:
pass
try:
if not it == None: raise Exception()
it = episodes.episodes().get(item['tvshowtitle'], item['year'], item['imdb'], item['tmdb'], item['tvdb'], item['tvrage'], idx=False)
status = it[0]['status'].lower()
it = [{'name': i['name'], 'title': i['title'], 'year': i['year'], 'imdb': i['imdb'], 'tmdb': i['tmdb'], 'tvdb': i['tvdb'], 'tvrage': i['tvrage'], 'season': i['season'], 'episode': i['episode'], 'tvshowtitle': i['tvshowtitle'], 'alter': i['alter'], 'date': i['premiered']} for i in it]
if status == 'continuing': raise Exception()
dbcur.execute("INSERT INTO tvshows Values (?, ?)", (item['tvdb'], repr(it)))
dbcon.commit()
except:
pass
#.........这里部分代码省略.........
开发者ID:8821kitkat,项目名称:officialrepo,代码行数:101,代码来源:libtools.py
示例11: get
def get(name, imdb, season, episode):
try:
langs = []
try:
try: langs = langDict[control.setting('sublang1')].split(',')
except: langs.append(langDict[control.setting('sublang1')])
except: pass
try:
try: langs = langs + langDict[control.setting('sublang2')].split(',')
except: langs.append(langDict[control.setting('sublang2')])
except: pass
try: subLang = xbmc.Player().getSubtitles()
except: subLang = ''
if subLang == langs[0]: raise Exception()
server = xmlrpclib.Server('http://api.opensubtitles.org/xml-rpc', verbose=0)
token = server.LogIn('', '', 'en', 'XBMC_Subtitles_v1')['token']
sublanguageid = ','.join(langs) ; imdbid = re.sub('[^0-9]', '', imdb)
if not (season == '' or episode == ''):
result = server.SearchSubtitles(token, [{'sublanguageid': sublanguageid, 'imdbid': imdbid, 'season': season, 'episode': episode}])['data']
fmt = ['hdtv']
else:
result = server.SearchSubtitles(token, [{'sublanguageid': sublanguageid, 'imdbid': imdbid}])['data']
try: vidPath = xbmc.Player().getPlayingFile()
except: vidPath = ''
fmt = re.split('\.|\(|\)|\[|\]|\s|\-', vidPath)
fmt = [i.lower() for i in fmt]
fmt = [i for i in fmt if i in quality]
filter = []
result = [i for i in result if i['SubSumCD'] == '1']
for lang in langs:
filter += [i for i in result if i['SubLanguageID'] == lang and any(x in i['MovieReleaseName'].lower() for x in fmt)]
filter += [i for i in result if i['SubLanguageID'] == lang and any(x in i['MovieReleaseName'].lower() for x in quality)]
filter += [i for i in result if i['SubLanguageID'] == lang]
try: lang = xbmc.convertLanguage(filter[0]['SubLanguageID'], xbmc.ISO_639_1)
except: lang = filter[0]['SubLanguageID']
content = [filter[0]['IDSubtitleFile'],]
content = server.DownloadSubtitles(token, content)
content = base64.b64decode(content['data'][0]['data'])
content = str(zlib.decompressobj(16+zlib.MAX_WBITS).decompress(content))
subtitle = xbmc.translatePath('special://temp/')
subtitle = os.path.join(subtitle, 'TemporarySubs.%s.srt' % lang)
codepage = codePageDict.get(lang, '')
if codepage and control.setting('autoconvert_utf8') == 'true':
try:
content_encoded = codecs.decode(content, codepage)
content = codecs.encode(content_encoded, 'utf-8')
except:
pass
file = control.openFile(subtitle, 'w')
file.write(str(content))
file.close()
xbmc.sleep(1000)
xbmc.Player().setSubtitles(subtitle)
except:
pass
开发者ID:8821kitkat,项目名称:officialrepo,代码行数:67,代码来源:subtitles.py
示例12: run
def run(self):
def download(): return []
result = cache.get(download, 600000000, table='rel_dl')
for item in result:
self.name = item['name'] ; self.image = item['image'] ; self.url = item['url']
sysname = self.name.translate(None, '\/:*?"<>|').strip('.')
url = self.url.split('|')[0]
try: headers = dict(urlparse.parse_qsl(self.url.rsplit('|', 1)[1]))
except: headers = dict('')
ext = os.path.splitext(urlparse.urlparse(url).path)[1][1:].lower()
if not ext in ['mp4', 'mkv', 'flv', 'avi', 'mpg']: ext = 'mp4'
hdlr = re.compile('.+? ([(]\d{4}[)]|S\d*E\d*)$').findall(self.name)
if len(hdlr) == 0: self.content = 'Uncategorised'
hdlr = re.compile('.+? (S\d*E\d*)$').findall(self.name)
if len(hdlr) > 0: self.content = 'TVShows'
hdlr = re.compile('.+? [(](\d{4})[)]$').findall(self.name)
if len(hdlr) > 0: self.content = 'Movies'
if self.content == 'Movies':
dest = os.path.join(downloadPath, 'Movies')
control.makeFile(dest)
dest = os.path.join(dest, sysname)
control.makeFile(dest)
elif self.content == 'TVShows':
d = re.compile('(.+?) S(\d*)E(\d*)$').findall(sysname)[0]
dest = os.path.join(downloadPath, 'TV Shows')
control.makeFile(dest)
dest = os.path.join(dest, d[0])
control.makeFile(dest)
dest = os.path.join(dest, 'Season %01d' % int(d[1]))
control.makeFile(dest)
else:
dest = os.path.join(downloadPath, 'Uncategorised')
control.makeFile(dest)
dest = os.path.join(dest, sysname + '.' + ext)
control.infoDialog(self.name + ' Is Downloading', 'Downloads Started', self.image, time=7000)
try:
req = urllib2.Request(url, headers=headers)
resp = urllib2.urlopen(req, timeout=30)
except Exception,e:
removeDownload(self.url)
print '%s ERROR - File Failed To Open' % (dest)
continue
try: self.size = int(resp.headers['Content-Length'])
except: self.size = 0
if self.size < 1:
removeDownload(self.url)
print '%s Unknown filesize - Unable to download' % (dest)
continue
try: resumable = 'bytes' in resp.headers['Accept-Ranges'].lower()
except: resumable = False
size = 1024 * 1024
if self.size < size: size = self.size
gb = '%.2f GB' % (float(self.size) / 1073741824)
start = time.clock()
total = 0 ; notify = 0 ; errors = 0 ; count = 0 ; resume = 0 ; sleep = 0
self.clear()
control.window.setProperty(property + '.status', 'downloading')
control.window.setProperty(property + '.name', str(self.name))
control.window.setProperty(property + '.image', str(self.image))
control.window.setProperty(property + '.size', str(gb))
f = control.openFile(dest, 'wb')
chunk = None
chunks = []
while True:
downloaded = total
for c in chunks:
downloaded += len(c)
percent = min(100 * downloaded / self.size, 100)
self.speed = str(int((downloaded / 1024) / (time.clock() - start))) + ' KB/s'
self.percent = str(percent) + '%'
#.........这里部分代码省略.........
开发者ID:8821kitkat,项目名称:officialrepo,代码行数:101,代码来源:downloader.py
示例13: resolve
def resolve(self, url):
try:
m3u8 = [
'#EXTM3U',
'#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",DEFAULT=YES,AUTOSELECT=YES,NAME="Stream 1",URI="{audio_stream}"',
'',
'#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=0,NAME="{stream_name}",AUDIO="audio"',
'{video_stream}'
]
query = urlparse.parse_qs(url)
query = dict([(key, query[key][0]) if query[key] else (key, '') for key in query])
auth = 'http://streamtorrent.tv/api/torrent/%s/%s.m3u8?json=true' % (query['vid_id'], query['stream_id'])
r = client.request(auth)
r = json.loads(r)
try: url = r['url']
except: url = None
if not url == None:
def dialog(url):
try: self.disableScraper = control.yesnoDialog('To watch this video visit from any device', '[COLOR skyblue]%s[/COLOR]' % url, '', 'Torba', 'Cancel', 'Settings')
except: pass
workers.Thread(dialog, url).start()
control.sleep(3000)
for i in range(100):
try:
if not control.condVisibility('Window.IsActive(yesnoDialog)'): break
r = client.request(auth)
r = json.loads(r)
try: url = r['url']
except: url = None
if url == None: break
workers.Thread(dialog, url).start()
control.sleep(3000)
except:
pass
if self.disableScraper:
control.openSettings(query='2.0')
return ''
control.execute('Dialog.Close(yesnoDialog)')
if not url == None: return
stream_name = '%sp' % (query['height'])
video_stream = r[stream_name]
if not 'audio' in r: return video_stream
audio_stream = r['audio']
content = ('\n'.join(m3u8)).format(**{'audio_stream': audio_stream, 'stream_name': stream_name, 'video_stream': video_stream})
path = os.path.join(control.dataPath, 'torbase.m3u8')
control.makeFile(control.dataPath) ; control.deleteFile(path)
file = control.openFile(path, 'w') ; file.write(content) ; file.close()
return path
except:
return
开发者ID:mpie,项目名称:repo,代码行数:76,代码来源:torba_mv_tv_null.py
示例14: getDirectory
def getDirectory(name, url, audio, image, fanart, playable, content, close=True, local=False):
if local == True:
f = control.openFile(url) ; result = f.read() ; f.close()
else:
result = cache.get(client.request, 0, url)
try: r = base64.b64decode(result)
except: r = ''
if '</' in r: result = r
result = str(result).replace('\r','').replace('\n','').replace('\t','').replace(' ','')
try: fanart = re.findall('<fanart>(.+?)</fanart>', result)[0]
except: fanart = '0'
try:
notify = re.compile('<notify>(.+?)</notify>').findall(result)[0]
vip = re.findall('<poster>(.+?)</poster>', result)[0]
if not re.search('[a-zA-Z]', vip): raise Exception()
def message(vip): return (vip+version)
check = cache.get(message, 600000000, vip, table='rel_vip')
version = re.findall('<new>(.+?)</new>', notify)[0]
if not version.isdigit(): raise Exception()
if check == (vip+version): raise Exception()
title = '[B]Announcement From %s![/B]' % vip
msg1 = re.findall('<message1>(.+?)</message1>', notify)[0]
msg2 = re.findall('<message2>(.+?)</message2>', notify)[0]
msg3 = re.findall('<message3>(.+?)</message3>', notify)[0]
check = cache.get(message, 0, vip, table='rel_vip')
control.dialog.ok(str(title), str(msg1), str(msg2), str(msg3))
except:
pass
infos = re.compile('<info>(.+?)</info>').findall(result)
for info in infos:
try:
name = re.findall('<message>(.+?)</message>', info)[0]
try: image = re.findall('<thumbnail>(.+?)</thumbnail>', info)[0]
except: image = '0'
addDirectoryItem(name, '0', '0', image, image, fanart, '0', '0', {})
except:
pass
popups = re.compile('<popup>(.+?)</popup>').findall(result)
for popup in popups:
try:
name = re.findall('<name>(.+?)</name>', popup)[0]
url = re.findall('<popImage>(.+?)</popImage>', popup)[0]
try: image = re.findall('<thumbnail>(.+?)</thumbnail>', popup)[0]
except: image = '0'
try: audio = re.findall('<sound>(.+?)</sound>', popup)[0]
except: audio = '0'
addDirectoryItem(name, url, 'openDialog', image, image, fanart, audio, '0', {})
except:
pass
special = re.compile('<name>([^<]+)</name><link>([^<]+)</link><thumbnail>([^<]+)</thumbnail><date>([^<]+)</date>').findall(result)
for name, url, image, date in special:
if re.search(r'\d+', date): name += ' [COLOR red] Updated %s[/COLOR]' % date
addDirectoryItem(name, url, 'ndmode', image, image, fanart, '0', '0', {})
special = re.compile('<name>([^<]+)</name><link>([^<]+)</link><thumbnail>([^<]+)</thumbnail><mode>([^<]+)</mode>').findall(result)
for name, url, image, action in special:
if not url == phNews: addDirectoryItem(name, url, action, image, image, fanart, '0', '0', {})
meta = False
try: content = re.findall('<meta>(.+?)</meta>', result)[0]
except: content = '0'
try: tvshow = re.findall('<tvshow>(.+?)</tvshow>', result)[0]
except: tvshow = '0'
if content in ['seasons', 'episodes'] and tvshow == '0':
content = '0'
if content in ['movies', 'tvshows'] and control.setting('meta') == 'true':
try:
#.........这里部分代码省略.........
开发者ID:thedevgeeks,项目名称:kodi-15.2-Isengard-armeabi-v7a-master,代码行数:101,代码来源:phstreams.py
示例15: update
def update(self, query=None, info="true"):
if not query == None:
control.idle()
try:
items = []
season, episode = [], []
show = [os.path.join(self.library_folder, i) for i in control.listDir(self.library_folder)[0]]
for s in show:
try:
season += [os.path.join(s, i) for i in control.listDir(s)[0]]
except:
pass
for s in season:
try:
episode.append([os.path.join(s, i) for i in control.listDir(s)[1] if i.endswith(".strm")][-1])
except:
pass
for file in episode:
try:
file = control.openFile(file)
read = file.read()
read = read.encode("utf-8")
file.close()
if not read.startswith(sys.argv[0]):
raise Exception()
params = dict(urlparse.parse_qsl(read.replace("?", "")))
try:
tvshowtitle = params["tvshowtitle"]
except:
tvshowtitle = None
try:
tvshowtitle = params["show"]
except:
pass
if tvshowtitle == None or tvshowtitle == "":
raise Exception()
year, imdb, tvdb = params["year"], params["imdb"], params["tvdb"]
imdb = "tt" + re.sub("[^0-9]", "", str(imdb))
try:
tmdb = params["tmdb"]
except:
tmdb = "0"
try:
tvrage = params["tvrage"]
except:
tvrage = "0"
items.append(
{
"tvshowtitle": tvshowtitle,
"year": year,
"imdb": imdb,
"tmdb": tmdb,
"tvdb": tvdb,
"tvrage": tvrage,
}
)
except:
pass
items = [i for x, i in enumerate(items) if i not in items[x + 1 :]]
if len(items) == 0:
raise Exception()
except:
return
try:
lib = control.jsonrpc(
'{"jsonrpc": "2.0", "method": "VideoLibrary.GetTVShows", "params": {"properties" : ["imdbnumber", "title", "year"]}, "id": 1}'
)
lib = unicode(lib, "utf-8", errors="ignore")
lib = json.loads(lib)["result"]["tvshows"]
except:
return
if (
info == "true"
and not control.condVisibility("Window.IsVisible(infodialog)")
and not control.condVisibility("Player.HasVideo")
):
control.infoDialog(control.lang(30422).encode("utf-8"), time=10000000)
self.infoDialog = True
try:
control.makeFile(control.dataPath)
dbcon = database.connect(control.libcacheFile)
dbcur = dbcon.cursor()
dbcur.execute("CREATE TABLE IF NOT EXISTS tvshows (" "id TEXT, " "items TEXT, " "UNIQUE(id)" ");")
except:
return
try:
#.........这里部分代码省略.........
开发者ID:cuongnvth,项目名称:hieuhien.vn,代码行数:101,代码来源:libtools.py
示例16: get
def get(name, imdb, season, episode):
try:
langs = []
try:
try: langs = langDict[control.setting('sublang1')].split(',')
except: langs.append(langDict[control.setting('sublang1')])
except: pass
try:
try: langs = langs + langDict[control.setting('sublang2')].split(',')
except: langs.append(langDict[control.setting('sublang2')])
except: pass
try: subLang = xbmc.Player().getSubtitles()
except: subLang = ''
if subLang == langs[0]: raise Exception()
control.log('SUBS XXXXXX:%s' % name)
server = xmlrpclib.Server('http://api.opensubtitles.org/xml-rpc', verbose=0)
data = server.LogIn( control.setting('OSuser').strip(), control.setting('OSpass').strip(), 'en', subsversion)
token = data['token']
if data['status'] !='200 OK':
control.log("SUBS: Token %s, Status: %s" % (data['status'], data))
control.infoDialog('Open Subtitles Error: ' + str(data['status']), "Open Subtitles ERROR", time=6000)
#control.dialog.ok(control.addonInfo('name'), str('Open Subtitles error[CR]Check login and password in settings[CR][CR]Error: %s'% data['status']), '')
sublanguageid = ','.join(langs) ; imdbid = re.sub('[^0-9]', '', imdb)
if not (season == '' or episode == ''):
result = server.SearchSubtitles(token, [{'sublanguageid': sublanguageid, 'imdbid': imdbid, 'season': season, 'episode': episode}])['data']
fmt = ['hdtv']
else:
result = server.SearchSubtitles(token, [{'sublanguageid': sublanguageid, 'imdbid': imdbid}])['data']
try: vidPath = xbmc.Player().getPlayingFile()
except: vidPath = ''
fmt = re.split('\.|\(|\)|\[|\]|\s|\-', vidPath)
fmt = [i.lower() for i in fmt]
fmt = [i for i in fmt if i in quality]
filter = []
result = [i for i in result if i['SubSumCD'] == '1']
for lang in langs:
filter += [i for i in result if i['SubLanguageID'] == lang and any(x in i['MovieReleaseName'].lower() for x in fmt)]
filter += [i for i in result if i['SubLanguageID'] == lang and any(x in i['MovieReleaseName'].lower() for x in quality)]
filter += [i for i in result if i['SubLanguageID'] == lang]
try: lang = xbmc.convertLanguage(filter[0]['SubLanguageID'], xbmc.ISO_639_1)
except: lang = filter[0]['SubLanguageID']
content = [filter[0]['IDSubtitleFile'],]
content = server.DownloadSubtitles(token, content)
content = base64.b64decode(content['data'][0]['data'])
content = str(zlib.decompressobj(16+zlib.MAX_WBITS).decompress(content))
subtitle = xbmc.translatePath('special://temp/')
subtitle = os.path.join(subtitle, 'TemporarySubs.%s.srt' % lang)
codepage = codePageDict.get(lang, '')
if codepage and control.setting('autoconvert_utf8') == 'true':
try:
content_encoded = codecs.decode(content, codepage)
content = codecs.encode(content_encoded, 'utf-8')
except:
pass
file = control.openFile(subtitle, 'w')
file.write(str(content))
file.close()
xbmc.sleep(1000)
xbmc.Player().setSubtitles(subtitle)
except Exception as e:
control.log('SUBS: Error %s' %e)
pass
开发者ID:rrosajp,项目名称:filmkodi,代码行数:75,代码来源:subtitles.py
示例17: get
def get(name, imdb, season, episode):
try:
langs = []
try:
try:
langs = langDict[control.setting("sublang1")].split(",")
except:
langs.append(langDict[control.setting("sublang1")])
except:
pass
try:
try:
langs = langs + langDict[control.setting("sublang2")].split(",")
except:
langs.append(langDict[control.setting("sublang2")])
except:
pass
try:
subLang = xbmc.Player().getSubtitles()
except:
subLang = ""
if subLang == langs[0]:
raise Exception()
server = xmlrpclib.Server("http://api.opensubtitles.org/xml-rpc", verbose=0)
token = server.LogIn("", "", "en", "XBMC_Subtitles_v1")["token"]
sublanguageid = ",".join(langs)
imdbid = re.sub("[^0-9]", "", imdb)
if not (season == "" or episode == ""):
result = server.SearchSubtitles(
token, [{"sublanguageid": sublanguageid, "imdbid": imdbid, "season": season, "episode": episode}]
)["data"]
fmt = ["hdtv"]
else:
result = server.SearchSubtitles(token, [{"sublanguageid": sublanguageid, "imdbid": imdbid}])["data"]
try:
vidPath = xbmc.Player().getPlayingFile()
except:
vidPath = ""
fmt = re.split("\.|\(|\)|\[|\]|\s|\-", vidPath)
fmt = [i.lower() for i in fmt]
fmt = [i for i in fmt if i in quality]
filter = []
result = [i for i in result if i["SubSumCD"] == "1"]
for lang in langs:
filter += [
i for i in result if i["SubLanguageID"] == lang and any(x in i["MovieReleaseName"].lower() for x in fmt)
]
filter += [
i
for i in result
if i["SubLanguageID"] == lang and any(x in i["MovieReleaseName"].lower() for x in quality)
]
filter += [i for i in result if i["SubLanguageID"] == lang]
try:
lang = xbmc.convertLanguage(filter[0]["SubLanguageID"], xbmc.ISO_639_1)
except:
lang = filter[0]["SubLanguageID"]
content = [filter[0]["IDSubtitleFile"]]
content = server.DownloadSubtitles(token, content)
content = base64.b64decode(content["data"][0]["data"])
content = str(zlib.decompressobj(16 + zlib.MAX_WBITS).decompress(content))
subtitle = xbmc.translatePath("special://temp/")
subtitle = os.path.join(subtitle, "TemporarySubs.%s.srt" % lang)
codepage = codePageDict.get(lang, "")
if codepage and control.setting("autoconvert_utf8") == "true":
try:
content_encoded = codecs.decode(content, codepage)
content = codecs.encode(content_encoded, "utf-8")
except:
pass
file = control.openFile(subtitle, "w")
file.write(str(content))
file.close()
xbmc.sleep(1000)
xbmc.Player().setSubtitles(subtitle)
except:
pass
开发者ID:bialagary,项目名称:mw,代码行数:89,代码来源:subtitles.py
|
请发表评论