Exemplo n.º 1
0
    def get_location(self, location_name: str) -> RepositoryLocation:
        if self._location_entries == None:
            self._location_entries = self._load_workspace()

        if location_name not in self._location_entries:
            raise DagsterRepositoryLocationLoadError(
                f"Location {location_name} does not exist in workspace",
                load_error_infos=[],
            )

        location_entry = self._location_entries[location_name]

        if location_entry.load_error:
            raise DagsterRepositoryLocationLoadError(
                f"Failure loading {location_name}: {location_entry.load_error}",
                load_error_infos=[location_entry.load_error],
            )

        if not location_entry.repository_location:
            raise DagsterRepositoryLocationLoadError(
                f"Location {location_name} is still loading",
                load_error_infos=[],
            )

        return location_entry.repository_location
Exemplo n.º 2
0
 def get_location(self, origin):
     location_name = origin.location_name
     if self.has_repository_location(location_name):
         return self.get_repository_location(location_name)
     elif self.has_repository_location_error(location_name):
         error_info = self.get_repository_location_error(location_name)
         raise DagsterRepositoryLocationLoadError(
             f"Failure loading {location_name}: {error_info.to_string()}",
             load_error_infos=[error_info],
         )
     else:
         raise DagsterInvariantViolationError(
             f"Location {location_name} does not exist in workspace")
Exemplo n.º 3
0
    def get_location(self, location_name: str):
        location_entry = self.get_location_entry(location_name)
        if not location_entry:
            raise DagsterInvariantViolationError(
                f"Location {location_name} does not exist in workspace")

        if location_entry.repository_location:
            return location_entry.repository_location

        error_info = cast(SerializableErrorInfo, location_entry.load_error)
        raise DagsterRepositoryLocationLoadError(
            f"Failure loading {location_name}: {error_info.to_string()}",
            load_error_infos=[error_info],
        )
Exemplo n.º 4
0
 def get_location(self, origin):
     with self._lock:
         location_name = origin.location_name
         if location_name in self._location_dict:
             return self._location_dict[location_name]
         elif location_name in self._location_error_dict:
             error_info = self._location_error_dict[location_name]
             raise DagsterRepositoryLocationLoadError(
                 f"Failure loading {location_name}: {error_info.to_string()}",
                 load_error_infos=[error_info],
             )
         else:
             raise DagsterInvariantViolationError(
                 f"Location {location_name} does not exist in workspace")
Exemplo n.º 5
0
    def get_location(self, origin):
        location_name = origin.location_name
        location_entry = self.workspace_snapshot.get(location_name)
        if not location_entry:
            raise DagsterInvariantViolationError(
                f"Location {location_name} does not exist in workspace"
            )

        if location_entry.repository_location:
            return location_entry.repository_location

        error_info = location_entry.load_error
        raise DagsterRepositoryLocationLoadError(
            f"Failure loading {location_name}: {error_info.to_string()}",
            load_error_infos=[error_info],
        )