This commit is contained in:
Ross
2025-12-09 11:55:00 +00:00
parent 7fe44df476
commit eb95f5fa6d
33 changed files with 57 additions and 57 deletions
+3 -3
View File
@@ -33,9 +33,9 @@ class RotaSchedule(models.Model):
Returns the RotaBuilder instance.
"""
try:
from rota.shifts import RotaBuilder, SingleShift
from rota_generator.shifts import RotaBuilder, SingleShift
except Exception:
raise RuntimeError("Unable to import rota.shifts; ensure the rota package is importable")
raise RuntimeError("Unable to import rota_generator.shifts; ensure the rota package is importable")
# compute weeks_to_rota (integer number of weeks)
delta = self.end_date - self.start_date
@@ -90,7 +90,7 @@ class Worker(models.Model):
pydantic defaults will fill the rest.
"""
try:
from rota.workers import Worker as PydWorker
from rota_generator.workers import Worker as PydWorker
except Exception:
raise RuntimeError("Unable to import rota.workers.Worker; ensure project package is importable")
+2 -2
View File
@@ -2,7 +2,7 @@ import datetime
import os
import sys
import time
from rota.shifts import NoWorkers, RotaBuilder, SingleShift, WorkerRequirement, days
from rota_generator.shifts import NoWorkers, RotaBuilder, SingleShift, WorkerRequirement, days
import typer
import subprocess
@@ -19,7 +19,7 @@ sites = (
"proc",
)
from rota.workers import (
from rota_generator.workers import (
Worker,
NotAvailableToWork,
NonWorkingDays,
+2 -2
View File
@@ -3,12 +3,12 @@ import datetime
import os
import sys
import time
from rota.shifts import MaxShiftsPerWeekConstraint, NoWorkers, PostShiftConstraint, PreShiftConstraint, RotaBuilder, SingleShift, WorkerRequirement, days
from rota_generator.shifts import MaxShiftsPerWeekConstraint, NoWorkers, PostShiftConstraint, PreShiftConstraint, RotaBuilder, SingleShift, WorkerRequirement, days
import typer
import subprocess
import pandas as pd
from rota.workers import (
from rota_generator.workers import (
Worker,
NotAvailableToWork,
NonWorkingDays,
+1 -1
View File
@@ -7,7 +7,7 @@ from loguru import logger
from rich.pretty import pprint
from rota.workers import Worker, NotAvailableToWork, NonWorkingDays, WorkRequests, PreferenceNotToWork, OutOfProgramme
from rota_generator.workers import Worker, NotAvailableToWork, NonWorkingDays, WorkRequests, PreferenceNotToWork, OutOfProgramme
date_re = r"[\d]{1,2}\/[\d]{1,2}\/[\d]{2}"
+3 -3
View File
@@ -16,9 +16,9 @@ from pyomo.environ import *
from pyomo.opt import SolverFactory, TerminationCondition, SolverStatus
import urllib.parse
from rota.workers import Worker
from rota.console import console
from rota.bank_holidays import bank_holiday_map
from rota_generator.workers import Worker
from rota_generator.console import console
from rota_generator.bank_holidays import bank_holiday_map
import json
@@ -4,7 +4,7 @@ from typing import Iterable, List, Literal, Optional, Set
from pydantic import BaseModel, ConfigDict, field_validator, Field
from rich.pretty import pprint
from rota.console import console
from rota_generator.console import console
# from .shifts import RotaBuilder, days, sites
import uuid
@@ -13,7 +13,7 @@ import uuid
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from rota.shifts import RotaBuilder
from rota_generator.shifts import RotaBuilder
days = Literal["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
whole_days = [
+2 -2
View File
@@ -3,8 +3,8 @@ from pyomo.opt import SolverFactory
from pyomo.opt.results import SolverStatus
from rota.shifts import SingleShift, RotaBuilder, days
from rota.workers import Worker
from rota_generator.shifts import SingleShift, RotaBuilder, days
from rota_generator.workers import Worker
import datetime
@@ -1,8 +1,8 @@
import datetime
import pytest
from rota.shifts import InvalidShift, NoWorkers, RotaBuilder, SingleShift, days
from rota_generator.shifts import InvalidShift, NoWorkers, RotaBuilder, SingleShift, days
from rota.workers import Worker
from rota_generator.workers import Worker
import itertools
@@ -1,8 +1,8 @@
import datetime
import pytest
from rota.shifts import InvalidShift, NoWorkers, RotaBuilder, SingleShift, days
from rota_generator.shifts import InvalidShift, NoWorkers, RotaBuilder, SingleShift, days
from rota.workers import Worker
from rota_generator.workers import Worker
import itertools
@@ -1,8 +1,8 @@
import datetime
import pytest
from rota.shifts import InvalidShift, NoWorkers, RotaBuilder, SingleShift, days, MinSummedGradeByShiftsPerDayConstraint
from rota_generator.shifts import InvalidShift, NoWorkers, RotaBuilder, SingleShift, days, MinSummedGradeByShiftsPerDayConstraint
from rota.workers import Worker
from rota_generator.workers import Worker
import itertools
+2 -2
View File
@@ -1,7 +1,7 @@
import pytest
import datetime
from rota.shifts import BalanceAcrossGroupsConstraint, RotaBuilder, SingleShift, days
from rota.workers import Worker
from rota_generator.shifts import BalanceAcrossGroupsConstraint, RotaBuilder, SingleShift, days
from rota_generator.workers import Worker
@pytest.fixture
def demo_rota_balance_sites():
+2 -2
View File
@@ -1,8 +1,8 @@
import datetime
import pytest
from pytest import approx
from rota.shifts import PostShiftConstraint, PreShiftConstraint, RotaBuilder, SingleShift, days
from rota.workers import Worker
from rota_generator.shifts import PostShiftConstraint, PreShiftConstraint, RotaBuilder, SingleShift, days
from rota_generator.workers import Worker
def generate_basic_rota(weeks_to_rota=10):
start_date = datetime.date(2022, 3, 7)
+2 -2
View File
@@ -1,7 +1,7 @@
import pytest
import datetime
from rota.shifts import MinimumGradeNumberConstraint, RequireRemoteSitePresenceConstraint, RotaBuilder, SingleShift, days, LimitGradeNumberConstraint
from rota.workers import Worker
from rota_generator.shifts import MinimumGradeNumberConstraint, RequireRemoteSitePresenceConstraint, RotaBuilder, SingleShift, days, LimitGradeNumberConstraint
from rota_generator.workers import Worker
@pytest.fixture
def limit_constraint_rota():
+2 -2
View File
@@ -1,8 +1,8 @@
import pytest
import datetime
from rota.shifts import RotaBuilder, SingleShift, days
from rota.workers import Worker
from rota_generator.shifts import RotaBuilder, SingleShift, days
from rota_generator.workers import Worker
@pytest.fixture
def basic_rota():
+2 -2
View File
@@ -1,7 +1,7 @@
import pytest
import datetime
from rota.shifts import NightConstraint, RotaBuilder, SingleShift, days
from rota.workers import Worker
from rota_generator.shifts import NightConstraint, RotaBuilder, SingleShift, days
from rota_generator.workers import Worker
@pytest.fixture
def demo_rota_night_unavailable():
+2 -2
View File
@@ -1,7 +1,7 @@
import datetime
import pytest
from rota.shifts import InvalidShift, NightConstraint, NoWorkers, PostShiftConstraint, PreShiftConstraint, RotaBuilder, SingleShift, days
from rota.workers import Worker
from rota_generator.shifts import InvalidShift, NightConstraint, NoWorkers, PostShiftConstraint, PreShiftConstraint, RotaBuilder, SingleShift, days
from rota_generator.workers import Worker
def generate_basic_rota(weeks_to_rota=10):
start_date = datetime.date(2022, 3, 7)
+2 -2
View File
@@ -1,7 +1,7 @@
import pytest
from rota.shifts import NoWorkers, RotaBuilder, SingleShift, days
from rota_generator.shifts import NoWorkers, RotaBuilder, SingleShift, days
import datetime
from rota.workers import Worker
from rota_generator.workers import Worker
def weeks_from_list(lst):
"""Yield successive n-sized chunks from a lst."""
+2 -2
View File
@@ -1,9 +1,9 @@
import pytest
from rota.shifts import NoWorkers, RequireRemoteSitePresenceConstraint, RotaBuilder, SingleShift, days
from rota_generator.shifts import NoWorkers, RequireRemoteSitePresenceConstraint, RotaBuilder, SingleShift, days
import datetime
from rota.workers import Worker
from rota_generator.workers import Worker
def setup_basic_rota():
weeks_to_rota = 10
+2 -2
View File
@@ -3,11 +3,11 @@ from re import S
from black import main
import pytest
from pytest import approx
from rota.shifts import NoWorkers, RotaBuilder, SingleShift, WarningTermination, days
from rota_generator.shifts import NoWorkers, RotaBuilder, SingleShift, WarningTermination, days
import datetime
from rota.workers import Worker
from rota_generator.workers import Worker
@pytest.fixture
+2 -2
View File
@@ -1,6 +1,6 @@
import pytest
from rota.shifts import PostShiftConstraint, PreShiftConstraint, RotaBuilder, SingleShift, days
from rota.workers import Worker
from rota_generator.shifts import PostShiftConstraint, PreShiftConstraint, RotaBuilder, SingleShift, days
from rota_generator.workers import Worker
import datetime
+2 -2
View File
@@ -1,8 +1,8 @@
import datetime
import pytest
from pytest import approx
from rota.shifts import PostShiftConstraint, RotaBuilder, SingleShift, days
from rota.workers import Worker
from rota_generator.shifts import PostShiftConstraint, RotaBuilder, SingleShift, days
from rota_generator.workers import Worker
from web.rota.shifts import PreShiftConstraint
@pytest.fixture
+2 -2
View File
@@ -1,8 +1,8 @@
import pytest
import datetime
from copy import deepcopy
from rota.shifts import RotaBuilder, SingleShift, days
from rota.workers import Worker
from rota_generator.shifts import RotaBuilder, SingleShift, days
from rota_generator.workers import Worker
@pytest.fixture
def rota_2workers():
+2 -2
View File
@@ -1,11 +1,11 @@
import datetime
import pytest
from rota.shifts import (
from rota_generator.shifts import (
InvalidShift, MaxShiftsPerWeekBlockConstraint, MaxShiftsPerWeekConstraint,
NoWorkers, PostShiftConstraint, PreShiftConstraint, RotaBuilder, SingleShift,
WarningTermination, days, WorkerRequirement
)
from rota.workers import NotAvailableToWork, WorkRequests, Worker, generate_not_available_to_works
from rota_generator.workers import NotAvailableToWork, WorkRequests, Worker, generate_not_available_to_works
def generate_basic_rota(weeks_to_rota=10, workers=2, start_date=datetime.date(2022, 3, 7)):
Rota = RotaBuilder(
+2 -2
View File
@@ -1,9 +1,9 @@
import pytest
from rota.shifts import NoWorkers, RotaBuilder, SingleShift, days
from rota_generator.shifts import NoWorkers, RotaBuilder, SingleShift, days
import datetime
from rota.workers import Worker
from rota_generator.workers import Worker
def weeks_from_list(lst):
"""Yield successive n-sized chunks from a lst."""
+2 -2
View File
@@ -1,9 +1,9 @@
import datetime
import pytest
from pytest import approx
from rota.shifts import InvalidShift, NoWorkers, RotaBuilder, SingleShift, days
from rota_generator.shifts import InvalidShift, NoWorkers, RotaBuilder, SingleShift, days
from rota.workers import Worker
from rota_generator.workers import Worker
import itertools
+3 -3
View File
@@ -1,9 +1,9 @@
import pytest
from rota.shifts import InvalidShift, MaxShiftsPerWeekConstraint, NoWorkers, PostShiftConstraint, RotaBuilder, SingleShift, WarningTermination, WorkerRequirement, days
from rota_generator.shifts import InvalidShift, MaxShiftsPerWeekConstraint, NoWorkers, PostShiftConstraint, RotaBuilder, SingleShift, WarningTermination, WorkerRequirement, days
import datetime
from rota.workers import NonWorkingDays, NotAvailableToWork, Worker, generate_not_available_to_works
from rota.workers import WorkRequests
from rota_generator.workers import NonWorkingDays, NotAvailableToWork, Worker, generate_not_available_to_works
from rota_generator.workers import WorkRequests
from web.rota.shifts import PreShiftConstraint
def generate_basic_rota(
+1 -1
View File
@@ -8,7 +8,7 @@ from sqlalchemy.orm import Session
import os
from dotenv import load_dotenv
from rota.shifts import SingleShift, ShiftConstraint
from rota_generator.shifts import SingleShift, ShiftConstraint
from models import SingleShift as ModelSingleShift
#from models import ShiftConstraint as ModelShiftConstraint
+2 -2
View File
@@ -1,5 +1,5 @@
from rota.shifts import SingleShift as SingleShiftBase, ShiftConstraint as ShiftConstraintBase
from rota.workers import Worker as WorkerBase
from rota_generator.shifts import SingleShift as SingleShiftBase, ShiftConstraint as ShiftConstraintBase
from rota_generator.workers import Worker as WorkerBase
class SingleShift(SingleShiftBase):