[Uludag-commits] r16988 - trunk/tasma/package-manager/src

uludag-commits at pardus.org.tr uludag-commits at pardus.org.tr
5 Şub 2008 Sal 16:42:40 EET


Author: gokcen.eraslan
Date: Tue Feb  5 16:42:38 2008
New Revision: 16988

Modified:
   trunk/tasma/package-manager/src/MainWidget.py
   trunk/tasma/package-manager/src/PackageCache.py
Log:
fix wrong repository info about packages that are not installed from repositories but also available in repositories

Modified: trunk/tasma/package-manager/src/MainWidget.py
=================================================================
--- trunk/tasma/package-manager/src/MainWidget.py	(original)
+++ trunk/tasma/package-manager/src/MainWidget.py	Tue Feb  5 16:42:38 2008
@@ -219,6 +219,7 @@
     # Executed when 'Show Installed Packages' is clicked
     def removeState(self, reset=True):
         Globals.setWaitCursor()
+
         if reset:
             self.resetState()
         self.parent.showInstalledAction.setChecked(True)
@@ -231,6 +232,7 @@
         self.basket.setState(self.state)
         self.setLastSelected()
         self.updateStatusBar()
+
         Globals.setNormalCursor()
 
     # Executed when 'Show Upgradable Packages' is clicked

Modified: trunk/tasma/package-manager/src/PackageCache.py
=================================================================
--- trunk/tasma/package-manager/src/PackageCache.py	(original)
+++ trunk/tasma/package-manager/src/PackageCache.py	Tue Feb  5 16:42:38 2008
@@ -51,11 +51,22 @@
     def populateCache(self, packages, inInstalled = False):
         for pkg_name in packages:
             if inInstalled:
+                packageInstalled = pisi.db.installdb.InstallDB().get_package(pkg_name)
                 try:
-                    package, repo = pisi.db.packagedb.PackageDB().get_package_repo(pkg_name)
+                    packageInRepo, repoOfPackage = pisi.db.packagedb.PackageDB().get_package_repo(pkg_name)
+                    # if package is in both packagedb and installdb, then think that if they are same. If not, this means package is installed manually
+                    if packageInRepo.version != packageInstalled.version or \
+                            packageInRepo.release != packageInstalled.release or \
+                            packageInRepo.build != packageInstalled.build:
+                        package = packageInstalled
+                        repo = i18n("N\A")
+                    else:
+                        package = packageInRepo
+                        repo = repoOfPackage
                 except:
-                    package = pisi.db.installdb.InstallDB().get_package(pkg_name)
+                    # this means PackageDB exception, so package is installed manually
                     repo = i18n("N\A")
+
                 size = package.installedSize
             else:
                 package, repo = pisi.db.packagedb.PackageDB().get_package_repo(pkg_name)


Uludag-commits mesaj listesiyle ilgili daha fazla bilgi