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:
lxnay
2009-01-26 10:37:10 +00:00
parent ee5940aa7a
commit 68cf13d04c
2 changed files with 17 additions and 21 deletions

3
TODO
View File

@@ -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

View File

@@ -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):