'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'

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)
