From f0a96b0d1e5ed575be3a061e3123bc408950b7ee Mon Sep 17 00:00:00 2001 From: regeciovad Date: Nov 28 2014 22:17:26 +0000 Subject: DNF version, not final --- diff --git a/src/bodhiworker.py b/src/bodhiworker.py index e051f03..9cf53f7 100644 --- a/src/bodhiworker.py +++ b/src/bodhiworker.py @@ -66,14 +66,14 @@ class BodhiWorker(QtCore.QThread): # Is something from this package running? ## Find package in installed packages - for pkg in self.installed_packages: - if pkg.name == bodhi_update['parsed_nvr']['name']: + #for pkg in self.installed_packages: + #if pkg.name == bodhi_update['parsed_nvr']['name']: # Check for every process if it is in filelist - for proc_name in self.process_list: - if proc_name in pkg.filelist: + #for proc_name in self.process_list: + #if proc_name in pkg.filelist: # Append binary to list - bodhi_update['currently_running'].append(proc_name) - break + #bodhi_update['currently_running'].append(proc_name) + #break # Send it to main thread main_thread_call(self.main_thread.bodhi_process_result, @@ -128,10 +128,12 @@ class BodhiWorker(QtCore.QThread): # Which category is it? category = 'others' ## Search for desktop file - for filename in installed_pkg.filelist: - if re.search('^/usr/share/applications/(.*).desktop$', filename): - category = 'desktop' - break + #for filename in installed_pkg.filelists: + #if re.search('^/usr/share/applications/(.*).desktop$', filename): + #category = 'desktop' + #break + + pkgs[category][name] = installed_pkg except IOError, e: @@ -156,6 +158,7 @@ class BodhiWorker(QtCore.QThread): for update in pkg_update: for build in update['builds']: # Does this build match with our current build? + package.nvr = package.name + '-' + package.version + '-' + package.release if build['nvr'] == package.nvr: update['itemlist_name'] = package.nvr update['yum_package'] = package diff --git a/src/fedora-gooey-karma b/src/fedora-gooey-karma index a525e6b..c0991ef 100755 --- a/src/fedora-gooey-karma +++ b/src/fedora-gooey-karma @@ -307,6 +307,7 @@ class MainWindow(QtGui.QMainWindow): def set_installed_packages(self, packages): self.add_status_item(str(len(packages)) + " installed packages on system") for pkg in packages: + pkg.nvr = pkg.name + '-' + pkg.version + '-' + pkg.release self.__installed_packages[pkg.nvr] = pkg #self.__installed_packages = packages @@ -588,13 +589,13 @@ class MainWindow(QtGui.QMainWindow): yum_values['installed_timedelta'] = str(install_age.seconds / 60) + " minutes" # Calculate package size - if yum_pkg.packagesize > 1e6: + if yum_pkg.size > 1e6: # It's better to display human readable number format # for the package size, e.g. 1 M (as does $ yum info) - yum_values['size'] = "{:0.1f} M".format(round(yum_pkg.packagesize/1e6, 1)) + yum_values['size'] = "{:0.1f} M".format(round(yum_pkg.size/1e6, 1)) else: - yum_values['size'] = "{:0.1f} k".format(round(yum_pkg.packagesize/1e3, 1)) - yum_values['repo'] = yum_pkg.repo + yum_values['size'] = "{:0.1f} k".format(round(yum_pkg.size/1e3, 1)) + yum_values['repo'] = yum_pkg.reponame yum_values['from_repo'] = yum_pkg.ui_from_repo yum_values['summary'] = yum_pkg.summary yum_values['url'] = yum_pkg.url diff --git a/src/packagesworker.py b/src/packagesworker.py index b99eced..a63414d 100644 --- a/src/packagesworker.py +++ b/src/packagesworker.py @@ -21,12 +21,14 @@ # Author: Branislav Blaskovic # Author: Tomas Meszaros -import yum +import dnf +#import yum import rpm import datetime import koji from PySide import QtCore -from yum.misc import getCacheDir +from dnf.yum.misc import getCacheDir +#from yum.misc import getCacheDir from idlequeue import * class PackagesWorker(QtCore.QThread): @@ -40,10 +42,12 @@ class PackagesWorker(QtCore.QThread): self.bodhi_workers_queue = bodhi_workers_queue self.bodhi_workers_count = bodhi_workers_count - self.yb = yum.YumBase() - cachedir = getCacheDir() - self.yb.repos.setCacheDir(cachedir) - + #self.yb = dnf.Base() + #self.yb = yum.YumBase() + #cachedir = getCacheDir() + #self.yb.conf.releasever=cachedir + #self.yb.repos.setCacheDir(cachedir) + # RPM Transactions self.rpmTS = rpm.TransactionSet() @@ -65,7 +69,16 @@ class PackagesWorker(QtCore.QThread): def load_installed(self, releasever): # Load from yum rpmdb all installed packages - self.installed_packages = self.yb.rpmdb.returnPackages() + #self.installed_packages = self.yb.rpmdb.returnPackages() + with dnf.Base() as self.yb: + cachedir = getCacheDir() + self.yb.conf.cachedir = cachedir + self.yb.conf.releasever = dnf.rpm.detect_releasever(self.yb.conf.installroot) + self.yb.read_all_repos() + sack = self.yb.fill_sack() + self.q = self.yb.sack.query() + self.q = self.q.installed() + self.installed_packages = self.q # Send it to all bodhi_workers for i in range(self.bodhi_workers_count):