From dfb6f711609b2803935aa6dcb5ef2146f0be0dc4 Mon Sep 17 00:00:00 2001 From: lxnay Date: Fri, 5 Sep 2008 18:40:45 +0000 Subject: [PATCH] Entropy/Spritz: - make UGC basic metadata (vote and download info) to be downloaded/updated in background every 2 minutes - make voting possible from the package properties menu - more work on UGC support git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2371 cd1c1023-2f26-0410-ae45-c471fc1f0318 --- spritz/src/dialogs.py | 149 +++- spritz/src/spritz.glade | 1778 ++++++++++++++++++++------------------- spritz/src/spritz.py | 41 +- 3 files changed, 1072 insertions(+), 896 deletions(-) diff --git a/spritz/src/dialogs.py b/spritz/src/dialogs.py index 4b775a491..7a5752003 100644 --- a/spritz/src/dialogs.py +++ b/spritz/src/dialogs.py @@ -17,6 +17,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +import time import gtk import gobject import pango @@ -29,7 +30,14 @@ from entropyConstants import * class PkgInfoMenu: def __init__(self, Entropy, pkg, window): + + self.pkg_pixmap = const.PIXMAPS_PATH+'/package-x-generic.png' + self.ugc_small_pixmap = const.PIXMAPS_PATH+'/ugc.png' + self.ugc_pixmap = const.PIXMAPS_PATH+'/ugc/icon.png' + self.refresh_pixmap = const.PIXMAPS_PATH+'/ugc/refresh.png' + self.pkg = pkg + self.vote = 0 self.window = window self.Entropy = Entropy self.repository = None @@ -66,6 +74,13 @@ class PkgInfoMenu: i = i + 1 return result + def set_pixbuf_to_cell(self, cell, filepath): + try: + pixbuf = gtk.gdk.pixbuf_new_from_file(const.PIXMAPS_PATH+"/"+filepath) + cell.set_property( 'pixbuf', pixbuf ) + except gobject.GError: + pass + def on_showContentButton_clicked( self, widget ): content = self.pkg.contentExt for x in content: @@ -87,6 +102,84 @@ class PkgInfoMenu: self.switched_to_ugc_page = True self.on_loadUgcButton_clicked(widget) + + def on_star5_enter_notify_event(self, widget, event): + self.star_enter(widget, event, 5) + + def on_star4_enter_notify_event(self, widget, event): + self.star_enter(widget, event, 4) + + def on_star3_enter_notify_event(self, widget, event): + self.star_enter(widget, event, 3) + + def on_star2_enter_notify_event(self, widget, event): + self.star_enter(widget, event, 2) + + def on_star1_enter_notify_event(self, widget, event): + self.star_enter(widget, event, 1) + + ''' + def on_star5_leave_notify_event(self, widget, event): + self.star_leave(widget, event, 5) + + def on_star4_leave_notify_event(self, widget, event): + self.star_leave(widget, event, 4) + + def on_star3_leave_notify_event(self, widget, event): + self.star_leave(widget, event, 3) + + def on_star2_leave_notify_event(self, widget, event): + self.star_leave(widget, event, 2) + + def on_star1_leave_notify_event(self, widget, event): + self.star_leave(widget, event, 1) + + def star_leave(self, widget, event, number): + return + + ''' + + def on_starsEvent_leave_notify_event(self, widget, event): + self.pkginfo_ui.pkgInfo.window.set_cursor(None) + self.set_stars(self.vote) + + def on_starsEvent_enter_notify_event(self, widget, event): + self.pkginfo_ui.pkgInfo.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.CROSSHAIR)) + + def on_starEvent5_button_release_event(self, widget, event): + self.vote_click(5) + + def on_starEvent4_button_release_event(self, widget, event): + self.vote_click(4) + + def on_starEvent3_button_release_event(self, widget, event): + self.vote_click(3) + + def on_starEvent2_button_release_event(self, widget, event): + self.vote_click(2) + + def on_starEvent1_button_release_event(self, widget, event): + self.vote_click(1) + + def vote_click(self, vote): + if self.Entropy.UGC == None: + return + if not (self.repository and self.pkgkey): + return + if not self.Entropy.UGC.is_repository_eapi3_aware(self.repository): + return + status, err_msg = self.Entropy.UGC.add_vote(self.repository, self.pkgkey, vote) + if status: + self.set_stars_from_repository() + msg = "%s: %s" % (_("Vote registered successfully"),vote,) + else: + msg = "%s: %s" % (_("Error registering vote"),err_msg,) + + self.pkginfo_ui.ugcMessageBox.set_markup(msg) + + def star_enter(self, widget, event, number): + self.set_stars(number, hover = True) + def setupPkgPropertiesView(self): # license view @@ -185,8 +278,40 @@ class PkgInfoMenu: self.contentView.append_column( column ) self.contentView.set_model( self.contentModel ) - def set_stars(self, count): + # ugc view + self.ugcView = self.pkginfo_ui.ugcView + self.ugcModel = gtk.TreeStore( gobject.TYPE_PYOBJECT ) + + ''' + # Setup resent column + cell = gtk.CellRendererPixbuf() + cell.set_property('height', 52) + self.set_pixbuf_to_cell(cell, self.pkg_install_ok ) + column1 = gtk.TreeViewColumn( self.pkgcolumn_text, cell1 ) + column1.set_cell_data_func( cell1, self.new_pixbuf ) + column1.set_sizing( gtk.TREE_VIEW_COLUMN_FIXED ) + column1.set_fixed_width( self.selection_width+40 ) + column1.set_sort_column_id( -1 ) + self.view.append_column( column1 ) + column1.set_clickable( False ) + + + cell = gtk.CellRendererText() + column = gtk.TreeViewColumn( _( "" ), cell ) + column.set_resizable( True ) + column.set_cell_data_func( cell, self.get_data_text, property ) + column.set_sizing( gtk.TREE_VIEW_COLUMN_FIXED ) + column.set_fixed_width( size ) + column.set_expand(expand) + column.set_sort_column_id( -1 ) + self.view.append_column( column ) + ''' + + + def set_stars(self, count, hover = False): pix_path = const.PIXMAPS_PATH+'/star.png' + if hover: + pix_path = const.PIXMAPS_PATH+'/star_selected.png' pix_path_empty = const.PIXMAPS_PATH+'/star_empty.png' widgets = [ self.pkginfo_ui.vote1, @@ -200,7 +325,7 @@ class PkgInfoMenu: if count < 0: count = 0 idx = -1 while count > -1: - w = widgets[count] + w = widgets[count-1] w.set_from_file(pix_path) w.show() count -= 1 @@ -219,6 +344,7 @@ class PkgInfoMenu: vote = self.Entropy.UGC.UGCCache.get_package_vote(self.repository, self.pkgkey) if isinstance(vote,float): self.set_stars(int(vote)) + self.vote = int(vote) def load(self): @@ -235,14 +361,15 @@ class PkgInfoMenu: return # set package image - pkg_pixmap = const.PIXMAPS_PATH+'/package-x-generic.png' - ugc_small_pixmap = const.PIXMAPS_PATH+'/ugc.png' pkgatom = pkg.name - self.pkgkey = self.Entropy.entropyTools.dep_getkey(pkgatom) + self.vote = int(pkg.vote) self.repository = pkg.repoid + self.pkgkey = self.Entropy.entropyTools.dep_getkey(pkgatom) self.set_stars_from_repository() - self.pkginfo_ui.pkgImage.set_from_file(pkg_pixmap) - self.pkginfo_ui.ugcSmallIcon.set_from_file(ugc_small_pixmap) + self.pkginfo_ui.pkgImage.set_from_file(self.pkg_pixmap) + self.pkginfo_ui.ugcSmallIcon.set_from_file(self.ugc_small_pixmap) + self.pkginfo_ui.ugcIcon.set_from_file(self.ugc_pixmap) + self.pkginfo_ui.refreshImage.set_from_file(self.refresh_pixmap) self.pkginfo_ui.labelAtom.set_markup("%s" % (cleanMarkupString(pkgatom),)) self.pkginfo_ui.labelDescription.set_markup("%s" % (pkg.description,)) @@ -251,12 +378,8 @@ class PkgInfoMenu: _("Be part of our Community!") ) ) - vote = pkg.vote - self.pkginfo_ui.voteLabel.set_markup("%s [%s: %s]" % ( - _("Vote"), - _("cur"), # as in current (current vote) - int(vote), - ) + self.pkginfo_ui.ugcDownloaded.set_markup( + "%s: %s" % (_("Number of downloads"), pkg.downloads,) ) bold_items = [ self.pkginfo_ui.locationLabel, diff --git a/spritz/src/spritz.glade b/spritz/src/spritz.glade index cce051056..66065d317 100644 --- a/spritz/src/spritz.glade +++ b/spritz/src/spritz.glade @@ -2314,33 +2314,126 @@ 9 True - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 3 + 2 - + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Prevents files belonging to a package being overwritten by another + Disabled +Removal only +Install+Removal + + + + 1 + 2 + 1 + 2 + GTK_FILL + + + + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - Protected files and directories + Collision protection + + + 1 + 2 + + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + This is what they call "nice level" + 3 + 3 + 1 -19 19 1 10 10 + 1 + True + + + + 1 + 2 + + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Process priority (nice) + + + + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Entropy can keep a backup of your updated configuration files + Backup configuration files + 0 + True + + + + 2 + 2 + 3 + + + + + + 1 + 2 + 1 + 2 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Ignored protected files False - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - + True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC - + True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK @@ -2350,21 +2443,21 @@ - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GTK_BUTTONBOX_SPREAD - + True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - + - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-new @@ -2377,16 +2470,15 @@ - + True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - - + - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-edit @@ -2400,16 +2492,16 @@ - + True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - + - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-delete @@ -2435,6 +2527,10 @@ + + 1 + 2 + @@ -2565,33 +2661,33 @@ - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - Ignored protected files + Protected files and directories False - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - + True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GTK_POLICY_AUTOMATIC GTK_POLICY_AUTOMATIC - + True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK @@ -2601,21 +2697,21 @@ - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK GTK_BUTTONBOX_SPREAD - + True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - + - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-new @@ -2628,15 +2724,16 @@ - + True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - + + - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-edit @@ -2650,16 +2747,16 @@ - + True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - + - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-delete @@ -2685,103 +2782,6 @@ - - 1 - 2 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 3 - 2 - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Entropy can keep a backup of your updated configuration files - Backup configuration files - 0 - True - - - - 2 - 2 - 3 - - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Process priority (nice) - - - - - - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - This is what they call "nice level" - 3 - 3 - 1 -19 19 1 10 10 - 1 - True - - - - 1 - 2 - - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Collision protection - - - 1 - 2 - - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Prevents files belonging to a package being overwritten by another - Disabled -Removal only -Install+Removal - - - - 1 - 2 - 1 - 2 - GTK_FILL - - - - - 1 - 2 - 1 - 2 - @@ -2835,67 +2835,74 @@ Install+Removal 5 3 - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - FTP Proxy - - - GTK_FILL - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - HTTP Proxy - - - 1 - 2 - GTK_FILL - - - - + True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Example: http://proxy:1234 + type your password here + False 1 3 + 3 + 4 GTK_FILL - + True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Example: http://proxy:1234 + type your username here 1 3 - 1 - 2 + 2 + 3 GTK_FILL - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - Download speed limit + Proxy Password + 3 + 4 + GTK_FILL + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Proxy Username + + + 2 + 3 + GTK_FILL + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + kb/sec + + + 2 + 3 4 5 GTK_FILL @@ -2920,76 +2927,69 @@ Install+Removal - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - kb/sec + Download speed limit - 2 - 3 4 5 GTK_FILL - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Proxy Username - - - 2 - 3 - GTK_FILL - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Proxy Password - - - 3 - 4 - GTK_FILL - - - - + True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - type your username here + Example: http://proxy:1234 1 3 - 2 - 3 + 1 + 2 GTK_FILL - + True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - type your password here - False + Example: http://proxy:1234 1 3 - 3 - 4 + GTK_FILL + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + HTTP Proxy + + + 1 + 2 + GTK_FILL + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + FTP Proxy + + GTK_FILL @@ -3267,56 +3267,14 @@ Install+Removal 3 2 - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 150 - - - 1 - 2 - 2 - 3 - - - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 150 - - - 1 - 2 - 1 - 2 - - - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 150 - - - 1 - 2 - - - - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 10 - What you were doing + Your Full Name - 2 - 3 GTK_FILL @@ -3335,17 +3293,59 @@ Install+Removal - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 10 - Your Full Name + What you were doing + 2 + 3 GTK_FILL + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 150 + + + 1 + 2 + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 150 + + + 1 + 2 + 1 + 2 + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 150 + + + 1 + 2 + 2 + 3 + + 3 @@ -3826,177 +3826,6 @@ Install+Removal 4 10 3 - - - True - True - - - 3 - 4 - 4 - 5 - - - - - - True - 0 - Secure Services Port - - - 2 - 3 - 4 - 5 - GTK_FILL - - - - - - True - 0 - Services Port - - - 4 - 5 - GTK_FILL - - - - - - True - True - - - 1 - 2 - 4 - 5 - - - - - - True - bz2 -gz - - - 3 - 4 - 3 - 4 - GTK_FILL - GTK_FILL - - - - - True - 0 - Compression - - - 2 - 3 - 3 - 4 - GTK_FILL - - - - - - True - 0 - Identifier - - - GTK_FILL - - - - - - True - 0 - Description - - - 1 - 2 - GTK_FILL - - - - - - True - 0 - Mirrors - - - 2 - 3 - GTK_FILL - - - - - - True - 0 - URI - - - 3 - 4 - GTK_FILL - - - - - - True - True - - - 1 - 4 - - - - - - True - True - - - 1 - 4 - 1 - 2 - - - - - - True - True - - - 1 - 2 - 3 - 4 - - - 120 @@ -4134,6 +3963,177 @@ gz GTK_FILL + + + True + True + + + 1 + 2 + 3 + 4 + + + + + + True + True + + + 1 + 4 + 1 + 2 + + + + + + True + True + + + 1 + 4 + + + + + + True + 0 + URI + + + 3 + 4 + GTK_FILL + + + + + + True + 0 + Mirrors + + + 2 + 3 + GTK_FILL + + + + + + True + 0 + Description + + + 1 + 2 + GTK_FILL + + + + + + True + 0 + Identifier + + + GTK_FILL + + + + + + True + 0 + Compression + + + 2 + 3 + 3 + 4 + GTK_FILL + + + + + + True + bz2 +gz + + + 3 + 4 + 3 + 4 + GTK_FILL + GTK_FILL + + + + + True + True + + + 1 + 2 + 4 + 5 + + + + + + True + 0 + Services Port + + + 4 + 5 + GTK_FILL + + + + + + True + 0 + Secure Services Port + + + 2 + 3 + 4 + 5 + GTK_FILL + + + + + + True + True + + + 3 + 4 + 4 + 5 + + + @@ -4475,71 +4475,103 @@ gz - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 + + - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - True - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - gtk-missing-image + + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK + gtk-missing-image + + - - False - False - - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - gtk-missing-image + + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK + gtk-missing-image + + - False - False 1 - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - gtk-missing-image + + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK + gtk-missing-image + + - False - False 2 - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - gtk-missing-image + + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK + gtk-missing-image + + - False - False 3 - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - gtk-missing-image + + + + + + True + True + + gtk-missing-image + + + - False - False 4 @@ -4547,8 +4579,6 @@ gz - False - False 1 @@ -4585,6 +4615,34 @@ gz 1 + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + 0 + True + True + True + + + 2 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + 0.93000000715255737 + True + True + True + + + 3 + + 1 @@ -4618,7 +4676,91 @@ gz 5 5 - + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + True + True + + + 1 + 2 + 12 + 13 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Creation date + True + + + 12 + 13 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + True + True + + + 1 + 2 + 11 + 12 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Install Size + True + + + 11 + 12 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + True + True + + + 1 + 2 + 10 + 11 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Package Size + True + + + 10 + 11 + + + + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 @@ -4629,234 +4771,21 @@ gz 1 2 - 1 - 2 + 9 + 10 - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - Website + MD5 Signature True - 1 - 2 - GTK_FILL - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - True - True - - - 1 - 2 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Location - True - - - GTK_FILL - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Version - True - - - 2 - 3 - GTK_FILL - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - True - True - - - 1 - 2 - 2 - 3 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Slot - True - - - 3 - 4 - GTK_FILL - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - True - True - - - 1 - 2 - 3 - 4 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Kernel Tag - True - - - 4 - 5 - GTK_FILL - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - True - True - - - 1 - 2 - 4 - 5 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Revision - True - - - 5 - 6 - GTK_FILL - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - True - True - - - 1 - 2 - 5 - 6 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Branch - True - - - 6 - 7 - GTK_FILL - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - True - True - - - 1 - 2 - 6 - 7 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Entropy API - True - - - 7 - 8 - GTK_FILL - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - True - True - - - 1 - 2 - 7 - 8 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Download Path - True - - - 8 - 9 + 9 + 10 @@ -4877,20 +4806,233 @@ gz - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - MD5 Signature + Download Path True - 9 - 10 + 8 + 9 - + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + True + True + + + 1 + 2 + 7 + 8 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Entropy API + True + + + 7 + 8 + GTK_FILL + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + True + True + + + 1 + 2 + 6 + 7 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Branch + True + + + 6 + 7 + GTK_FILL + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + True + True + + + 1 + 2 + 5 + 6 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Revision + True + + + 5 + 6 + GTK_FILL + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + True + True + + + 1 + 2 + 4 + 5 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Kernel Tag + True + + + 4 + 5 + GTK_FILL + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + True + True + + + 1 + 2 + 3 + 4 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Slot + True + + + 3 + 4 + GTK_FILL + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + True + True + + + 1 + 2 + 2 + 3 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Version + True + + + 2 + 3 + GTK_FILL + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Location + True + + + GTK_FILL + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + True + True + + + 1 + 2 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Website + True + + + 1 + 2 + GTK_FILL + + + + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 @@ -4901,92 +5043,8 @@ gz 1 2 - 9 - 10 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Package Size - True - - - 10 - 11 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - True - True - - - 1 - 2 - 10 - 11 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Install Size - True - - - 11 - 12 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - True - True - - - 1 - 2 - 11 - 12 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Creation date - True - - - 12 - 13 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - True - True - - - 1 - 2 - 12 - 13 + 1 + 2 @@ -5019,7 +5077,7 @@ gz 2 15 - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 @@ -5030,21 +5088,57 @@ gz 1 2 - 2 - 3 + 3 + 4 - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - CXXFLAGS + Masked True - 2 - 3 + 3 + 4 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + CHOST + True + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + True + True + True + + + 1 + 2 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + CFLAGS + True + + + 1 + 2 @@ -5064,20 +5158,20 @@ gz - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 - CFLAGS + CXXFLAGS True - 1 - 2 + 2 + 3 - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 @@ -5088,44 +5182,8 @@ gz 1 2 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - CHOST - True - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Masked - True - - - 3 - 4 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - True - True - True - - - 1 - 2 - 3 - 4 + 2 + 3 @@ -5583,58 +5641,14 @@ gz True - + True - - - True - gtk-dnd - 6 - 0 - - - 3 - - - - - True - True - True - 0 - - - True - - - True - gtk-apply - - - - - True - Vote - True - - - 1 - - - - - - - False - False - 2 - 1 - - + gtk-dnd + 6 + 0 - False - 8 + 3 @@ -5645,7 +5659,7 @@ gz True 0 1 - User Generated Content + User Generated Content True @@ -5658,7 +5672,7 @@ gz True 0 0 - User Generated Content description + User Generated Content description 1 @@ -5683,7 +5697,7 @@ gz 0 - + True gtk-refresh 6 @@ -6543,23 +6557,15 @@ Please read them carefully and <b>make your choice</b>. 2 2 - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Announced - True - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Revised + 1 True + 1 + 2 1 2 @@ -6577,19 +6583,27 @@ Please read them carefully and <b>make your choice</b>. - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 1 + 0 + Revised True - 1 - 2 1 2 + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Announced + True + + diff --git a/spritz/src/spritz.py b/spritz/src/spritz.py index e5d72b8da..9459c6839 100644 --- a/spritz/src/spritz.py +++ b/spritz/src/spritz.py @@ -76,6 +76,8 @@ class SpritzController(Controller): def quit(self, widget=None, event=None ): + if self.ugcTask != None: + self.ugcTask.kill() ''' Main destroy Handler ''' gtkEventThread.doQuit() if self.isWorking: @@ -919,7 +921,17 @@ class SpritzController(Controller): def loadPkgInfoMenu(self, pkg): mymenu = PkgInfoMenu(self.Equo, pkg, self.ui.main) - mymenu.load() + load_count = 6 + while 1: + try: + mymenu.load() + except: + if load_count < 0: + raise + load_count -= 1 + time.sleep(1) + continue + break def on_pkg_doubleclick( self, widget, iterator, path ): """ Handle selection of row in package view (Show Descriptions) """ @@ -1058,6 +1070,7 @@ class SpritzApplication(SpritzController,SpritzGUI): self.logger = logging.getLogger("yumex.main") # init flags + self.ugcTask = None self.Preferences = None self.skipMirrorNow = False self.abortQueueNow = False @@ -1090,6 +1103,8 @@ class SpritzApplication(SpritzController,SpritzGUI): self.setupAdvPropertiesView() self.setupPreferences() + self.setupUgc() + packages_install = os.getenv("SPRITZ_PACKAGES") if packages_install: packages_install = [x for x in packages_install.split(";") if os.path.isfile(x)] @@ -1103,6 +1118,30 @@ class SpritzApplication(SpritzController,SpritzGUI): self.on_installPackageItem_activate(None,fn) + def setupUgc(self): + self.ugcTask = entropyTools.TimeScheduled(self.spawnUgcUpdate, 120) + self.ugcTask.start() + + def spawnUgcUpdate(self): + + if self.isWorking: return + self.isWorking = True + gtkEventThread.startProcessing() + connected = entropyTools.get_remote_data(etpConst['conntestlink']) + if (connected == False) or (self.Equo.UGC == None): + self.isWorking = False + gtkEventThread.endProcessing() + return + for repo in self.Equo.validRepositories: + try: + self.Equo.update_ugc_cache(repo) + except: + pass + + self.isWorking = False + gtkEventThread.endProcessing() + + def setupPreferences(self): # config protect