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 HW3 Design/CS411 HW3.pdf
Binary file not shown.
Binary file added HW3 Design/IMG_3793.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
15 changes: 14 additions & 1 deletion HW3 Design/wildlife_tracker/animal_management/animal.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
from typing import Any, Optional

class Animal:
#Section 1
def __init__(self, animal_id: int, species: str, age: Optional[int] = None,health_status: Optional[str] = None):
self.animal_id = animal_id
self.species = species
self.age = age
self.health_status = health_status

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


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


pass
16 changes: 9 additions & 7 deletions HW3 Design/wildlife_tracker/animal_management/animal_manager.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
from typing import Optional

from wildlife_tracker.animal_managment.animal import Animal
from typing import Optional, Dict
from animal import Animal

class AnimalManager:

#Section 1
def __init__(self) -> None:
animals: dict[int, Animal] = {}
self.animals: Dict[int, Animal] = {}
def register_animal(self, animal: Animal) -> None:
pass

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

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

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

Binary file not shown.
Empty file.
7 changes: 4 additions & 3 deletions HW3 Design/wildlife_tracker/habitat_management/habitat.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Any, List, Optional

from wildlife_tracker.animal_management.animal import Animal
class Habitat:

#Done for us
def __init__(self,
habitat_id: int,
geographic_area: str,
Expand Down Expand Up @@ -29,4 +29,5 @@ def get_animals_in_habitat(self) -> List[Animal]:
pass

def get_habitat_details(self) -> dict:
pass
pass

35 changes: 33 additions & 2 deletions HW3 Design/wildlife_tracker/habitat_management/habitat_manger.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,36 @@
from typing import Optional, List
from typing import Optional, List, Any
from wildlife_tracker.animal_management.animal import Animal
from wildlife_tracker.habitat_management.habitat import Habitat


class HabitatManager:
#Section 2: Habitat Management
def __init__(self) -> None:
habitats: dict[int, Habitat] = {}
#Done in order as the requirements
def create_habitat(habitat_id: int, geographic_area: str, size: int, environment_type: str) -> Habitat:
pass
def remove_habitat(habitat_id: int) -> None:
pass

def get_habitats_by_size(size: int) -> List[Habitat]:
pass
def get_habitats_by_geographic_area(geographic_area: str) -> List[Habitat]:
pass
def get_habitat_by_id(habitat_id: int) -> Habitat:
pass
def get_habitats_by_type(environment_type: str) -> List[Habitat]:
pass

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

def get_animals_in_habitat(habitat_id: int) -> List[Animal]:
pass
def assign_animals_to_habitat(habitat_id: int, animals: List[Animal]) -> None:
pass
def update_habitat_details(habitat_id: int, **kwargs: dict[str, Any]) -> None:
pass
def assign_animals_to_habitat(animals: List[Animal]) -> None:
pass

pass
Binary file not shown.
Empty file.
22 changes: 20 additions & 2 deletions HW3 Design/wildlife_tracker/migration_tracking/migration.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
from typing import Any
from typing import Any, Optional
from wildlife_tracker.habitat_management.habitat import Habitat
from wildlife_tracker.migration_tracking.migration_path import MigrationPath


class Migration:

pass
def __init__(self, migration_id: int, destination: Habitat, migration_path: MigrationPath, start_date: str, start_location: Habitat, status: str = "Scheduled", duration: Optional[int] = None):
self.migration_id = migration_id
self.status = status
self.duration = duration
self.start_location = start_location
self.destination = destination
self.migration_path = migration_path
self.start_date = start_date
self.start_location = start_location
#Section 3: Migration Tracking
def update_migration_details(migration_id: int, **kwargs: Any) -> None:
pass
def get_migration_details(self)->dict[str,Any]:
pass
def cancel_migration(self) -> None:
pass
Original file line number Diff line number Diff line change
@@ -1,6 +1,42 @@
from typing import Optional

from typing import Any, Optional
from wildlife_tracker.habitat_management.habitat import Habitat
from wildlife_tracker.migration_tracking.migration_path import MigrationPath

class MigrationManager:

pass
def __init__(self) -> None:
migrations: dict[int, Migration] = {}
paths: dict[int, MigrationPath] = {}
def get_migration_paths(self) -> list[MigrationPath]:
pass
def get_migration_path_by_id(path_id: int) -> MigrationPath:
pass
def get_migrations() -> list[Migration]:
pass
def remove_migration_path(path_id: int) -> None:
pass
def get_migration_by_id(migration_id: int) -> Migration:
pass
def get_migration_details(migration_id: int) -> dict[str, Any]:
pass
def get_migrations_by_status(status: str) -> list[Migration]:
pass
def get_migration_paths_by_species(species: str) -> list[MigrationPath]:
pass
def get_migration_paths_by_start_location(start_location: Habitat) -> list[MigrationPath]:
pass
def get_migrations_by_current_location(current_location: str) -> list[Migration]:
pass
def get_migration_paths_by_destination(destination: Habitat) -> list[MigrationPath]:
pass
def get_migrations_by_start_date(start_date: str) -> list[Migration]:
pass
def get_migrations_by_migration_path(migration_path_id: int) -> list[Migration]:
pass
def get_migration_path_details(path_id) -> dict:
pass
def schedule_migration(migration_path: MigrationPath) -> None:
pass
def cancel_migration(migration_id: int) -> None:
pass

22 changes: 20 additions & 2 deletions HW3 Design/wildlife_tracker/migration_tracking/migration_path.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
from typing import Optional
from typing import Any, Optional
from wildlife_tracker.habitat_management.habitat import Habitat
from wildlife_tracker.migration_tracking.migration_path import MigrationPath


class MigrationPath:

pass
def __init__(self, path_id: int, current_date: str, current_location: str):
self.path_id = path_id
self.current_date = current_date
self.current_location = current_location
#Section 3.1: Migration Paths
def create_migration_path(self, species: str, start_location: Habitat, destination: Habitat, duration: Optional[int] = None) -> None:
pass

def get_migration_path_details(self) -> dict:
pass

def remove_migration_path(self) -> None:
pass

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