def OnConnect(self, event):
     """!Connect to the server"""
     server = self.server.GetValue()
     if not server:
         self.btn_import.Enable(False)
         return # not reachable
     
     layers = {}
     ret = RunCommand('r.in.wms2',
                      quiet = True,
                      parent = self,
                      wms_version = "1.3.0",
                      read = True,
                      flags = 'c',
                      mapserver = server)
     
     temp_file = grass.tempfile()
     if temp_file is None:
         grass.fatal(_("Unable to create temporary files"))##TOFO
     
     temp = open(temp_file, "w")
     temp.write(ret.encode('utf-8'))#TODO
     temp.close()
     
     if not ret:
         self.list.LoadData()
         self.btn_import.Enable(False)
         return # no layers found
     
     try:
        self.cap = WMSCapabilities(temp_file)
     except GException as error:
         GError(error, parent = self)
     
     # update list of layers
     self.list.LoadData(self.cap)
     
     if len(layers.keys()) > 0:
         self.btn_import.Enable(True)
     else:
         self.btn_import.Enable(False)