From eb95f5fa6dcb1cd7e9db2da9c80bc43da87fb42a Mon Sep 17 00:00:00 2001 From: Ross Date: Tue, 9 Dec 2025 11:55:00 +0000 Subject: [PATCH] . --- djangorota/rota/models.py | 6 +++--- gen.py | 4 ++-- gen_cons.py | 4 ++-- leave.py | 2 +- {rota => rota_generator}/__init__.py | 0 {rota => rota_generator}/bank_holidays.py | 0 {rota => rota_generator}/console.py | 0 {rota => rota_generator}/run2.py | 0 {rota => rota_generator}/runfixnights.py | 0 {rota => rota_generator}/shifts.py | 6 +++--- {rota => rota_generator}/workers.py | 4 ++-- run.py | 4 ++-- test/rota_constraints/test_avoid_grades_by_week.py | 4 ++-- test/rota_constraints/test_avoid_workers_by_week.py | 4 ++-- .../rota_constraints/test_summed_shift_grade_constraints.py | 4 ++-- test/test_balance_shift_sites.py | 4 ++-- test/test_general_balancing.py | 4 ++-- test/test_limit_constraints.py | 4 ++-- test/test_multiple_shifts_per_day.py | 4 ++-- test/test_night_unavailable.py | 4 ++-- test/test_nights2.py | 4 ++-- test/test_nwds.py | 4 ++-- test/test_remote.py | 4 ++-- test/test_rota.py | 4 ++-- test/test_rota_clear.py | 4 ++-- test/test_rota_nights.py | 4 ++-- test/test_shift_constraints.py | 4 ++-- test/test_shifts.py | 4 ++-- test/test_weekend_padding.py | 4 ++-- test/test_worker_requests.py | 4 ++-- test/test_workers.py | 6 +++--- web/main.py | 2 +- web/schemas.py | 4 ++-- 33 files changed, 57 insertions(+), 57 deletions(-) rename {rota => rota_generator}/__init__.py (100%) rename {rota => rota_generator}/bank_holidays.py (100%) rename {rota => rota_generator}/console.py (100%) rename {rota => rota_generator}/run2.py (100%) rename {rota => rota_generator}/runfixnights.py (100%) rename {rota => rota_generator}/shifts.py (99%) rename {rota => rota_generator}/workers.py (99%) diff --git a/djangorota/rota/models.py b/djangorota/rota/models.py index 7d3b44e..c21ca2e 100644 --- a/djangorota/rota/models.py +++ b/djangorota/rota/models.py @@ -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") diff --git a/gen.py b/gen.py index 9ca33bd..0666dde 100644 --- a/gen.py +++ b/gen.py @@ -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, diff --git a/gen_cons.py b/gen_cons.py index c29b2cb..c0a3565 100644 --- a/gen_cons.py +++ b/gen_cons.py @@ -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, diff --git a/leave.py b/leave.py index e6c28c9..c8fd10b 100644 --- a/leave.py +++ b/leave.py @@ -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}" diff --git a/rota/__init__.py b/rota_generator/__init__.py similarity index 100% rename from rota/__init__.py rename to rota_generator/__init__.py diff --git a/rota/bank_holidays.py b/rota_generator/bank_holidays.py similarity index 100% rename from rota/bank_holidays.py rename to rota_generator/bank_holidays.py diff --git a/rota/console.py b/rota_generator/console.py similarity index 100% rename from rota/console.py rename to rota_generator/console.py diff --git a/rota/run2.py b/rota_generator/run2.py similarity index 100% rename from rota/run2.py rename to rota_generator/run2.py diff --git a/rota/runfixnights.py b/rota_generator/runfixnights.py similarity index 100% rename from rota/runfixnights.py rename to rota_generator/runfixnights.py diff --git a/rota/shifts.py b/rota_generator/shifts.py similarity index 99% rename from rota/shifts.py rename to rota_generator/shifts.py index da2ac18..b4fcc2b 100644 --- a/rota/shifts.py +++ b/rota_generator/shifts.py @@ -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 diff --git a/rota/workers.py b/rota_generator/workers.py similarity index 99% rename from rota/workers.py rename to rota_generator/workers.py index ef33d5f..3a5eec8 100644 --- a/rota/workers.py +++ b/rota_generator/workers.py @@ -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 = [ diff --git a/run.py b/run.py index 4d1df4f..4b02e79 100644 --- a/run.py +++ b/run.py @@ -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 diff --git a/test/rota_constraints/test_avoid_grades_by_week.py b/test/rota_constraints/test_avoid_grades_by_week.py index 0cc9973..5a2f890 100644 --- a/test/rota_constraints/test_avoid_grades_by_week.py +++ b/test/rota_constraints/test_avoid_grades_by_week.py @@ -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 diff --git a/test/rota_constraints/test_avoid_workers_by_week.py b/test/rota_constraints/test_avoid_workers_by_week.py index 2f98dec..84f3292 100644 --- a/test/rota_constraints/test_avoid_workers_by_week.py +++ b/test/rota_constraints/test_avoid_workers_by_week.py @@ -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 diff --git a/test/rota_constraints/test_summed_shift_grade_constraints.py b/test/rota_constraints/test_summed_shift_grade_constraints.py index 40754f2..5c847b4 100644 --- a/test/rota_constraints/test_summed_shift_grade_constraints.py +++ b/test/rota_constraints/test_summed_shift_grade_constraints.py @@ -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 diff --git a/test/test_balance_shift_sites.py b/test/test_balance_shift_sites.py index b8bebf3..c25ef51 100644 --- a/test/test_balance_shift_sites.py +++ b/test/test_balance_shift_sites.py @@ -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(): diff --git a/test/test_general_balancing.py b/test/test_general_balancing.py index ad226af..4c92ec6 100644 --- a/test/test_general_balancing.py +++ b/test/test_general_balancing.py @@ -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) diff --git a/test/test_limit_constraints.py b/test/test_limit_constraints.py index cca8011..f4f5633 100644 --- a/test/test_limit_constraints.py +++ b/test/test_limit_constraints.py @@ -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(): diff --git a/test/test_multiple_shifts_per_day.py b/test/test_multiple_shifts_per_day.py index e7fb903..af9723e 100644 --- a/test/test_multiple_shifts_per_day.py +++ b/test/test_multiple_shifts_per_day.py @@ -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(): diff --git a/test/test_night_unavailable.py b/test/test_night_unavailable.py index 98ad3e8..249eb74 100644 --- a/test/test_night_unavailable.py +++ b/test/test_night_unavailable.py @@ -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(): diff --git a/test/test_nights2.py b/test/test_nights2.py index 458e7e3..467cac8 100644 --- a/test/test_nights2.py +++ b/test/test_nights2.py @@ -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) diff --git a/test/test_nwds.py b/test/test_nwds.py index 3a8ca51..d9e0fd8 100644 --- a/test/test_nwds.py +++ b/test/test_nwds.py @@ -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.""" diff --git a/test/test_remote.py b/test/test_remote.py index b7ddad2..f3f52d5 100644 --- a/test/test_remote.py +++ b/test/test_remote.py @@ -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 diff --git a/test/test_rota.py b/test/test_rota.py index c28b156..a954000 100644 --- a/test/test_rota.py +++ b/test/test_rota.py @@ -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 diff --git a/test/test_rota_clear.py b/test/test_rota_clear.py index 6c3a7ad..90b7057 100644 --- a/test/test_rota_clear.py +++ b/test/test_rota_clear.py @@ -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 diff --git a/test/test_rota_nights.py b/test/test_rota_nights.py index 6581472..ee9ceec 100644 --- a/test/test_rota_nights.py +++ b/test/test_rota_nights.py @@ -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 diff --git a/test/test_shift_constraints.py b/test/test_shift_constraints.py index 666ac6f..5593e23 100644 --- a/test/test_shift_constraints.py +++ b/test/test_shift_constraints.py @@ -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(): diff --git a/test/test_shifts.py b/test/test_shifts.py index 28c0f2a..2c0d83b 100644 --- a/test/test_shifts.py +++ b/test/test_shifts.py @@ -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( diff --git a/test/test_weekend_padding.py b/test/test_weekend_padding.py index 701e386..95e2800 100644 --- a/test/test_weekend_padding.py +++ b/test/test_weekend_padding.py @@ -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.""" diff --git a/test/test_worker_requests.py b/test/test_worker_requests.py index e198c2a..38b96e3 100644 --- a/test/test_worker_requests.py +++ b/test/test_worker_requests.py @@ -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 diff --git a/test/test_workers.py b/test/test_workers.py index a853f8d..d8b31d3 100644 --- a/test/test_workers.py +++ b/test/test_workers.py @@ -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( diff --git a/web/main.py b/web/main.py index 5bb419b..c6d2536 100644 --- a/web/main.py +++ b/web/main.py @@ -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 diff --git a/web/schemas.py b/web/schemas.py index 4a0ea6e..993ca77 100644 --- a/web/schemas.py +++ b/web/schemas.py @@ -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):