[X2Go-Commits] pyhoca-gui.git - build-59a18b6e3b5d3f1dd8f07f26433d37fe5984a57d (branch) updated: 48069d455581d22d4e48283f5056cfa325ef53ff
X2Go dev team
git-admin at x2go.org
Tue Aug 27 13:20:33 CEST 2013
The branch, build-59a18b6e3b5d3f1dd8f07f26433d37fe5984a57d has been updated
via 48069d455581d22d4e48283f5056cfa325ef53ff (commit)
from 7a8808f258f6a417a9fe4d73b84a03e803841155 (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-gui.py | 3 +-
x2goLogon.py | 93 +++++++++++++++++++++++++++++++++++++--------------------
2 files changed, 63 insertions(+), 33 deletions(-)
The diff of changes is:
diff --git a/pyhoca-gui.py b/pyhoca-gui.py
index 7136187..aa3ea23 100644
--- a/pyhoca-gui.py
+++ b/pyhoca-gui.py
@@ -159,7 +159,7 @@ def check_running(logger):
if platform.system() in ('Linux', 'Mac'):
p = Popen(['ps', '-A'], stdout=PIPE)
psA_out = p.communicate()
- logger('psa_out %s' % (psA_out,), x2go.loglevel_INFO )
+ logger('psa_out %s' % (psA_out,), x2go.loglevel_DEBUG )
return psA_out[0].count(PROG_NAME) > 1
elif platform.system() == 'Windows':
return False
@@ -172,3 +172,4 @@ def main():
if __name__ == '__main__':
main()
+
\ No newline at end of file
diff --git a/x2goLogon.py b/x2goLogon.py
index 92960bf..7d3aac5 100644
--- a/x2goLogon.py
+++ b/x2goLogon.py
@@ -37,6 +37,7 @@ from Message import Message
import x2go
import pyhocaguiImages
import platform
+import types
try:
from agw import knobctrl as KC
@@ -66,10 +67,12 @@ class menuActions(wx.Menu):
self.settingsProfile = parent.settingsProfile
self.SessionProfiles = parent.SessionProfiles
self.printProfile = parent.printProfile
+ self.registeredSessions = parent.registeredSessions
else:
self.settingsProfile = parent.parent.settingsProfile
self.SessionProfiles = parent.parent.SessionProfiles
self.printProfile = parent.parent.printProfile
+ self.registeredSessions = parent.parent.registeredSessions
if hasattr(parent,'selected_profile'):
self.selected_profile = parent.selected_profile
else:
@@ -95,19 +98,20 @@ class menuActions(wx.Menu):
self.logger('settingsProfile.newProfile %s' % dir(self.settingsProfile), x2go.loglevel_INFO, )
self.Append(MENU_NEWSESSION, OPENNEWMENUTXT)
parent.Bind(wx.EVT_MENU, self.OnNewSession, id=MENU_NEWSESSION)
- if self.settingsProfile.newprofile:
+ if self.settingsProfile.get('Authorization','newprofile',types.BooleanType):
self.Append(MENU_NEWPROFILE, ADDPROFILEMENUTXT)
parent.Bind(wx.EVT_MENU, self.OnAddProfile, id=MENU_NEWPROFILE)
- if self.SessionProfiles.runningSessions() and popupMenu is False:
+ if self.registeredSessions.has_running_session and popupMenu is False:
self.Append(MENU_LISTSESSIONS, RUNNINGMENUTXT)
parent.Bind(wx.EVT_MENU, self.OnListSessions, id=MENU_LISTSESSIONS)
- if self.settingsProfile.suspend and ((popupMenu is False and self.SessionProfiles.runningSessions()) or (popupMenu and self.selected_profile.connected is False and self.selected_profile.isAlive())):
+ if self.settingsProfile.get('Authorization','suspend',types.BooleanType) and ((popupMenu is False and self.registeredSessions.has_running_session)
+ or (popupMenu and self.registeredSessions.running_sessions_of_name(self.parent.selected_profile['name']) is False and self.selected_profile.session_ok())):
self.Append(MENU_SUSPEND, SUSPENDMENUTXT)
parent.Bind(wx.EVT_MENU, self.OnSuspend, id=MENU_SUSPEND)
- if self.settingsProfile.resume and self.SessionProfiles.suspendedSessions():
+ if self.settingsProfile.get('Authorization','resume',types.BooleanType) and self.registeredSessions.has_suspended_session:
self.Append(MENU_RESUME, RESUMEMENUTXT)
parent.Bind(wx.EVT_MENU, self.OnResume, id=MENU_RESUME)
- if self.settingsProfile.editprofile:
+ if self.settingsProfile.get('Authorization','editprofile',types.BooleanType):
self.AppendSeparator()
self.Append(MENU_EDITSESSION, UPDATEPROFMNUTEXT)
parent.Bind(wx.EVT_MENU, self.OnUpdateProfile, id=MENU_EDITSESSION)
@@ -121,7 +125,6 @@ class menuActions(wx.Menu):
X2goMaintProfile.X2goMaintProfile('Add', self.parent, self.SessionProfiles, self.parent.callbackupdList)
def OnNewSession(self, evt):
- self.logger('NewSession started for self.parent.__class__.__name__ %s, len(self.SessionProfiles.x2goprofs) %s' % (self.parent.__class__.__name__, len(self.SessionProfiles.x2goprofs)), x2go.loglevel_INFO, )
if hasattr(self.parent,'selected_profile'):
X2GoPasswordScrn(self.parent)
elif len(self.SessionProfiles.x2goprofs) > 1:
@@ -196,7 +199,7 @@ class X2GoPasswordScrn(sc.SizedFrame):
if the screen is iconized, but an error occurs, the screen is displayed
and the user can enter another userid/password
"""
- captionText = "X2go Profile " + parent.current_profile.name
+ captionText = "X2go Profile " + parent.current_profile['name']
sc.SizedFrame.__init__(self, None, -1, captionText,
style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER)
self.CentreOnScreen()
@@ -206,6 +209,7 @@ class X2GoPasswordScrn(sc.SizedFrame):
self.settingsProfile = parent.settingsProfile
self.SessionProfiles = parent.SessionProfiles
self.current_profile = parent.current_profile
+ self.registeredSessions = parent.registeredSessions
self.printProfile = parent.printProfile
self.parent = parent
self.logger = parent.logger
@@ -247,24 +251,25 @@ class X2GoPasswordScrn(sc.SizedFrame):
if len(password) == 0:
Message(self,2)
return
- self.current_profile.updValue('username',username)
- self.current_profile.setPassword(password)
- self.onConnect()
+ self.onConnect(username, password)
- def onConnect(self):
+ def onConnect(self, username, password):
error = True
+ profile_name = self.current_profile['name']
+ profile_id = self.SessionProfiles.to_profile_id(profile_name)
try:
- connection = self.current_profile.Connect(self)
- connection.makeConnection(self.session, self.StatusText)
+ session_uuid = self.registeredSessions.register(profile_id, profile_name)
+ self.registeredSessions(session_uuid).connect(password=password)
+ self.registeredSessions(session_uuid).start()
error = False
except x2go.AuthenticationException:
Message(self,3)
except x2go.BadHostKeyException:
- Message(self,message='SSH host key verification for remote host [%s]:%s failed' % (self.current_profile.host, self.current_profile.sshport ))
+ Message(self,message='SSH host key verification for remote host [%s]:%s failed' % (self.current_profile['host'], self.current_profile['sshport'] ))
except x2go.SSHException, e:
- Message(self,message='Problem with ssh tunnel for host [%s]:%s failed' % (self.current_profile.host, self.current_profile.sshport ))
+ Message(self,message='Problem with ssh tunnel for host [%s]:%s failed' % (self.current_profile['host'], self.current_profile['sshport'] ))
except:
- Message(self,message='Unknown problem with connection to host [%s]:%s' % (self.current_profile.host, self.current_profile.sshport ))
+ Message(self,message='Unknown problem with connection to host [%s]:%s' % (self.current_profile['host'], self.current_profile['sshport'] ))
if error:
self.Show(True)
if self.IsIconized():
@@ -310,6 +315,7 @@ class X2GoChooseSessionScrn(wx.Frame):
self.currentItem = None
self.printProfile = parent.printProfile
self.logger('Choose Session screen started iconize %s' % Iconize, x2go.loglevel_INFO, )
+ if self.current_profile: self.logger('With current session %s' % self.current_profile['name'], x2go.loglevel_INFO, )
wx.Frame.__init__(self, None, -1)
self.CentreOnScreen()
self.il = wx.ImageList(16, 16)
@@ -369,23 +375,45 @@ class X2GoChooseSessionScrn(wx.Frame):
self.list.InsertColumnInfo(0, info)
info.m_format = wx.LIST_FORMAT_RIGHT
- info.m_text = "Status"
+ info.m_text = ""
self.list.InsertColumnInfo(1, info)
- for profilename, connected, alive in sessions:
- self.addRow(profilename, connected, alive)
+ info.m_format = wx.LIST_FORMAT_RIGHT
+ info.m_text = "Status"
+ self.list.InsertColumnInfo(2, info)
+
+ info.m_format = wx.LIST_FORMAT_RIGHT
+ info.m_text = "Sessie-Id"
+ self.list.InsertColumnInfo(3, info)
+
+ self.logger('sessions %s' % sessions, x2go.loglevel_INFO, )
+ for profilename in sessions:
+ registeredProfiles = self.registeredSessions.registered_sessions_of_name(profilename)
+ if len(registeredProfiles):
+ for idx, session in enumerate(registeredProfiles):
+ if len(registeredProfiles) > 1:
+ prName = profilename
+ else:
+ prName = profilename
+ self.addRow(prName, idx, session, session.connected, session.is_running(), session.is_suspended(), sessions.session_ok())
+ else:
+ self.addRow(profilename)
self.list.SetColumnWidth(0, wx.LIST_AUTOSIZE)
- def addRow(self, profilename, connected, alive):
- if connected and alive:
- index = self.list.InsertImageStringItem(sys.maxint, profilename, self.idx2)
- self.list.SetStringItem(index, 1, 'Connected')
- elif not connected and alive:
- index = self.list.InsertImageStringItem(sys.maxint, profilename, self.idx3)
- self.list.SetStringItem(index, 1, 'Suspended')
+ def addRow(self, profilename, idx='', sessionName=None, connected=False, running=False, suspended=False, alive=False):
+ if connected and alive and running:
+ imageNr = self.idx2
+ statusText = 'Connected'
+ elif suspended or (not connected and (alive or running)):
+ imageNr = self.idx3
+ statusText = 'Suspended'
else:
- index = self.list.InsertImageStringItem(sys.maxint, profilename, self.idx1)
- self.list.SetStringItem(index, 1, 'Not Connected')
+ imageNr = self.idx1
+ statusText = 'Not Connected'
+ index = self.list.InsertImageStringItem(sys.maxint, profilename, imageNr)
+ self.list.SetStringItem(index, 1, str(idx))
+ self.list.SetStringItem(index, 2, statusText)
+ if sessionName: self.list.SetStringItem(index, 3, sessionName)
def OnRightDown(self, event):
x = event.GetX()
@@ -399,7 +427,7 @@ class X2GoChooseSessionScrn(wx.Frame):
def OnItemSelected(self, event):
##print event.GetItem().GetTextColour()
self.currentItem = event.m_itemIndex
- self.selected_profile = self.parent.SessionProfiles.getProfileByName(self.list.GetItemText(self.currentItem))
+ self.selected_profile = self.parent.SessionProfiles.get_profile_config(self.list.GetItemText(self.currentItem))
def OnDoubleClick(self, event):
self.logger('DoubleClick', x2go.loglevel_INFO, )
@@ -407,7 +435,7 @@ class X2GoChooseSessionScrn(wx.Frame):
def OnItemActivated(self, event):
self.currentItem = event.m_itemIndex
- self.selected_profile = self.parent.SessionProfiles.getProfileByName(self.list.GetItemText(self.currentItem))
+ self.selected_profile = self.SessionProfiles.get_profile_config(self.list.GetItemText(self.currentItem))
def OnRightClick(self, event):
# only do this part the first time so the events are only bound once
@@ -417,7 +445,7 @@ class X2GoChooseSessionScrn(wx.Frame):
self.PopupMenu(menuActions(self, popupMenu=True))
def OnCancel(self, evt):
- if not self.SessionProfiles.anyRunningSessions():
+ if not self.registeredSessions.has_running_session:
#self.Close()
self.tb.Destroy()
self.Destroy()
@@ -540,7 +568,7 @@ def startX2Go(parent):
parent.registeredSessions = x2go.registry.X2goSessionRegistry(logger=parent.liblogger)
sessionsSuspended = parent.registeredSessions.suspended_sessions
- parent.current_profile = defaultProfile = parent.SessionProfiles.has_default_profile()
+ parent.current_profile = defaultProfile = parent.SessionProfiles.get_default_profile()
if sessionsSuspended and len(sessionsSuspended) > 0:
if parent.settingsProfile.autoresume:
parent.logger('autoresume sessionsSuspended %s' % sessionsSuspended, x2go.loglevel_INFO, )
@@ -558,3 +586,4 @@ def startX2Go(parent):
else:
parent.logger('Start Profile Definition', x2go.loglevel_INFO, )
defScrn = X2GoSessionDefScrn(parent, directCall=True)
+
\ No newline at end of file
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