def _get_cached(cls): logger.info("Fetching cached updates...") cache = Storage.get('update_cache') extensions = [Extension(name=name) for name, _ in cache.items()] for extension in extensions: if extension.is_installed and extension.is_configured: extension.remote.version = Version(cache[extension.name]) return extensions
def _wrapItem(self, extension): name = extension[u'filename'].split("/")[-1] search = [] if name: search.append(name.lower()) if extension[u'author']: search.append(extension[u'author'].lower()) if extension[u'description']: search.append(extension[u'description'].lower()) item = { 'is_installed': Extension(name=name).is_installed, 'extension': extension, 'search': ' '.join(search) } return super(InstallationList, self)._wrapItem(item)
def import_extension(self, file): extension = Extension(path=file[0]) if extension.bundle.bundleExists(): self.name.set(extension.bundle.name) self.filename.set(extension.filename) self.repository.set(extension.repository)
def uninstallable(self): filenames = [item['filename'] for item in self.list.selected] names = [filename.split("/")[-1] for filename in filenames] extensions = [Extension(name=name) for name in names] return [ext for ext in extensions if ext.is_installed]