def validatePage(self): from lds.ReadConfig import MainFileReader as MFR from lds.ConfigWrapper import ConfigWrapper from lds.LDSUtilities import Encrypt rv = super(ConfirmationPage, self).validatePage() encrypt = self.field("ldsencryption") inex = 'internal' if self.field("ldsinternal") else 'external' buildarray = () buildarray += ((MFR.LDSN,'key',self.field("ldsapikey")),) #proxy type = user defined if self.field("proxy"+WFSDataStore.PROXY_TYPE[2]): buildarray += ((MFR.PROXY,'type',WFSDataStore.PROXY_TYPE[2]),) buildarray += ((MFR.PROXY,'host',self.field("proxyhost")),) buildarray += ((MFR.PROXY,'port',self.field("proxyport")),) buildarray += ((MFR.PROXY,'auth',WFSDataStore.PROXY_AUTH[int(self.field("proxyauth"))-1]),) buildarray += ((MFR.PROXY,'user',self.field("proxyusr")),) pwd = self.field("proxypwd") if encrypt: pwd = Encrypt.ENC_PREFIX+Encrypt.secure(pwd) buildarray += ((MFR.PROXY,'pass',pwd),) #proxy type = system elif self.field("proxy"+WFSDataStore.PROXY_TYPE[1]): buildarray += ((MFR.PROXY,'type',WFSDataStore.PROXY_TYPE[1]),) buildarray += ((MFR.PROXY,'host',''),) buildarray += ((MFR.PROXY,'port',''),) buildarray += ((MFR.PROXY,'auth',''),) buildarray += ((MFR.PROXY,'user',''),) buildarray += ((MFR.PROXY,'pass',''),) # if os.name == 'nt': # #windows # from lds.WinUtilities import Registry as WR # (_,host,port) = WR.readProxyValues() # buildarray += ((MFR.PROXY,'host',host),) # buildarray += ((MFR.PROXY,'port',port),) # else: # #unix etc # hp = os.environ('http_proxy') # rm = re.search('http://([a-zA-Z0-9_\.\-]+):(\d+)',hp) # buildarray += ((MFR.PROXY,'host',rm.group(1)),) # buildarray += ((MFR.PROXY,'port',rm.group(2)),) #proxy type = direct elif self.field("proxy"+WFSDataStore.PROXY_TYPE[0]): buildarray += ((MFR.PROXY,'type',WFSDataStore.PROXY_TYPE[0]),) buildarray += ((MFR.PROXY,'host',''),) buildarray += ((MFR.PROXY,'port',''),) buildarray += ((MFR.PROXY,'auth',''),) buildarray += ((MFR.PROXY,'user',''),) buildarray += ((MFR.PROXY,'pass',''),) section = self.selected[0] for sf in self.selectedfields: name = sf[0] value = sf[2] if name == 'pass' and encrypt: value = Encrypt.ENC_PREFIX+Encrypt.secure(value) buildarray += ((section,name,value),) buildarray += ((section,'config',inex),) ucfile = self.field("ldsfile") #ucfile = LU.standardiseUserConfigName(str(self.field("ldsfile").toString())) #save values to user config file self.parent.setMFR(self.ldsfile) ConfigWrapper.writeUserConfigData(self.parent.getMFR(), buildarray) #save userconf and dest to gui prefs gpr = GUIPrefsReader() #zips with (dest,lgsel,layer,uconf... gpr.write(( section,'',ucfile)) #pass back name of UC file for GUI dialog if self.ldsfile and self.parent.parent and hasattr(self.parent.parent,'controls'): self.parent.parent.controls.confcombo.setEditText(self.ldsfile) return rv