diff --git a/.gitea/workflows/backend_run_test.yaml b/.gitea/workflows/backend_run_test.yaml index 4591358..a614196 100644 --- a/.gitea/workflows/backend_run_test.yaml +++ b/.gitea/workflows/backend_run_test.yaml @@ -18,17 +18,17 @@ jobs: - name: Install dependencies run: | apt-get update && apt-get install -y python3 python3-pip - pip install pipenv + pip install uv - name: Install packages run: | ls -la # install all packages, including dev-packages - pipenv install --dev + uv sync working-directory: backend - name: Run Tests - run: pipenv run pytest src --html=report.html --self-contained-html --log-cli-level=DEBUG + run: uv run pytest src --html=report.html --self-contained-html --log-cli-level=DEBUG working-directory: backend - name: Upload HTML report diff --git a/backend/main.py b/backend/main.py new file mode 100644 index 0000000..997a4ad --- /dev/null +++ b/backend/main.py @@ -0,0 +1,6 @@ +def main(): + print("Hello from backend!") + + +if __name__ == "__main__": + main() diff --git a/backend/src/optimization/optimization_router.py b/backend/src/optimization/optimization_router.py index 8a6d318..464717d 100644 --- a/backend/src/optimization/optimization_router.py +++ b/backend/src/optimization/optimization_router.py @@ -114,9 +114,11 @@ def optimize_trip( # Second stage optimization try : - refined_tour = refiner.refine_optimization(landmarks, base_tour, - preferences.max_time_minute, - preferences.detour_tolerance_minute) + refined_tour = refiner.refine_optimization( + landmarks, base_tour, + preferences.max_time_minute, + preferences.detour_tolerance_minute + ) except Exception as exc : logger.warning(f"Refiner failed. Proceeding with base trip {str(exc)}") refined_tour = base_tour diff --git a/backend/src/optimization/refiner.py b/backend/src/optimization/refiner.py index 7285d9c..9f19084 100644 --- a/backend/src/optimization/refiner.py +++ b/backend/src/optimization/refiner.py @@ -6,7 +6,6 @@ from shapely import buffer, LineString, Point, Polygon, MultiPoint, concave_hull from ..structs.landmark import Landmark from ..utils.get_time_distance import get_time -from ..utils.take_most_important import take_most_important from .optimizer import Optimizer from ..constants import OPTIMIZER_PARAMETERS_PATH @@ -238,7 +237,7 @@ class Refiner : if self.is_in_area(area, landmark.location) and landmark.name not in visited_names: second_order_landmarks.append(landmark) - return take_most_important(second_order_landmarks, int(self.max_landmarks_refiner*0.75)) + return sorted(second_order_landmarks, key=lambda x: x.attractiveness, reverse=True)[:int(self.max_landmarks_refiner*0.75)] # Try fix the shortest path using shapely