sampo.utilities.validation#

Overview#

Function#

validate_schedule(schedule, wg, contractors)

Checks if the schedule is correct and can be executed.

_check_all_tasks_scheduled(schedule, wg)

-

_check_parent_dependencies(schedule, wg)

-

_check_all_tasks_have_valid_duration(schedule)

-

_check_all_allocated_workers_do_not_exceed_capacity_of_contractors(schedule, contractors)

-

check_all_allocated_workers_do_not_exceed_capacity_of_contractors(schedule, initial_worker_pool, cur_worker_pool)

-

_check_all_workers_correspond_to_worker_reqs(schedule)

-

_check_all_workers_have_same_qualification(wg, contractors)

-

Functions#

sampo.utilities.validation.validate_schedule(schedule: sampo.schemas.schedule.Schedule, wg: sampo.schemas.graph.WorkGraph, contractors: list[sampo.schemas.contractor.Contractor]) None#

Checks if the schedule is correct and can be executed. If there is an error, this function raises AssertException with an appropriate message If it finishes without any exception, it means successful passing of the verification

Parameters:
  • contractors

  • wg

  • schedule – to apply verification

sampo.utilities.validation._check_all_tasks_scheduled(schedule: sampo.schemas.schedule.Schedule, wg: sampo.schemas.graph.WorkGraph) None#
sampo.utilities.validation._check_parent_dependencies(schedule: sampo.schemas.schedule.Schedule, wg: sampo.schemas.graph.WorkGraph) None#
sampo.utilities.validation._check_all_tasks_have_valid_duration(schedule: sampo.schemas.schedule.Schedule) None#
sampo.utilities.validation._check_all_allocated_workers_do_not_exceed_capacity_of_contractors(schedule: sampo.schemas.schedule.Schedule, contractors: list[sampo.schemas.contractor.Contractor]) None#
sampo.utilities.validation.check_all_allocated_workers_do_not_exceed_capacity_of_contractors(schedule: sampo.schemas.schedule.Schedule, initial_worker_pool: dict[str, dict[str, int]], cur_worker_pool: dict[str, dict[str, int]]) dict[str, dict[str, int]]#
sampo.utilities.validation._check_all_workers_correspond_to_worker_reqs(schedule: sampo.schemas.schedule.Schedule)#
sampo.utilities.validation._check_all_workers_have_same_qualification(wg: sampo.schemas.graph.WorkGraph, contractors: list[sampo.schemas.contractor.Contractor])#