def _get_code_pointer_dict_from_kwargs(kwargs): python_file = kwargs.get("python_file") module_name = kwargs.get("module_name") working_directory = get_working_directory_from_kwargs(kwargs) attribute = kwargs.get("attribute") loadable_targets = get_loadable_targets(python_file, module_name, working_directory, attribute) if python_file: return { repository_def_from_target_def( loadable_target.target_definition).name: CodePointer.from_python_file(python_file, loadable_target.attribute, working_directory) for loadable_target in loadable_targets } elif module_name: return { repository_def_from_target_def( loadable_target.target_definition).name: CodePointer.from_module(module_name, loadable_target.attribute) for loadable_target in loadable_targets } else: check.failed("invalid")
def _get_code_pointer_dict_from_kwargs(kwargs): python_file = kwargs.get("python_file") module_name = kwargs.get("module_name") working_directory = get_working_directory_from_kwargs(kwargs) attribute = kwargs.get("attribute") if python_file: _check_cli_arguments_none(kwargs, "module_name") return { repository_def_from_target_def( loadable_target.target_definition).name: CodePointer.from_python_file(python_file, loadable_target.attribute, working_directory) for loadable_target in get_loadable_targets( python_file, module_name, working_directory, attribute) } elif module_name: _check_cli_arguments_none(kwargs, "python_file", "working_directory") return { repository_def_from_target_def( loadable_target.target_definition).name: CodePointer.from_module(module_name, loadable_target.attribute) for loadable_target in get_loadable_targets( python_file, module_name, working_directory, attribute) } else: check.failed("Must specify a Python file or module name")
def __init__(self, shutdown_server_event, loadable_target_origin=None): super(DagsterApiServer, self).__init__() self._shutdown_server_event = check.inst_param( shutdown_server_event, 'shutdown_server_event', seven.ThreadingEventType) self._loadable_target_origin = check.opt_inst_param( loadable_target_origin, 'loadable_target_origin', LoadableTargetOrigin) if loadable_target_origin: loadable_targets = get_loadable_targets( loadable_target_origin.python_file, loadable_target_origin.module_name, loadable_target_origin.working_directory, loadable_target_origin.attribute, ) self._loadable_repository_symbols = [ LoadableRepositorySymbol( attribute=loadable_target.attribute, repository_name=repository_def_from_target_def( loadable_target.target_definition).name, ) for loadable_target in loadable_targets ] else: self._loadable_repository_symbols = [] self._shutdown_server_event = check.inst_param( shutdown_server_event, 'shutdown_server_event', seven.ThreadingEventType) # Dict[str, multiprocessing.Process] of run_id to execute_run process self._executions = {} # Dict[str, multiprocessing.Event] self._termination_events = {} self._execution_lock = threading.Lock() self._repository_code_pointer_dict = {} for loadable_repository_symbol in self._loadable_repository_symbols: if self._loadable_target_origin.python_file: self._repository_code_pointer_dict[ loadable_repository_symbol. repository_name] = CodePointer.from_python_file( self._loadable_target_origin.python_file, loadable_repository_symbol.attribute, self._loadable_target_origin.working_directory, ) if self._loadable_target_origin.module_name: self._repository_code_pointer_dict[ loadable_repository_symbol. repository_name] = CodePointer.from_module( self._loadable_target_origin.module_name, loadable_repository_symbol.attribute, )
def load_loadable_repository_symbols(loadable_target_origin): if loadable_target_origin: loadable_targets = get_loadable_targets( loadable_target_origin.python_file, loadable_target_origin.module_name, loadable_target_origin.working_directory, loadable_target_origin.attribute, ) return [ LoadableRepositorySymbol( attribute=loadable_target.attribute, repository_name=repository_def_from_target_def( loadable_target.target_definition).name, ) for loadable_target in loadable_targets ] else: return []
def list_repositories_command(args): check.inst_param(args, 'args', ListRepositoriesInput) python_file, module_name, working_directory, attribute = ( args.python_file, args.module_name, args.working_directory, args.attribute, ) loadable_targets = get_loadable_targets(python_file, module_name, working_directory, attribute) return ListRepositoriesResponse([ LoadableRepositorySymbol( attribute=lt.attribute, repository_name=repository_def_from_target_def( lt.target_definition).name, ) for lt in loadable_targets ])
def list_repositories_command(args): check.inst_param(args, "args", ListRepositoriesInput) python_file, module_name, working_directory, attribute = ( args.python_file, args.module_name, args.working_directory, args.attribute, ) try: loadable_targets = get_loadable_targets(python_file, module_name, working_directory, attribute) return ListRepositoriesResponse([ LoadableRepositorySymbol( attribute=lt.attribute, repository_name=repository_def_from_target_def( lt.target_definition).name, ) for lt in loadable_targets ]) except Exception: # pylint: disable=broad-except return serializable_error_info_from_exc_info(sys.exc_info())