def parseExtensionArgs(self, args, is_openid1, strict=False):
        """Set the state of this request to be that expressed in these
        PAPE arguments

        @param args: The PAPE arguments without a namespace

        @param strict: Whether to raise an exception if the input is
            out of spec or otherwise malformed. If strict is false,
            malformed input will be ignored.

        @param is_openid1: Whether the input should be treated as part
            of an OpenID1 request

        @rtype: None

        @raises ValueError: When the max_auth_age is not parseable as
            an integer
        """

        # preferred_auth_policies is a space-separated list of policy URIs
        self.preferred_auth_policies = []

        policies_str = args.get('preferred_auth_policies')
        if policies_str:
            for uri in policies_str.split(' '):
                if uri not in self.preferred_auth_policies:
                    self.preferred_auth_policies.append(uri)

        # max_auth_age is base-10 integer number of seconds
        max_auth_age_str = args.get('max_auth_age')
        self.max_auth_age = None

        if max_auth_age_str:
            try:
                self.max_auth_age = int(max_auth_age_str)
            except ValueError:
                if strict:
                    raise

        # Parse auth level information
        preferred_auth_level_types = args.get('preferred_auth_level_types')
        if preferred_auth_level_types:
            aliases = preferred_auth_level_types.strip().split()

            for alias in aliases:
                key = 'auth_level.ns.%s' % (alias,)
                try:
                    uri = args[key]
                except KeyError:
                    if is_openid1:
                        uri = self._default_auth_level_aliases.get(alias)
                    else:
                        uri = None

                if uri is None:
                    if strict:
                        raise ValueError('preferred auth level %r is not '
                                         'defined in this message' % (alias,))
                else:
                    self.addAuthLevel(uri, alias)
def parseExtensionArgs ( self , args , is_openid1 , strict = False ) : self . preferred_auth_policies = [ ] policies_str = args . get ( 'preferred_auth_policies' ) if policies_str : for uri in policies_str . split ( ' ' ) : if uri not in self . preferred_auth_policies : self . preferred_auth_policies . append ( uri ) max_auth_age_str = args . get ( 'max_auth_age' ) self . max_auth_age = None if max_auth_age_str : try : self . max_auth_age = int ( max_auth_age_str ) except ValueError : if strict : raise preferred_auth_level_types = args . get ( 'preferred_auth_level_types' ) if preferred_auth_level_types : aliases = preferred_auth_level_types . strip ( ) . split ( ) for alias in aliases : key = 'auth_level.ns.%s' % ( alias , ) try : uri = args [ key ] except KeyError : if is_openid1 : uri = self . _default_auth_level_aliases . get ( alias ) else : uri = None if uri is None : if strict : raise ValueError ( 'preferred auth level %r is not ' 'defined in this message' % ( alias , ) ) else : self . addAuthLevel ( uri , alias )
Set the state of this request to be that expressed in these
        PAPE arguments

        @param args: The PAPE arguments without a namespace

        @param strict: Whether to raise an exception if the input is
            out of spec or otherwise malformed. If strict is false,
            malformed input will be ignored.

        @param is_openid1: Whether the input should be treated as part
            of an OpenID1 request

        @rtype: None

        @raises ValueError: When the max_auth_age is not parseable as
            an integer