def METHOD_NAME(filename, original_filename=None):
    """Finds a backend suitable for unpacking the given package and returns
    its dotted name.
    :param filename: a path to the processed problem package
    :param original_filename: the name of the package specified by the
    uploading user.
    """
    for backend_name in settings.PROBLEM_PACKAGE_BACKENDS:
        try:
            backend = import_string(backend_name)()
            if backend.identify(filename, original_filename):
                return backend_name
        # pylint: disable=broad-except
        except Exception:
            logger.warning('Backend %s probe failed', backend_name, exc_info=True)
    raise NoBackend('Problem pack format not recognized')