def _get_project_requirements(project): no_requirements = job_pb2.JobRequirements() rome_id = project.target_job.job_group.rome_id if not rome_id: return no_requirements job_group_info = _job_groups_info().get(rome_id) if not job_group_info: return no_requirements return job_group_info.requirements
def _get_job_requirements(rome_id): no_requirements = job_pb2.JobRequirements() if not rome_id: return no_requirements job_group_info = jobs.get_group_proto(_DB, rome_id) if not job_group_info: return no_requirements return job_group_info.requirements
def _get_handcrafted_job_requirements(project: scoring_base.ScoringProject) \ -> Optional[job_pb2.JobRequirements]: """Handcrafted job requirements for the target job.""" handcrafted_requirements = job_pb2.JobRequirements() all_requirements = project.job_group_info().requirements handcrafted_fields = [ field for field in job_pb2.JobRequirements.DESCRIPTOR.fields_by_name.keys() if field.endswith('_short_text')] has_requirements = False for field in handcrafted_fields: field_requirements = getattr(all_requirements, field) if field_requirements: has_requirements = True setattr(handcrafted_requirements, field, field_requirements) if not has_requirements: return None return handcrafted_requirements