Entropy/TODO:
- update TODO Entropy/Spritz/Repository Manager Client: - when printing an error dialog, use TaskQueue to route the GFX calls to the right thread - when clicking on the SPM package info button, fork after having issued the socket command git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2945 cd1c1023-2f26-0410-ae45-c471fc1f0318
This commit is contained in:
3
TODO
3
TODO
@@ -4,9 +4,6 @@ TODO list
|
||||
- decide what to do about smart apps and if it's better waiting for app-directory packages support
|
||||
- documentation + man page
|
||||
|
||||
Repository Manager:
|
||||
- multiple instances support (on server: Fatal Python error: PyEval_RestoreThread: NULL tstate)
|
||||
|
||||
Proposed for Entropy >1.0 (require API changes):
|
||||
- Entropy codebase refactoring
|
||||
- socket intf: do not send login on each connection but use a complete session based system
|
||||
|
||||
@@ -994,9 +994,7 @@ class RepositoryManagerMenu(MenuSkel):
|
||||
|
||||
def service_status_message(self, e):
|
||||
self.entropyTools.printTraceback()
|
||||
gtk.gdk.threads_enter()
|
||||
okDialog(self.sm_ui.repositoryManager, unicode(e), title = _("Communication error"))
|
||||
gtk.gdk.threads_leave()
|
||||
self.TaskQueue.append((okDialog, [self.sm_ui.repositoryManager, unicode(e)], {'title': _("Communication error")},))
|
||||
|
||||
def get_available_repositories(self):
|
||||
with self.BufferLock:
|
||||
@@ -1649,24 +1647,25 @@ class RepositoryManagerMenu(MenuSkel):
|
||||
|
||||
def run_get_spm_atoms_info(self, categories, atoms, clear):
|
||||
|
||||
with self.BufferLock:
|
||||
try:
|
||||
status, queue_id = self.Service.Methods.get_spm_atoms_info(atoms)
|
||||
except Exception, e:
|
||||
self.service_status_message(e)
|
||||
return
|
||||
|
||||
def task(categories, atoms):
|
||||
with self.BufferLock:
|
||||
try:
|
||||
status, queue_id = self.Service.Methods.get_spm_atoms_info(atoms)
|
||||
except Exception, e:
|
||||
self.service_status_message(e)
|
||||
return
|
||||
|
||||
if status:
|
||||
item = self.wait_queue_id_to_complete(queue_id)
|
||||
if item == None: return
|
||||
status, data = item['result']
|
||||
if not status: return
|
||||
def reload_function(): self.on_repoManagerPkgInfo_clicked(None, atoms = atoms, clear = clear)
|
||||
self.TaskQueue.append((self.categories_updates_data_view, [data,categories], {'expand': True, 'reload_function': reload_function,},))
|
||||
item = self.wait_queue_id_to_complete(queue_id)
|
||||
if item == None: return
|
||||
status, data = item['result']
|
||||
if not status: return
|
||||
def reload_function(): self.on_repoManagerPkgInfo_clicked(None, atoms = atoms, clear = clear)
|
||||
self.TaskQueue.append((self.categories_updates_data_view, [data,categories], {'expand': True, 'reload_function': reload_function,},))
|
||||
|
||||
t = self.entropyTools.parallelTask(task, categories, atoms)
|
||||
t.start()
|
||||
if status:
|
||||
t = self.entropyTools.parallelTask(task, categories, atoms)
|
||||
t.start()
|
||||
|
||||
def run_kill_processing_queue_id(self, queue_id):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user