def __init__(self, parent, guiaction=None, pack_info=None): self.guiaction = guiaction if(not pack_info): self.pack_info=rcm_utils.pack_info() else: self.pack_info=pack_info self.parent = parent self.top = Toplevel(self.parent) geometry = '+' + str(self.parent.winfo_x()) + '+' + str(self.parent.winfo_y()) self.top.geometry(geometry) self.my_rcm_client = rcm_client.rcm_client_connection(pack_info = self.pack_info) parent.connections.append(self.my_rcm_client) self.topFrame= Frame(self.top) self.topFrame.pack(fill=BOTH,expand=1) self.frameLogin = Login(guiaction=self.ok, action=self.my_rcm_client.login_setup, master=self.topFrame) self.top.grab_set()
def askopenfilename(self,filename=None): if(not filename): file_opt = options = {} options['filetypes'] = [('vnc files', '.vnc'), ('all files', '.*')] filename = tkFileDialog.askopenfilename(initialdir=self.last_used_dir,**file_opt) if filename: tunnel = False my_rcm_client = rcm_client.rcm_client_connection(pack_info = self.pack_info) my_rcm_client.passwd = '' #check if session needs tunneling file = open(filename, 'r') if 'rcm_tunnel' in file.read(): file.seek(0) lines = file.readlines() for l in lines: if 'rcm_tunnel' in l: node = l.split('=')[1].rstrip() #check credential for the cluster, not for the specific node if(self.n): credential = self.n.getConnectionInfo(node.split('.',1)[1]) if credential != None: user = credential['user'] my_rcm_client.login_setup(host=node,remoteuser=user,password=credential['password']) else: tkMessageBox.showwarning("Warning!", "Please login to \"{0}\" to open this shared display.".format(node)) return else: module_logger.error("connections with tunnel need to be in GUI mode with a proper connection to login node") return if 'host' in l: hostname = l.split('=')[1].rstrip() if 'port' in l: port = l.split('=')[1].rstrip() display = int(port) - 5900 if 'password' in l: password = l.split('=')[1].rstrip() c=rcm.rcm_session(node=hostname, tunnel='y', display=display, nodelogin=node, username=user, vncpassword=password) my_rcm_client.vncsession(session = c) else: my_rcm_client.vncsession(configFile = filename) self.topFrame.connections.append(my_rcm_client) self.last_used_dir=os.path.dirname(filename)
def __init__(self, parent, guiaction=None, pack_info=None): self.guiaction = guiaction if (not pack_info): self.pack_info = rcm_utils.pack_info() else: self.pack_info = pack_info self.parent = parent self.top = Toplevel(self.parent) geometry = '+' + str(self.parent.winfo_x()) + '+' + str( self.parent.winfo_y()) self.top.geometry(geometry) self.my_rcm_client = rcm_client.rcm_client_connection( pack_info=self.pack_info) parent.connections.append(self.my_rcm_client) self.topFrame = Frame(self.top) self.topFrame.pack(fill=BOTH, expand=1) self.frameLogin = Login(guiaction=self.ok, action=self.my_rcm_client.login_setup, master=self.topFrame) self.top.grab_set()
def askopenfilename(self, filename=None): if (not filename): file_opt = options = {} options['filetypes'] = [('vnc files', '.vnc'), ('all files', '.*')] filename = tkFileDialog.askopenfilename( initialdir=self.last_used_dir, **file_opt) if filename: tunnel = False my_rcm_client = rcm_client.rcm_client_connection( pack_info=self.pack_info) my_rcm_client.passwd = '' #check if session needs tunneling file = open(filename, 'r') if 'rcm_tunnel' in file.read(): file.seek(0) lines = file.readlines() for l in lines: if 'rcm_tunnel' in l: node = l.split('=')[1].rstrip() #check credential for the cluster, not for the specific node if (self.n): credential = self.n.getConnectionInfo( node.split('.', 1)[1]) if credential != None: user = credential['user'] my_rcm_client.login_setup( host=node, remoteuser=user, password=credential['password']) else: tkMessageBox.showwarning( "Warning!", "Please login to \"{0}\" to open this shared display." .format(node)) return else: module_logger.error( "connections with tunnel need to be in GUI mode with a proper connection to login node" ) return if 'host' in l: hostname = l.split('=')[1].rstrip() if 'port' in l: port = l.split('=')[1].rstrip() display = int(port) - 5900 if 'password' in l: password = l.split('=')[1].rstrip() c = rcm.rcm_session(node=hostname, tunnel='y', display=display, nodelogin=node, username=user, vncpassword=password) my_rcm_client.vncsession(session=c) else: my_rcm_client.vncsession(configFile=filename) self.topFrame.connections.append(my_rcm_client) self.last_used_dir = os.path.dirname(filename)