Exemple #1
0
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
Exemple #3
0
        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()
Exemple #4
0
    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
Exemple #5
0
        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()
Exemple #6
0
    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