Entropy/Spritz:
- add 'Skip Mirror' button git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2030 cd1c1023-2f26-0410-ae45-c471fc1f0318
This commit is contained in:
@@ -77,12 +77,15 @@ class QueueExecutor:
|
||||
myrange.append(step)
|
||||
self.Entropy.progress.total.setup( myrange )
|
||||
|
||||
self.Spritz.ui.skipMirror.show()
|
||||
# first fetch all
|
||||
fetchqueue = 0
|
||||
for packageInfo in runQueue:
|
||||
fetchqueue += 1
|
||||
Package = self.Entropy.Package()
|
||||
Package.prepare(packageInfo,"fetch")
|
||||
metaopts = {}
|
||||
metaopts['fetch_abort_function'] = self.Spritz.mirror_bombing
|
||||
Package.prepare(packageInfo,"fetch",metaopts)
|
||||
self.Entropy.updateProgress(
|
||||
"Fetching: "+Package.infoDict['atom'],
|
||||
importance = 2,
|
||||
@@ -94,6 +97,7 @@ class QueueExecutor:
|
||||
Package.kill()
|
||||
del Package
|
||||
self.Entropy.cycleDone()
|
||||
self.Spritz.ui.skipMirror.hide()
|
||||
|
||||
# then removalQueue
|
||||
# NOT conflicts! :-)
|
||||
@@ -127,12 +131,14 @@ class QueueExecutor:
|
||||
del metaopts
|
||||
del Package
|
||||
|
||||
self.Spritz.ui.skipMirror.show()
|
||||
totalqueue = len(runQueue)
|
||||
currentqueue = 0
|
||||
for packageInfo in runQueue:
|
||||
currentqueue += 1
|
||||
|
||||
metaopts = {}
|
||||
metaopts['fetch_abort_function'] = self.Spritz.mirror_bombing
|
||||
metaopts['removeconfig'] = False
|
||||
Package = self.Entropy.Package()
|
||||
Package.prepare(packageInfo,"install", metaopts)
|
||||
@@ -151,6 +157,7 @@ class QueueExecutor:
|
||||
self.Entropy.cycleDone()
|
||||
del metaopts
|
||||
del Package
|
||||
self.Spritz.ui.skipMirror.hide()
|
||||
|
||||
return 0,0
|
||||
|
||||
|
||||
@@ -201,6 +201,9 @@ class EntropyPackage:
|
||||
def getKeySlot(self):
|
||||
return self.dbconn.retrieveKeySlot(self.matched_atom[0])
|
||||
|
||||
def getDescriptionNoMarkup(self):
|
||||
return self.getDescription(markup = False)
|
||||
|
||||
def getDescription(self, markup = True):
|
||||
if markup:
|
||||
return cleanMarkupString(self.dbconn.retrieveDescription(self.matched_atom[0]))
|
||||
@@ -319,6 +322,7 @@ class EntropyPackage:
|
||||
sources = property(fget=getSources)
|
||||
keyslot = property(fget=getKeySlot)
|
||||
description = property(fget=getDescription)
|
||||
description_nomarkup = property(fget=getDescriptionNoMarkup)
|
||||
size = property(fget=getDownSize)
|
||||
intelligentsizeFmt = property(fget=getIntelligentSize)
|
||||
sizeFmt = property(fget=getDownSizeFmt)
|
||||
|
||||
+1
-5
@@ -97,7 +97,7 @@ class ProgressTotal:
|
||||
return False
|
||||
|
||||
def setAbsProgress( self, now, prefix=None ):
|
||||
if (not now >= self.lastFrac) or (now >= 1.0) or (now < 0.0):
|
||||
if (now == self.lastFrac) or (now >= 1.0) or (now < 0.0):
|
||||
return
|
||||
while gtk.events_pending(): # process gtk events
|
||||
gtk.main_iteration()
|
||||
@@ -162,10 +162,6 @@ class SpritzProgress:
|
||||
self.ui.progressBar.set_fraction( 0 )
|
||||
if text != None:
|
||||
self.ui.progressBar.set_text( text )
|
||||
# Check if skip mirror has been pressed
|
||||
if self.parent.skipMirrorNow:
|
||||
self.parent.skipMirrorNow = False
|
||||
self.parent.yumbase._interrupt_callback(None)
|
||||
|
||||
self.lastFrac = frac
|
||||
|
||||
|
||||
+519
-519
File diff suppressed because it is too large
Load Diff
+13
-19
@@ -820,9 +820,13 @@ class SpritzController(Controller):
|
||||
self.unsetBusy()
|
||||
|
||||
def on_skipMirror_clicked(self,widget):
|
||||
if self.skipMirror:
|
||||
self.logger.info('skipmirror')
|
||||
self.skipMirrorNow = True
|
||||
self.skipMirrorNow = True
|
||||
|
||||
def mirror_bombing(self):
|
||||
if self.skipMirrorNow:
|
||||
self.skipMirrorNow = False
|
||||
mytxt = _("Skipping current mirror.")
|
||||
raise exceptionTools.OnlineMirrorError('OnlineMirrorError %s' % (mytxt,))
|
||||
|
||||
def on_search_clicked(self,widget):
|
||||
''' Search entry+button handler'''
|
||||
@@ -876,7 +880,6 @@ class SpritzApplication(SpritzController,SpritzGUI):
|
||||
self.logger = logging.getLogger("yumex.main")
|
||||
|
||||
# init flags
|
||||
self.skipMirror = False
|
||||
self.skipMirrorNow = False
|
||||
self.doProgress = False
|
||||
self.categoryOn = False
|
||||
@@ -975,9 +978,10 @@ class SpritzApplication(SpritzController,SpritzGUI):
|
||||
if os.access('/usr/bin/gedit',os.X_OK):
|
||||
self.fileEditor = '/usr/bin/gedit'
|
||||
|
||||
def startWorking(self):
|
||||
def startWorking(self, do_busy = True):
|
||||
self.isWorking = True
|
||||
busyCursor(self.ui.main)
|
||||
if do_busy:
|
||||
busyCursor(self.ui.main)
|
||||
self.ui.progressVBox.grab_add()
|
||||
gtkEventThread.startProcessing()
|
||||
|
||||
@@ -1173,7 +1177,8 @@ class SpritzApplication(SpritzController,SpritzGUI):
|
||||
total = len( pkgs['i'] )+len( pkgs['u'] )+len( pkgs['r'] ) +len( pkgs['rr'] )
|
||||
state = True
|
||||
if total > 0:
|
||||
self.startWorking()
|
||||
self.startWorking(do_busy = True)
|
||||
normalCursor(self.ui.main)
|
||||
self.progress.show()
|
||||
self.progress.set_mainLabel( _( "Processing Packages in queue" ) )
|
||||
|
||||
@@ -1184,6 +1189,7 @@ class SpritzApplication(SpritzController,SpritzGUI):
|
||||
if install_queue or removal_queue:
|
||||
controller = QueueExecutor(self)
|
||||
e,i = controller.run(install_queue[:], removal_queue[:], do_purge_cache)
|
||||
self.ui.skipMirror.hide()
|
||||
if e != 0:
|
||||
okDialog( self.ui.main,
|
||||
_("Attention. An error occured when processing the queue."
|
||||
@@ -1243,21 +1249,9 @@ if __name__ == "__main__":
|
||||
gtkEventThread.doQuit()
|
||||
sys.exit(1)
|
||||
except: # catch other exception and write it to the logger.
|
||||
logger = logging.getLogger('yumex.main')
|
||||
etype = sys.exc_info()[0]
|
||||
evalue = sys.exc_info()[1]
|
||||
etb = traceback.extract_tb(sys.exc_info()[2])
|
||||
logger.error('Error Type: %s' % str(etype) )
|
||||
errmsg = 'Error Type: %s \n' % str(etype)
|
||||
logger.error('Error Value: ' + str(evalue))
|
||||
errmsg += 'Error Value: %s \n' % str(evalue)
|
||||
logger.error('Traceback: \n')
|
||||
for tub in etb:
|
||||
f,l,m,c = tub # file,lineno, function, codeline
|
||||
logger.error(' File : %s , line %s, in %s' % (f,str(l),m))
|
||||
errmsg += ' File : %s , line %s, in %s\n' % (f,str(l),m)
|
||||
logger.error(' %s ' % c)
|
||||
errmsg += ' %s \n' % c
|
||||
import entropyTools
|
||||
conntest = entropyTools.get_remote_data(etpConst['conntestlink'])
|
||||
rc, (name,mail,description) = errorMessage( None,
|
||||
|
||||
+1
-1
@@ -718,7 +718,7 @@ class EntropyQueueView:
|
||||
def populate_list( self, label, mylist ):
|
||||
parent = self.model.append( None, [label, ""] )
|
||||
for pkg in mylist:
|
||||
self.model.append( parent, [str( pkg ), pkg.description] )
|
||||
self.model.append( parent, [str( pkg ), pkg.description_nomarkup] )
|
||||
|
||||
class EntropyFilesView:
|
||||
""" Queue View Class"""
|
||||
|
||||
Reference in New Issue
Block a user