[X2Go-Commits] pyhoca-gui.git - build-59a18b6e3b5d3f1dd8f07f26433d37fe5984a57d (branch) updated: 0.1.0.10-108-g50c3cfc
X2Go dev team
git-admin at x2go.org
Tue Aug 27 13:22:06 CEST 2013
The branch, build-59a18b6e3b5d3f1dd8f07f26433d37fe5984a57d has been updated
via 50c3cfccf4684baf9c57fff4b9d8fa3cd7285571 (commit)
from 924ed9a645086b099c9d5e7a64bd60cd0e4d28f7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
pyhoca/wxgui/frontend.py | 30 ++++++++++++++++++++----------
pyhoca/wxgui/menus_taskbar.py | 6 ++++--
2 files changed, 24 insertions(+), 12 deletions(-)
The diff of changes is:
diff --git a/pyhoca/wxgui/frontend.py b/pyhoca/wxgui/frontend.py
index ead1c1d..a86255e 100644
--- a/pyhoca/wxgui/frontend.py
+++ b/pyhoca/wxgui/frontend.py
@@ -361,7 +361,7 @@ class PyHocaGUI(wx.App, x2go.X2goClient):
def _init_pubapp_session(self, session_uuid=None, profile_name=None):
- session_list = self._X2goClient__list_sessions(session_uuid=session_uuid, profile_name=profile_name, refresh_cache=True)
+ session_list = self._X2goClient__list_sessions(session_uuid=session_uuid, profile_name=profile_name, refresh_cache=True, update_sessionregistry=True)
if profile_name is None and session_uuid:
profile_name = self._X2goClient__get_session_profile_name(session_uuid)
@@ -375,19 +375,23 @@ class PyHocaGUI(wx.App, x2go.X2goClient):
if profile_name not in self._temp_launching_pubapp_profiles:
self._temp_launching_pubapp_profiles.append(profile_name)
- pub_sessions = self._X2goClient__client_pubapp_sessions_of_profile_name(session_uuid, return_objects=True)
+ pubapp_sessions = self._X2goClient__client_pubapp_sessions_of_profile_name(profile_name, return_objects=True)
pubapp_session_started = False
pubapp_session_resumed = False
- if not (pub_sessions and pub_sessions[0].is_running()):
- for session_name in [_sn for _sn in session_list.keys() if session_list[_sn].status == 'S' ]:
+ pubapp_session_running = (len([ _pas for _pas in pubapp_sessions if _pas.is_running() ]) >= 1)
+ if not pubapp_session_running:
+ for session_name in [_sn for _sn in session_list.keys() if session_list[_sn].is_suspended() ]:
+ print session_name
if session_list[session_name].is_published_applications_provider() and not pubapp_session_resumed:
+ print "RESUME %s" % session_name
# resume sessions in published applications mode immediately
pubapp_session = self._X2goClient__register_session(profile_name=profile_name, published_applications=True, cmd='PUBLISHED', session_type='published', session_name=session_name, return_object=True)
pubapp_session.resume()
pubapp_session_resumed = True
elif session_list[session_name].is_published_applications_provider() and pubapp_session_resumed:
# if there are more then one (in suspended state, of course), terminate them now...
+ print "TERMINATING %s" % session_name
self._X2goClient__get_session_of_session_name(session_name, return_object=True).terminate()
if not pubapp_session_resumed:
@@ -399,7 +403,8 @@ class PyHocaGUI(wx.App, x2go.X2goClient):
if profile_name in self._temp_launching_pubapp_profiles:
self._temp_launching_pubapp_profiles.remove(profile_name)
- return pubapp_session_started and pubapp_session_resumed
+ print pubapp_session_started | pubapp_session_resumed
+ return pubapp_session_started | pubapp_session_resumed
self.notifier.send(_(u'%s - server warning') % profile_name, _(u'The X2Go Server does not publish an application menu.'), icon='session_warning', timeout=10000)
return None
@@ -409,6 +414,7 @@ class PyHocaGUI(wx.App, x2go.X2goClient):
try:
profile_name = self.get_session(session_uuid).get_profile_name()
+ self._hide_notifications_map[profile_name] = []
if self._X2goClient__get_profile_config(profile_name)['published']:
if self.args.single_session_profile:
self._init_pubapp_session(session_uuid=session_uuid)
@@ -688,11 +694,15 @@ class PyHocaGUI(wx.App, x2go.X2goClient):
"""
self.current_profile_name = self._eventid_profilenames_map[evt.GetId()]
- session_uuid = self._X2goClient__client_registered_sessions_of_profile_name(self.current_profile_name)[0]
- # disconnect all profile sessions
- if self._X2goClient__server_is_alive(session_uuid) and not self.args.single_session_profile:
- self._X2goClient__disconnect_profile(self.current_profile_name)
- self.notifier.send(_(u'%s - disconnect') % self.current_profile_name, _(u'X2Go Profile is now disconnected.'), icon='auth_disconnect', timeout=4000)
+ session_uuids = self._X2goClient__client_registered_sessions_of_profile_name(self.current_profile_name)
+ if session_uuids:
+
+ # disconnect all sessions of profile
+ if self._X2goClient__server_is_alive(session_uuids[0]) and not self.args.single_session_profile:
+ self._hide_notifications_map[self.current_profile_name] = self._X2goClient__client_running_sessions_of_profile_name(self.current_profile_name, return_session_names=True)
+
+ self._X2goClient__disconnect_profile(self.current_profile_name)
+ self.notifier.send(_(u'%s - disconnect') % self.current_profile_name, _(u'X2Go Profile is now disconnected.'), icon='auth_disconnect', timeout=4000)
if self.exit_on_disconnect:
self._pyhoca_logger('Exiting %s because %s got disconnected.' % (self.appname, self.current_profile_name), loglevel=x2go.loglevel_NOTICE)
self.WakeUpIdle()
diff --git a/pyhoca/wxgui/menus_taskbar.py b/pyhoca/wxgui/menus_taskbar.py
index d5ef21f..4675976 100644
--- a/pyhoca/wxgui/menus_taskbar.py
+++ b/pyhoca/wxgui/menus_taskbar.py
@@ -501,6 +501,7 @@ class PyHocaGUI_Menu_TaskbarSessionProfile(wx.Menu):
_pub_app_start_item = self.Append(id=ID_PUBAPPSESSIONSTART, text=_(u"Retrieving Application Menu..."))
_pub_app_start_item.Enable(False)
else:
+ self._PyHocaGUI._eventid_profilenames_map[ID_PUBAPPSESSIONSTART] = profile_name
_pub_app_start_item = self.Append(id=ID_PUBAPPSESSIONSTART, text=_(u"Retrieve Application Menu"))
self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnPubAppSessionStart, id=ID_PUBAPPSESSIONSTART)
else:
@@ -511,7 +512,7 @@ class PyHocaGUI_Menu_TaskbarSessionProfile(wx.Menu):
if current_profile_config['command'] == '' and current_profile_config['published']:
- _pub_app_sessions = self._PyHocaGUI.client_pubapp_sessions_of_profile_name(profile_name, return_objects=True)
+ _pub_app_sessions = [ _pas for _pas in self._PyHocaGUI.client_pubapp_sessions_of_profile_name(profile_name, return_objects=True) if _pas.is_running() ]
if _pub_app_sessions:
_pub_app_session = _pub_app_sessions[0]
_pub_app_start_item.Enable(False)
@@ -549,6 +550,7 @@ class PyHocaGUI_Menu_TaskbarSessionProfile(wx.Menu):
self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionTerminate, id=ID_TERMINATESESSION)
else:
+
# preparing profile_name information for the main PyHocaGUI instance
self._PyHocaGUI._eventid_profilenames_map[ID_LAUNCHAPPLICATION] = \
self._PyHocaGUI._eventid_profilenames_map[ID_CLEANSESSIONS] = profile_name
@@ -562,7 +564,7 @@ class PyHocaGUI_Menu_TaskbarSessionProfile(wx.Menu):
if current_profile_config['published']:
_pub_app_session = None
- _pub_app_sessions = self._PyHocaGUI.client_pubapp_sessions_of_profile_name(profile_name, return_objects=True)
+ _pub_app_sessions = [ _pas for _pas in self._PyHocaGUI.client_pubapp_sessions_of_profile_name(profile_name, return_objects=True) if _pas.is_running() ]
if _pub_app_sessions:
_pub_app_session = _pub_app_sessions[0]
if _pub_app_session and _pub_app_session.is_running():
hooks/post-receive
--
pyhoca-gui.git (Python X2Go Client (wxPython GUI))
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "pyhoca-gui.git" (Python X2Go Client (wxPython GUI)).
More information about the x2go-commits
mailing list