本文整理汇总了Python中resources.lib.libraries.control.makeFile函数的典型用法代码示例。如果您正苦于以下问题:Python makeFile函数的具体用法?Python makeFile怎么用?Python makeFile使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了makeFile函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: 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
示例2: 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
示例3: addFavourite
def addFavourite(meta, content, query):
try:
item = dict()
meta = json.loads(meta)
imdb = item['imdb'] = meta['imdb']
if 'title' in meta: title = item['title'] = meta['title']
if 'tvshowtitle' in meta: title = item['title'] = meta['tvshowtitle']
if 'year' in meta: item['year'] = meta['year']
if 'poster' in meta: item['poster'] = meta['poster']
if 'fanart' in meta: item['fanart'] = meta['fanart']
if 'tmdb' in meta: item['tmdb'] = meta['tmdb']
if 'tvdb' in meta: item['tvdb'] = meta['tvdb']
if 'tvrage' in meta: item['tvrage'] = meta['tvrage']
control.makeFile(control.dataPath)
dbcon = database.connect(control.favouritesFile)
dbcur = dbcon.cursor()
dbcur.execute("CREATE TABLE IF NOT EXISTS %s (""id TEXT, ""items TEXT, ""UNIQUE(id)"");" % content)
dbcur.execute("DELETE FROM %s WHERE id = '%s'" % (content, imdb))
dbcur.execute("INSERT INTO %s Values (?, ?)" % content, (imdb, repr(item)))
dbcon.commit()
if query == None: control.refresh()
control.infoDialog(control.lang(30411).encode('utf-8'), heading=title)
except:
return
示例4: timeout
def timeout(function, *args, **table):
try:
response = None
f = repr(function)
f = re.sub('.+\smethod\s|.+function\s|\sat\s.+|\sof\s.+', '', f)
a = hashlib.md5()
for i in args: a.update(str(i))
a = str(a.hexdigest())
except:
pass
try:
table = table['table']
except:
table = 'rel_list'
try:
control.makeFile(control.dataPath)
dbcon = database.connect(control.cacheFile)
dbcur = dbcon.cursor()
dbcur.execute("SELECT * FROM %s WHERE func = '%s' AND args = '%s'" % (table, f, a))
match = dbcur.fetchone()
return int(match[3])
except:
return
示例5: 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
示例6: getSources
def getSources(self, name, title, year, imdb, tmdb, tvdb, tvrage, season, episode, tvshowtitle, alter, date):
sourceDict = []
for package, name, is_pkg in pkgutil.walk_packages(__path__): sourceDict.append((name, is_pkg))
sourceDict = [i[0] for i in sourceDict if i[1] == False]
content = 'movie' if tvshowtitle == None else 'episode'
if content == 'movie':
sourceDict = [i for i in sourceDict if i.endswith(('_mv', '_mv_tv'))]
try: sourceDict = [(i, control.setting(re.sub('_mv_tv$|_mv$|_tv$', '', i))) for i in sourceDict]
except: sourceDict = [(i, 'true') for i in sourceDict]
else:
sourceDict = [i for i in sourceDict if i.endswith(('_tv', '_mv_tv'))]
try: sourceDict = [(i, control.setting(re.sub('_mv_tv$|_mv$|_tv$', '', i) + '_tv')) for i in sourceDict]
except: sourceDict = [(i, 'true') for i in sourceDict]
global global_sources
global_sources = []
threads = []
control.makeFile(control.dataPath)
self.sourceFile = control.sourcescacheFile
sourceDict = [i[0] for i in sourceDict if i[1] == 'true']
if content == 'movie':
title = cleantitle.normalize(title)
for source in sourceDict: threads.append(workers.Thread(self.getMovieSource, title, year, imdb, re.sub('_mv_tv$|_mv$|_tv$', '', source), __import__(source, globals(), locals(), [], -1).source()))
else:
tvshowtitle = cleantitle.normalize(tvshowtitle)
season, episode = alterepisode.alterepisode().get(imdb, tmdb, tvdb, tvrage, season, episode, alter, title, date)
for source in sourceDict: threads.append(workers.Thread(self.getEpisodeSource, title, year, imdb, tvdb, season, episode, tvshowtitle, date, re.sub('_mv_tv$|_mv$|_tv$', '', source), __import__(source, globals(), locals(), [], -1).source()))
try: timeout = int(control.setting('sources_timeout_40'))
except: timeout = 40
[i.start() for i in threads]
#[i.join() for i in threads] ; self.sources = global_sources ; return self.sources
for i in range(0, timeout * 2):
is_alive = [x.is_alive() for x in threads]
if all(x == False for x in is_alive): break
time.sleep(0.5)
for i in range(0, 5 * 2):
is_alive = len([i for i in threads if i.is_alive() == True])
if is_alive < 10: break
time.sleep(0.5)
self.sources = global_sources
return self.sources
示例7: service
def service(self):
try:
control.makeFile(control.dataPath)
dbcon = database.connect(control.libcacheFile)
dbcur = dbcon.cursor()
dbcur.execute("CREATE TABLE IF NOT EXISTS service (""setting TEXT, ""value TEXT, ""UNIQUE(setting)"");")
dbcur.execute("SELECT * FROM service WHERE setting = 'last_run'")
fetch = dbcur.fetchone()
if fetch == None:
serviceProperty = "1970-01-01 23:59:00.000000"
dbcur.execute("INSERT INTO service Values (?, ?)", ('last_run', serviceProperty))
dbcon.commit()
else:
serviceProperty = str(fetch[1])
dbcon.close()
except:
try: return dbcon.close()
except: return
try: control.window.setProperty(self.property, serviceProperty)
except: return
while (not xbmc.abortRequested):
try:
serviceProperty = control.window.getProperty(self.property)
t1 = datetime.timedelta(hours=6)
t2 = datetime.datetime.strptime(serviceProperty, '%Y-%m-%d %H:%M:%S.%f')
t3 = datetime.datetime.now()
check = abs(t3 - t2) > t1
if check == False: raise Exception()
if (control.player.isPlaying() or control.condVisibility('Library.IsScanningVideo')): raise Exception()
serviceProperty = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
control.window.setProperty(self.property, serviceProperty)
try:
dbcon = database.connect(control.libcacheFile)
dbcur = dbcon.cursor()
dbcur.execute("CREATE TABLE IF NOT EXISTS service (""setting TEXT, ""value TEXT, ""UNIQUE(setting)"");")
dbcur.execute("DELETE FROM service WHERE setting = 'last_run'")
dbcur.execute("INSERT INTO service Values (?, ?)", ('last_run', serviceProperty))
dbcon.commit()
dbcon.close()
except:
try: dbcon.close()
except: pass
if not control.setting('service_update') == 'true': raise Exception()
info = control.setting('service_notification') or 'true'
self.update(None, info=info)
except:
pass
control.sleep(10000)
示例8: get
def get(function, timeout, *args, **table):
try:
response = None
f = repr(function)
f = re.sub('.+\smethod\s|.+function\s|\sat\s.+|\sof\s.+', '', f)
a = hashlib.md5()
for i in args: a.update(str(i))
a = str(a.hexdigest())
except:
pass
try:
table = table['table']
except:
table = 'rel_list'
try:
control.makeFile(control.dataPath)
dbcon = database.connect(control.cacheFile)
dbcur = dbcon.cursor()
dbcur.execute("SELECT * FROM %s WHERE func = '%s' AND args = '%s'" % (table, f, a))
match = dbcur.fetchone()
response = eval(match[2].encode('utf-8'))
t1 = int(match[3])
t2 = int(time.time())
update = (abs(t2 - t1) / 3600) >= int(timeout)
if update == False:
return response
except:
pass
try:
r = function(*args)
if (r == None or r == []) and not response == None:
return response
elif (r == None or r == []):
return r
except:
return
try:
r = repr(r)
t = int(time.time())
dbcur.execute("CREATE TABLE IF NOT EXISTS %s (""func TEXT, ""args TEXT, ""response TEXT, ""added TEXT, ""UNIQUE(func, args)"");" % table)
dbcur.execute("DELETE FROM %s WHERE func = '%s' AND args = '%s'" % (table, f, a))
dbcur.execute("INSERT INTO %s Values (?, ?, ?, ?)" % table, (f, a, r, t))
dbcon.commit()
except:
pass
try:
return eval(r.encode('utf-8'))
except:
pass
示例9: checkSources
def checkSources(self, name, title, year, imdb, tmdb, tvdb, tvrage, season, episode, tvshowtitle, alter, date):
sourceDict = []
for package, name, is_pkg in pkgutil.walk_packages(__path__): sourceDict.append((name, is_pkg))
sourceDict = [i[0] for i in sourceDict if i[1] == False]
content = 'movie' if tvshowtitle == None else 'episode'
if content == 'movie':
sourceDict = [i for i in sourceDict if i.endswith(('_mv', '_mv_tv'))]
try: sourceDict = [(i, control.setting(re.sub('_mv_tv$|_mv$|_tv$', '', i))) for i in sourceDict]
except: sourceDict = [(i, 'true') for i in sourceDict]
else:
sourceDict = [i for i in sourceDict if i.endswith(('_tv', '_mv_tv'))]
try: sourceDict = [(i, control.setting(re.sub('_mv_tv$|_mv$|_tv$', '', i) + '_tv')) for i in sourceDict]
except: sourceDict = [(i, 'true') for i in sourceDict]
threads = []
control.makeFile(control.dataPath)
self.sourceFile = control.sourcescacheFile
sourceDict = [i[0] for i in sourceDict if i[1] == 'true']
if content == 'movie':
title = cleantitle.normalize(title)
for source in sourceDict: threads.append(workers.Thread(self.getMovieSource, title, year, imdb, re.sub('_mv_tv$|_mv$|_tv$', '', source), __import__(source, globals(), locals(), [], -1).source()))
else:
tvshowtitle = cleantitle.normalize(tvshowtitle)
season, episode = alterepisode.alterepisode().get(imdb, tmdb, tvdb, tvrage, season, episode, alter, title, date)
for source in sourceDict:
#control.log("SOURCE S2 %s" % source)
threads.append(workers.Thread(self.getEpisodeSource, title, year, imdb, tvdb, season, episode, tvshowtitle, date, re.sub('_mv_tv$|_mv$|_tv$', '', source), __import__(source, globals(), locals(), [], -1).source()))
try: timeout = int(control.setting('sources_timeout_40'))
except: timeout = 40
[i.start() for i in threads]
for i in range(0, timeout * 2):
try:
if xbmc.abortRequested == True: return sys.exit()
if len(self.sources) >= 10: break
is_alive = [x.is_alive() for x in threads]
if all(x == False for x in is_alive): break
time.sleep(0.5)
except:
pass
if len(self.sources) >= 10: return True
else: return False
示例10: deleteBookmark
def deleteBookmark(name, imdb='0'):
try:
idFile = hashlib.md5()
for i in name: idFile.update(str(i))
for i in imdb: idFile.update(str(i))
idFile = str(idFile.hexdigest())
control.makeFile(control.dataPath)
dbcon = database.connect(control.databaseFile)
dbcur = dbcon.cursor()
dbcur.execute("CREATE TABLE IF NOT EXISTS bookmark (""idFile TEXT, ""timeInSeconds TEXT, ""UNIQUE(idFile)"");")
dbcur.execute("DELETE FROM bookmark WHERE idFile = '%s'" % idFile)
dbcon.commit()
except:
pass
示例11: clearSources
def clearSources(self):
try:
yes = control.yesnoDialog(control.lang(30510).encode('utf-8'), '', '')
if not yes: return
control.makeFile(control.dataPath)
dbcon = database.connect(control.sourcescacheFile)
dbcur = dbcon.cursor()
dbcur.execute("DROP TABLE IF EXISTS rel_src")
dbcur.execute("VACUUM")
dbcon.commit()
control.infoDialog(control.lang(30511).encode('utf-8'))
except:
pass
示例12: fetchImdb
def fetchImdb(items):
try:
control.makeFile(control.dataPath)
dbcon = database.connect(control.metacacheFile)
dbcur = dbcon.cursor()
for i in range(0, len(items)):
try:
dbcur.execute("SELECT imdb, tmdb FROM meta_imdb WHERE (title = '%s')" % (items[i]['title']))
item = dbcur.fetchone()
try :items[i].update({'imdb':item[0], 'tmdb': item[1]})
except: pass
except:
pass
dbcur.close()
dbcon.close()
except:
pass
return items
示例13: insert
def insert(meta):
try:
control.makeFile(control.dataPath)
dbcon = database.connect(control.metacacheFile)
dbcur = dbcon.cursor()
dbcur.execute("CREATE TABLE IF NOT EXISTS meta (""imdb TEXT, ""tmdb TEXT, ""tvdb TEXT, ""lang TEXT, ""item TEXT, ""time TEXT, ""UNIQUE(imdb, tmdb, tvdb, lang)"");")
t = int(time.time())
for m in meta:
try:
i = repr(m['item'])
try: dbcur.execute("DELETE * FROM meta WHERE (imdb = '%s' and lang = '%s' and not imdb = '0') or (tmdb = '%s' and lang = '%s' and not tmdb = '0') or (tvdb = '%s' and lang = '%s' and not tvdb = '0')" % (m['imdb'], m['lang'], m['tmdb'], m['lang'], m['tvdb'], m['lang']))
except: pass
dbcur.execute("INSERT INTO meta Values (?, ?, ?, ?, ?, ?)", (m['imdb'], m['tmdb'], m['tvdb'], m['lang'], i, t))
except:
pass
dbcon.commit()
except:
return
示例14: 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
示例15: insertImdb
def insertImdb(items):
try :
control.makeFile(control.dataPath)
dbcon = database.connect(control.metacacheFile)
dbcur = dbcon.cursor()
dbcur.execute("CREATE TABLE IF NOT EXISTS meta_imdb ("" title TEXT, ""imdb TEXT, ""tmdb TEXT, ""time TEXT,""UNIQUE(imdb, tmdb, title)"");")
t = int(time.time())
for item in items:
if not item['imdb'] == '0' or not item['tmdb'] == '0':
try:
try: dbcur.execute("DELETE FROM meta_imdb WHERE title = '%s'" % (item['title']))
except:
pass
dbcur.execute("INSERT INTO meta_imdb Values (?, ?, ?, ?)", (item['title'], item['imdb'], item['tmdb'], t))
except:
pass
dbcon.commit()
except:
return