def make_middleware_with_config(app, global_conf, config_file, who_config_file='', log_file=None, log_level=None): """Override repoze.what.plugins.config:make_middleware_with_config Allows us to call a Baruwa modified authentication stark """ if not who_config_file: who_config_file = config_file who_parser = WhoConfig(global_conf['here']) who_parser.parse(open(who_config_file)) what_parser = WhatConfig(global_conf['here']) what_parser.parse(open(config_file)) log_stream = None if log_file is not None: if log_file.lower() == 'stdout': log_stream = sys.stdout else: try: log_stream = open(log_file, 'wb') except IOError: log_stream = None if log_level is None: log_level = logging.INFO else: log_level = _LEVELS[log_level.lower()] return setup_auth( app, group_adapters=what_parser.group_adapters, permission_adapters=what_parser.permission_adapters, identifiers=who_parser.identifiers, authenticators=who_parser.authenticators, challengers=who_parser.challengers, mdproviders=who_parser.mdproviders, classifier=who_parser.request_classifier, challenge_decider=who_parser.challenge_decider, log_stream=log_stream, log_level=log_level, remote_user_key=who_parser.remote_user_key, )