def _generate_size_file( self ): for platform in self.platforms: for libname in get_libname(platform): self.libname=libname self.platform=platform self.libdir = os.path.join(self.root, self.platform['system'], self.platform['version']) self.libpath = os.path.join(self.libdir, self.libname) self.sizepath=self.libpath+'.size.txt' self.zipname=self.libname+'.zip' zippath=os.path.join(self.libdir, self.zipname) system=platform['system']+'/'+platform['version']+'/' if os.path.exists(self.libpath): if not os.path.exists(self.sizepath): print system+self.libname+' NO SIZE' self._makezip() elif not os.path.exists(zippath): print system+self.libname+' NO ZIP' self._makezip() else: size=str(os.path.getsize(self.libpath)) size_old=open( self.sizepath, "r" ).read() if size_old!=size: print system+self.libname+' NOT EQUAL' self._makezip() else: print system+self.libname+' NO ACTION' else: print system+self.libname+' NO LIB'
def _generate_size_file(self): for platform in self.platforms: for libname in get_libname(platform): self.libname = libname self.platform = platform self.libdir = os.path.join(self.root, self.platform['system'], self.platform['version']) self.libpath = os.path.join(self.libdir, self.libname) self.sizepath = self.libpath + '.size.txt' self.zipname = self.libname + '.zip' zippath = os.path.join(self.libdir, self.zipname) system = platform['system'] + '/' + platform['version'] + '/' if os.path.exists(self.libpath): if not os.path.exists(self.sizepath): print system + self.libname + ' NO SIZE' self._makezip() elif not os.path.exists(zippath): print system + self.libname + ' NO ZIP' self._makezip() else: size = str(os.path.getsize(self.libpath)) size_old = open(self.sizepath, "r").read() if size_old != size: print system + self.libname + ' NOT EQUAL' self._makezip() else: print system + self.libname + ' NO ACTION' else: print system + self.libname + ' NO LIB'
def check_update(self): need_update=False for libname in get_libname(self.platform): if libname!='liblibtorrent.so': self.libpath = os.path.join(self.dest_path, libname) self.sizepath=os.path.join(self.root, self.platform['system'], self.platform['version'], libname+'.size.txt') size=str(os.path.getsize(self.libpath)) size_old=open( self.sizepath, "r" ).read() if size_old!=size: need_update=True return need_update
def android_workaround(self, new_dest_path): for libname in get_libname(self.platform): libpath=os.path.join(self.dest_path, libname) size=str(os.path.getsize(libpath)) new_libpath=os.path.join(new_dest_path, libname) if not xbmcvfs.exists(new_libpath): xbmcvfs.copy(libpath, new_libpath) log('Copied %s -> %s' %(libpath, new_libpath)) else: new_size=str(os.path.getsize(new_libpath)) if size!=new_size: xbmcvfs.delete(new_libpath) xbmcvfs.copy(libpath, new_libpath) log('Deleted and copied (%s) %s -> (%s) %s' %(size, libpath, new_size, new_libpath)) return new_dest_path
def tools_download(self): for libname in get_libname(self.platform): dest = os.path.join(self.dest_path, libname) log("try to fetch %s" % libname) url = "%s/%s/%s.zip" % (__libbaseurl__, self.platform['system'], libname) if libname!='liblibtorrent.so': try: self.http = HTTP() self.http.fetch(url, download=dest + ".zip", progress=True) log("%s -> %s" % (url, dest)) xbmc.executebuiltin('XBMC.Extract("%s.zip","%s")' % (dest, self.dest_path), True) xbmcvfs.delete(dest + ".zip") except: text = 'Failed download %s!' % libname xbmc.executebuiltin("XBMC.Notification(%s,%s,%s,%s)" % (__plugin__,text,750,__icon__)) else: x=xbmcvfs.copy(os.path.join(self.dest_path, 'libtorrent.so'), dest) return True
def download(self): xbmcvfs.mkdirs(self.dest_path) for libname in get_libname(self.platform): dest = os.path.join(self.dest_path, libname) log("try to fetch %s" % libname) url = "%s/%s/%s/%s.zip" % (__libbaseurl__, self.platform['system'], self.platform['version'], libname) if libname!='liblibtorrent.so': try: self.http = HTTP() self.http.fetch(url, download=dest + ".zip", progress=True) log("%s -> %s" % (url, dest)) xbmc.executebuiltin('XBMC.Extract("%s.zip","%s")' % (dest, self.dest_path), True) xbmcvfs.delete(dest + ".zip") except: text = 'Failed download %s!' % libname xbmc.executebuiltin("XBMC.Notification(%s,%s,%s,%s)" % (__plugin__,text,750,__icon__)) else: xbmcvfs.copy(os.path.join(self.dest_path, 'libtorrent.so'), dest) return True
def update(self): if self.check_update(): for libname in get_libname(self.platform): self.libpath = os.path.join(self.dest_path, libname) xbmcvfs.delete(self.libpath) self.download()
def check_exist(self): for libname in get_libname(self.platform): if not xbmcvfs.exists(os.path.join(self.dest_path,libname)): return False return True