X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=smart_home%2Fcameras.py;h=e7705b29ab9d5b1ced6723bb94418e0062c259c5;hb=532df2c5b57c7517dfb3dddd8c1358fbadf8baf3;hp=8137012bca0ea09ed2f76a35d8636ebdef8b9a28;hpb=b29be4f1750fd20bd2eada88e751dfae85817882;p=python_utils.git diff --git a/smart_home/cameras.py b/smart_home/cameras.py index 8137012..e7705b2 100644 --- a/smart_home/cameras.py +++ b/smart_home/cameras.py @@ -1,5 +1,7 @@ #!/usr/bin/env python3 +# © Copyright 2021-2022, Scott Gasch + """Utilities for dealing with the webcams.""" import logging @@ -10,12 +12,16 @@ logger = logging.getLogger(__name__) class BaseCamera(dev.Device): + """A base class for a webcam device.""" + camera_mapping = { 'cabin_drivewaycam': 'cabin_driveway', 'outside_backyard_camera': 'backyard', - 'outside_driveway_camera': 'driveway', + 'outside_driveway_camera_wired': 'driveway', + 'outside_driveway_camera_wifi': 'driveway', 'outside_doorbell_camera': 'doorbell', 'outside_front_door_camera': 'front_door', + 'crawlspace_camera': 'crawlspace', } def __init__(self, name: str, mac: str, keywords: str = "") -> None: @@ -23,5 +29,11 @@ class BaseCamera(dev.Device): self.camera_name = BaseCamera.camera_mapping.get(name, None) def get_stream_url(self) -> str: - assert self.camera_name is not None - return f'http://10.0.0.226:8080/Umtxxf1uKMBniFblqeQ9KRbb6DDzN4/mp4/GKlT2FfiSQ/{self.camera_name}/s.mp4' + name = self.camera_name + assert name is not None + if name == 'driveway': + return 'http://10.0.0.226:8080/Umtxxf1uKMBniFblqeQ9KRbb6DDzN4/mjpeg/GKlT2FfiSQ/driveway' + else: + return ( + f'http://10.0.0.226:8080/Umtxxf1uKMBniFblqeQ9KRbb6DDzN4/mp4/GKlT2FfiSQ/{name}/s.mp4' + )