def load(cls, location, application):
    """
        Load a project from a specified location.

        The loaded project's location is always set to the location the project
        was actually loaded from.  Additionally, the dirty flag is cleared
        on the loaded project.

        An exception will be raised to indicate a failure.

        """
    project = cls._load(location)
    project.location = location
    project.dirty = False
    project.application = application
    return project
