def getToken(self, format=''): level = INFO msg = "Request Token ... " if not self._isAuthorized(): level = SEVERE msg += "ERROR: Cannot InitializeSession()..." token = '' elif self.Setting.Url.Scope.Provider.User.HasExpired: provider = self.Setting.Url.Scope.Provider.MetaData user = self.Setting.Url.Scope.Provider.User token, self._Error = getRefreshToken(self.Session, provider, user.MetaData, self.Timeout) if token.IsPresent: user.MetaData = token.Value token = user.AccessToken msg += "Refresh needed ... Done" else: level = SEVERE msg += "ERROR: Cannot RefreshToken()..." token = '' else: token = self.Setting.Url.Scope.Provider.User.AccessToken msg += "Get from configuration ... Done" logMessage(self.ctx, level, msg, 'OAuth2Service', 'getToken()') if format: token = format % token return token
def _logInfo(self, dialog): version = ' '.join(sys.version.split()) msg = getMessage(self.ctx, g_message, 111, version) logMessage(self.ctx, INFO, msg, "OptionsDialog", "_logInfo()") path = os.pathsep.join(sys.path) msg = getMessage(self.ctx, g_message, 112, path) logMessage(self.ctx, INFO, msg, "OptionsDialog", "_logInfo()") msg = getMessage(self.ctx, g_message, 113, requests.__version__) logMessage(self.ctx, INFO, msg, "OptionsDialog", "_logInfo()") msg = getMessage(self.ctx, g_message, 114, requests.urllib3.__version__) logMessage(self.ctx, INFO, msg, "OptionsDialog", "_logInfo()") try: import ssl except ImportError as e: print("OptionsDialog._logInfo() 1 %s" % (dir(e), )) msg = getExceptionMessage(e) print("OptionsDialog._logInfo() 2") msg = getMessage(self.ctx, g_message, 116, msg) else: msg = getMessage(self.ctx, g_message, 115, ssl.OPENSSL_VERSION) print("OptionsDialog._logInfo() 3") logMessage(self.ctx, INFO, msg, "OptionsDialog", "_logInfo()") url = getLoggerUrl(self.ctx) self._setDialogText(dialog, url)
def getAuthorization(self, url, username, close=True, parent=None): authorized = False msg = "Wizard Loading ..." print("OAuth2Service.getAuthorization() 1") wizard = Wizard(self.ctx, g_wizard_page, True, parent) print("OAuth2Service.getAuthorization() 2") controller = WizardController(self.ctx, wizard, self.Session, url, username, close) print("OAuth2Service.getAuthorization() 3") arguments = (g_wizard_paths, controller) print("OAuth2Service.getAuthorization() 4") wizard.initialize(arguments) msg += " Done ..." #wizard.DialogWindow.toFront() print("OAuth2Service.getAuthorization() 5") if wizard.execute() == OK: msg += " Retrieving Authorization Code ..." if controller.Error: msg += " ERROR: cant retrieve Authorization Code: %s" % controller.Error else: msg += " Done" authorized = self.initializeSession(controller.ResourceUrl, controller.UserName) else: msg += " ERROR: Wizard as been aborted" controller.Server.cancel() wizard.DialogWindow.dispose() logMessage(self.ctx, INFO, msg, 'OAuth2Service', 'getAuthorization()') return authorized
def __init__(self, ctx, frame): self.ctx = ctx self._listeners = [] if frame is not None: self._parent = frame.getContainerWindow() print("OAuth2Dispatch.__init__()") else: self._parent = None print("OAuth2Dispatch.__init__() not parent set!!!!!!") logMessage(self.ctx, INFO, "Loading ... Done", 'OAuth2Dispatch', '__init__()')
def _clearLog(self, dialog): try: clearLogger() msg = getMessage(self.ctx, g_message, 101) logMessage(self.ctx, INFO, msg, 'OptionsDialog', '_clearLog()') url = getLoggerUrl(self.ctx) self._setDialogText(dialog, url) except Exception as e: msg = "Error: %s - %s" % (e, traceback.print_exc()) logMessage(self.ctx, SEVERE, msg, "OptionsDialog", "_clearLog()")
def _isAuthorized(self): if self.Setting.Initialized and self.Setting.Url.Scope.Authorized: return True msg = "OAuth2 initialization ... AuthorizationCode needed ..." if self.getAuthorization(self.ResourceUrl, self.UserName, True): msg += " Done" logMessage(self.ctx, INFO, msg, 'OAuth2Service', '_isAuthorized()') return True msg += " ERROR: Wizard Aborted!!!" logMessage(self.ctx, SEVERE, msg, 'OAuth2Service', '_isAuthorized()') return False
def __init__(self, ctx): try: self.ctx = ctx self.stringResource = getStringResource(self.ctx, g_identifier, 'OAuth2OOo', 'OptionsDialog') self.service = createService(self.ctx, g_oauth2) logMessage(self.ctx, INFO, "Loading ... Done", 'OptionsDialog', '__init__()') except Exception as e: msg = "Error: %s - %s" % (e, traceback.print_exc()) logMessage(self.ctx, SEVERE, msg, 'OptionsDialog', '__init__()')
def _saveSetting(self, dialog): try: self._saveLoggerSetting(dialog) self.service.Setting.ConnectTimeout = int( dialog.getControl('NumericField1').getValue()) self.service.Setting.ReadTimeout = int( dialog.getControl('NumericField2').getValue()) self.service.Setting.HandlerTimeout = int( dialog.getControl('NumericField3').getValue()) self.service.Setting.commit() except Exception as e: msg = "Error: %s - %s" % (e, traceback.print_exc()) logMessage(self.ctx, SEVERE, msg, "OptionsDialog", "_saveSetting()")
def _loadSetting(self, dialog): try: dialog.getControl('NumericField1').setValue( self.service.Setting.ConnectTimeout) dialog.getControl('NumericField2').setValue( self.service.Setting.ReadTimeout) dialog.getControl('NumericField3').setValue( self.service.Setting.HandlerTimeout) dialog.getControl( 'ComboBox2' ).Model.StringItemList = self.service.Setting.Url.UrlList self._loadLoggerSetting(dialog) except Exception as e: msg = "Error: %s - %s" % (e, traceback.print_exc()) logMessage(self.ctx, SEVERE, msg, "OptionsDialog", "_loadSetting()")
def _isAuthorized(self): print("OAuth2Service._isAuthorized() 1") if self.Setting.Initialized and self.Setting.Url.Scope.Authorized: return True print("OAuth2Service._isAuthorized() 2") msg = "OAuth2 initialization ... AuthorizationCode needed ..." parent = getParentWindow(self._ctx) if self._parent is None else self._parent print("OAuth2Service._isAuthorized() 3") if self.getAuthorization(self.ResourceUrl, self.UserName, True, parent): print("OAuth2Service._isAuthorized() 4") msg += " Done" logMessage(self._ctx, INFO, msg, 'OAuth2Service', '_isAuthorized()') return True msg += " ERROR: Wizard Aborted!!!" logMessage(self._ctx, SEVERE, msg, 'OAuth2Service', '_isAuthorized()') print("OAuth2Service._isAuthorized() 5") return False
def _doConnect(self, dialog): try: user = '' print("OptionDialog._doConnect() 1") url = dialog.getControl('ComboBox2').SelectedText if url != '': message = "Authentication needed!!!" if self.service.initializeUrl(url): print("OptionDialog._doConnect() 2 %s" % url) user = getUserNameFromHandler(self.ctx, url, self, message) autoclose = bool(dialog.getControl('CheckBox2').State) print("OptionDialog._doConnect() 3 %s - %s - %s" % (user, url, autoclose)) enabled = self.service.getAuthorization(url, user, autoclose) print("OptionDialog._doConnect() 4") except Exception as e: msg = "Error: %s - %s" % (e, traceback.print_exc()) logMessage(self.ctx, SEVERE, msg, "OptionsDialog", "_doConnect()")
def _showWizard(self, kwargs): try: print("_showWizard()") msg = "Wizard Loading ..." wizard = Wizard(self.ctx, g_wizard_page, True, self._parent) controller = WizardController(self.ctx, wizard, self._model) arguments = (g_wizard_paths, controller) wizard.initialize(arguments) msg += " Done ..." if wizard.execute() == OK: msg += " Retrieving SMTP configuration OK..." else: msg += " ERROR: Wizard as been aborted" wizard.DialogWindow.dispose() wizard.DialogWindow = None print(msg) logMessage(self.ctx, INFO, msg, 'OAuth2Dispatch', '_showWizard()') except Exception as e: msg = "Error: %s - %s" % (e, traceback.print_exc()) print(msg)
def getAuthorization(self, url, username, close=True): authorized = False msg = "Wizard Loading ..." controller = WizardController(self.ctx, self.Session, url, username, close) msg += " Done ..." if controller.Wizard.execute() == OK: msg += " Retrieving Authorization Code ..." if controller.Error: msg += " ERROR: cant retrieve Authorization Code: %s" % controller.Error else: msg += " Done" authorized = self.initializeSession(controller.ResourceUrl, controller.UserName) else: msg += " ERROR: Wizard as been aborted" controller.Server.cancel() controller.Wizard.DialogWindow.dispose() logMessage(self.ctx, INFO, msg, 'OAuth2Service', 'getAuthorization()') return authorized
def execute(self, parameter): response, error = execute(self.Session, parameter, self.Timeout) if error: logMessage(self.ctx, SEVERE, error, 'OAuth2Service', 'execute()') self._Warnings.append(self._getException(error)) return response
def __init__(self, ctx): self._ctx = ctx self._frame = None logMessage(self._ctx, INFO, "Loading ... Done", 'OAuth2Dispatcher', '__init__()')