Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added CS411 HW2.pdf
Binary file not shown.
Binary file added Dependencies Diagram.pdf
Binary file not shown.
Empty file.
1 change: 1 addition & 0 deletions wildlife_tracker/animal_managment/a
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

5 changes: 5 additions & 0 deletions wildlife_tracker/animal_managment/animal.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from typing import Any, Optional

class Animal:

pass
23 changes: 23 additions & 0 deletions wildlife_tracker/animal_managment/animal_manager.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from typing import Any, Optional

from wildlife_tracker.animal_management.animal import Animal

class AnimalManager:

def __init__(self) -> None:
animals: dict[int, Animal] = {}

def get_animal_by_id(self, animal_id: int) -> Optional[Animal]:
pass

def register_animal(self, Animal) -> None:
pass

def remove_animal(self, animal_id: int) -> None:
pass

def get_animal_details(animal_id) -> dict[str, Any]:
pass

def update_animal_details(animal_id: int, **kwargs: Any) -> None:
pass
Empty file.
1 change: 1 addition & 0 deletions wildlife_tracker/habitat)management/a
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

32 changes: 32 additions & 0 deletions wildlife_tracker/habitat)management/habitat.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
from typing import Any, List, Optional

class Habitat:

def __init__(self,
habitat_id: int,
geographic_area: str,
size: int,
environment_type: str,
animals: Optional[List[int]] = None) -> None:
self.habitat_id = habitat_id
self.geographic_area = geographic_area
self.size = size
self.environment_type = environment_type
# this is Pythonic for
# if animals is not None:
# self.animals = animals
# else:
# self.animals = []
self.animals = animals or []

def update_habitat_details(self, **kwargs: dict[str: Any]) -> None:
pass

def assign_animals_to_habitat(self, animals: List[Animal]) -> None:
pass

def get_animals_in_habitat(self) -> List[Animal]:
pass

def get_habitat_details(self) -> dict:
pass
38 changes: 38 additions & 0 deletions wildlife_tracker/habitat)management/habitat_manger.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
from typing import Optional, List, Any
from wildlife_tracker.animal_management.animal import Animal
from wildlife_tracker.habitat_management.habitat import Habitat

class HabitatManager:

def __init__(self) -> None:
habitats: dict[int, Habitat] = {}

def assign_animals_to_habitat(self, habitat_id: int, animals: List[Animal]) -> None:
pass

def create_habitat(self, habitat_id: int, geographic_area: str, size: int, environment_type: str) -> Habitat:
pass

def remove_habitat(self, habitat_id: int) -> None:
pass

def get_animals_in_habitat(self, habitat_id: int) -> List[Animal]:
pass

def get_habitats_by_geographic_area(self, geographic_area: str) -> List[Habitat]:
pass

def get_habitat_details(self, habitat_id: int) -> dict:
pass

def get_habitat_by_id(self, habitat_id: int) -> Habitat:
pass

def get_habitats_by_size(self, size: int) -> List[Habitat]:
pass

def get_habitats_by_type(self, environment_type: str) -> List[Habitat]:
pass

def update_habitat_details(self, habitat_id: int, **kwargs: dict[str, Any]) -> None:
pass
Empty file.
1 change: 1 addition & 0 deletions wildlife_tracker/migration_tracking/a
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

5 changes: 5 additions & 0 deletions wildlife_tracker/migration_tracking/migration.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from typing import Any

class Migration:

pass
73 changes: 73 additions & 0 deletions wildlife_tracker/migration_tracking/migration_manager.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
from typing import Optional, Any
from wildlife_tracker.migration_tracking.migration_path import MigrationPath
from wildlife_tracker.migration_tracking.migration import Migration
from wildlife_tracker.habitat_management.habitat import Habitat


class MigrationManager:
def __init__(self) -> None:
paths: dict[int, MigrationPath] = {}
migrations: dict[int, Migration] = {}

def create_migration_path(self, species: str, start_location: Habitat, destination: Habitat, duration: Optional[int] = None) -> None:
pass

def get_migration_paths_by_destination(self, destination: Habitat) -> list[MigrationPath]:
pass

def get_migration_paths_by_species(self, species: str) -> list[MigrationPath]:
pass

def get_migration_paths_by_start_location(self, start_location: Habitat) -> list[MigrationPath]:
pass

def get_migrations(self) -> list[Migration]:
pass

def get_migration_by_id(self, migration_id: int) -> Migration:
pass

def get_migration_details(self, migration_id: int) -> dict[str, Any]:
pass

def get_migrations_by_current_location(self, current_location: str) -> list[Migration]:
pass

def get_migrations_by_migration_path(self, migration_path_id: int) -> list[Migration]:
pass

def get_migrations_by_start_date(self, start_date: str) -> list[Migration]:
pass

def get_migrations_by_status(self, status: str) -> list[Migration]:
pass

def get_migration_path_details(self, path_id) -> dict:
pass

def remove_migration_path(self, path_id: int) -> None:
pass

def update_animal_details(self, animal_id: int, **kwargs: Any) -> None:
pass

def update_habitat_details(self, habitat_id: int, **kwargs: dict[str, Any]) -> None:
pass

def update_migration_details(self, migration_id: int, **kwargs: Any) -> None:
pass

def update_migration_path_details(self, path_id: int, **kwargs) -> None:
pass

def cancel_migration(self, migration_id: int) -> None:
pass

def update_migration_details(self, migration_id: int, **kwargs: Any) -> None:
pass

def update_migration_path_details(self, path_id: int, **kwargs) -> None:
pass

def schedule_migration(self, migration_path: MigrationPath) -> None:
pass
5 changes: 5 additions & 0 deletions wildlife_tracker/migration_tracking/migration_path.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from typing import Optional

class MigrationPath:

pass