def _validate_que_request(item): """ Internal function to convert the job_ID or hamiltonian to the queuing system ID. Args: item (int, pyiron.base.job.generic.GenericJob): Provide either the job_ID or the full hamiltonian Returns: int: queuing system ID """ if isinstance(item, int): que_id = item elif static_isinstance(item.__class__, 'pyiron.base.job.generic.GenericJob'): if item.server.queue_id: que_id = item.server.queue_id else: raise ValueError('This job does not have a queue ID.') elif static_isinstance(item.__class__, 'pyiron.base.job.core.JobCore'): if "server" in item.project_hdf5.list_nodes(): server_hdf_dict = item.project_hdf5["server"] if "qid" in server_hdf_dict.keys(): que_id = server_hdf_dict["qid"] else: raise ValueError('This job does not have a queue ID.') else: raise ValueError('This job does not have a queue ID.') else: raise TypeError( 'The queue can either query for IDs or for pyiron GenericJobObjects.' ) return que_id
def _validate_que_request(item): """ Internal function to convert the job_ID or hamiltonian to the queuing system ID. Args: item (int, pyiron.base.job.generic.GenericJob): Provide either the job_ID or the full hamiltonian Returns: int: queuing system ID """ if isinstance(item, int): que_id = item elif static_isinstance(item.__class__, "pyiron.base.master.generic.GenericMaster"): if item.server.queue_id: que_id = item.server.queue_id else: queue_id_lst = [ item.project.load(child_id).server.queue_id for child_id in item.child_ids ] que_id = [ queue_id for queue_id in queue_id_lst if queue_id is not None ] if len(que_id) == 0: raise ValueError("This job does not have a queue ID.") elif static_isinstance(item.__class__, "pyiron.base.job.generic.GenericJob"): if item.server.queue_id: que_id = item.server.queue_id else: raise ValueError("This job does not have a queue ID.") elif static_isinstance(item.__class__, "pyiron.base.job.core.JobCore"): if "server" in item.project_hdf5.list_nodes(): server_hdf_dict = item.project_hdf5["server"] if "qid" in server_hdf_dict.keys(): que_id = server_hdf_dict["qid"] else: raise ValueError("This job does not have a queue ID.") else: raise ValueError("This job does not have a queue ID.") else: raise TypeError( "The queue can either query for IDs or for pyiron GenericJobObjects." ) return que_id