class PackageModel(QAbstractTableModel): def __init__(self, parent=None): QAbstractTableModel.__init__(self, parent) self.iface = backend.pm.Iface() self._flags = Qt.ItemIsSelectable | Qt.ItemIsEnabled | Qt.ItemIsUserCheckable self.initPhase() self.state = parent.state self.appinfo = AppInfoClient() self.appinfo.setServer('http://appinfo.pisilinux.org.tr') if not self.appinfo.initializeLocalDB()[0]: self.appinfo.checkOutDB() def initPhase(self): self.resetCachedInfos() self.packages = [] def rowCount(self, index=QModelIndex()): return len(self.packages) def columnCount(self, index=QModelIndex()): if self._flags & Qt.ItemIsUserCheckable: return 2 return 1 def data(self, index, role=Qt.DisplayRole): if not index.isValid(): return _variant if role == Qt.DisplayRole: return QVariant(self.packages[index.row()]) elif role == Qt.CheckStateRole and index.column() == 0: return QVariant(self.package_selections[index.row()]) if role >= Qt.UserRole: try: package = self.package(index) except Exception, e: logger.warning(e) return _variant if role == SummaryRole: return QVariant(unicode(package.summary)) elif role == DescriptionRole: return QVariant(unicode(package.description)) elif role == TypeRole: return QVariant(unicode(package._type)) elif role == SizeRole: return QVariant(unicode(humanReadableSize(self.iface.getPackageSize(package)))) elif role == VersionRole: return QVariant(unicode(package.version)) elif role == InstalledVersionRole: if self.state.inUpgrade(): return QVariant(unicode(self.iface.getInstalledVersion(package.name))) return _variant elif role == RepositoryRole: if not self.state.inRemove(): return QVariant(unicode(self.iface.getPackageRepository(package.name))) return _variant elif role == HomepageRole: return QVariant(unicode(package.source.homepage)) elif role == InstalledRole: return QVariant(unicode(package.installed)) elif role == ComponentRole: return QVariant(unicode(package.partOf)) elif role == IsaRole: isa = '' if not len(package.isA) > 0 else package.isA[0] return QVariant(unicode(isa)) elif role == RateRole: return QVariant(self.appinfo.getPackageScore(package.name)) elif role == NameRole: return QVariant(package.name) elif role == Qt.DecorationRole: package = self.package(index) if package.icon: return QVariant(package.icon) return _variant
class PackageModel(QAbstractTableModel): def __init__(self, parent=None): QAbstractTableModel.__init__(self, parent) self.iface = backend.pm.Iface() self._flags = Qt.ItemIsSelectable | Qt.ItemIsEnabled | Qt.ItemIsUserCheckable self.initPhase() self.state = parent.state self.appinfo = AppInfoClient() self.appinfo.setServer('http://appinfo.pardus.org.tr') if not self.appinfo.initializeLocalDB()[0]: self.appinfo.checkOutDB() def initPhase(self): self.resetCachedInfos() self.packages = [] def rowCount(self, index=QModelIndex()): return len(self.packages) def columnCount(self, index=QModelIndex()): if self._flags & Qt.ItemIsUserCheckable: return 2 return 1 def data(self, index, role=Qt.DisplayRole): if not index.isValid(): return _variant if role == Qt.DisplayRole: return QVariant(self.packages[index.row()]) elif role == Qt.CheckStateRole and index.column() == 0: return QVariant(self.package_selections[index.row()]) if role >= Qt.UserRole: try: package = self.package(index) except Exception, e: logger.warning(e) return _variant if role == SummaryRole: return QVariant(unicode(package.summary)) elif role == DescriptionRole: return QVariant(unicode(package.description)) elif role == TypeRole: return QVariant(unicode(package._type)) elif role == SizeRole: return QVariant(unicode(humanReadableSize(self.iface.getPackageSize(package)))) elif role == VersionRole: return QVariant(unicode(package.version)) elif role == InstalledVersionRole: if self.state.inUpgrade(): return QVariant(unicode(self.iface.getInstalledVersion(package.name))) return _variant elif role == RepositoryRole: if not self.state.inRemove(): return QVariant(unicode(self.iface.getPackageRepository(package.name))) return _variant elif role == HomepageRole: return QVariant(unicode(package.source.homepage)) elif role == InstalledRole: return QVariant(unicode(package.installed)) elif role == ComponentRole: return QVariant(unicode(package.partOf)) elif role == IsaRole: isa = '' if not len(package.isA) > 0 else package.isA[0] return QVariant(unicode(isa)) elif role == RateRole: return QVariant(self.appinfo.getPackageScore(package.name)) elif role == NameRole: return QVariant(package.name) elif role == Qt.DecorationRole: package = self.package(index) if package.icon: return QVariant(package.icon) return _variant
print ' - Trying to initialize Server DB:', server.initializeDB(options.filename)[1] if options.createdb: print ' - Trying to create db:' , server.createDB(options.filename or 'appinfo.db')[1] if options.updatepkgdb: print ' - Trying to update packagelist:', server.updatePackageList()[1] if options.resetdb: print ' - Trying to reset scores:', server.resetPackageScores() if not options.resetdb and len(args) > 1: print ' - Trying to update package "%s" score:' % args[0], server.updatePackageScore(args[0], float(args[1]))[1] if clientonly: if not options.server == '': client.setServer(options.server) if options.updatedb: update_db = client.checkOutDB() if update_db[0]: print ' - Trying to update local db from: %s' % client.remote_db, client.checkOutDB()[1] else: print ' - Trying to update local db:', update_db[1] if options.filename: init_db = client.initializeDB(options.filename) else: init_db = client.initializeLocalDB() print ' - Trying to initialize Client DB:', init_db[1] if len(args) > 0: print ' - Trying to get score for package "%s":' % args[0], client.getPackageScore(args[0]) else: server.closeAndUpdateSum()
print ' - Trying to update package "yali" score:' print ' ', server.updatePackageScore('yali', 5)[1] print print ' - Trying to get score for package "yali":' print ' ', client.getPackageScore('yali') print print ' - Trying to reset package score:' print ' ', server.resetPackageScores('yali')[1] print print ' - Trying to get score for package "yali":' print ' ', client.getPackageScore('yali') print print ' - Get AppInfo Client dir:' print ' ', client.path print print ' - Remote Server Test' print ' ------------------' print print ' - Trying to set server as "http://cekirdek.pardus.org.tr/~gokmen/":' print ' ', client.setServer('http://cekirdek.pardus.org.tr/~gokmen/') print print ' - Trying to check out DB from server:' print ' ', client.checkOutDB() print print ' - Trying to get score for package "yali":' print ' ', client.getPackageScore('yali') print print ' - Trying to get score for package "package-manager":' print ' ', client.getPackageScore('package-manager') print