+100
-16
@@ -10,7 +10,14 @@ _LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def request_login(blink, url, username, password):
|
||||
"""Login request."""
|
||||
"""
|
||||
Login request.
|
||||
|
||||
:param blink: Blink instance.
|
||||
:param url: Login url.
|
||||
:param username: Blink username.
|
||||
:param password: Blink password.
|
||||
"""
|
||||
headers = {
|
||||
'Host': DEFAULT_URL,
|
||||
'Content-Type': 'application/json'
|
||||
@@ -31,31 +38,57 @@ def request_networks(blink):
|
||||
|
||||
|
||||
def request_network_status(blink, network):
|
||||
"""Request network information."""
|
||||
"""
|
||||
Request network information.
|
||||
|
||||
:param blink: Blink instance.
|
||||
:param network: Sync module network id.
|
||||
"""
|
||||
url = "{}/network/{}".format(blink.urls.base_url, network)
|
||||
return http_get(blink, url)
|
||||
|
||||
|
||||
def request_syncmodule(blink, network):
|
||||
"""Request sync module info."""
|
||||
"""
|
||||
Request sync module info.
|
||||
|
||||
:param blink: Blink instance.
|
||||
:param network: Sync module network id.
|
||||
"""
|
||||
url = "{}/network/{}/syncmodules".format(blink.urls.base_url, network)
|
||||
return http_get(blink, url)
|
||||
|
||||
|
||||
def request_system_arm(blink, network):
|
||||
"""Arm system."""
|
||||
"""
|
||||
Arm system.
|
||||
|
||||
:param blink: Blink instance.
|
||||
:param network: Sync module network id.
|
||||
"""
|
||||
url = "{}/network/{}/arm".format(blink.urls.base_url, network)
|
||||
return http_post(blink, url)
|
||||
|
||||
|
||||
def request_system_disarm(blink, network):
|
||||
"""Disarm system."""
|
||||
"""
|
||||
Disarm system.
|
||||
|
||||
:param blink: Blink instance.
|
||||
:param network: Sync module network id.
|
||||
"""
|
||||
url = "{}/network/{}/disarm".format(blink.urls.base_url, network)
|
||||
return http_post(blink, url)
|
||||
|
||||
|
||||
def request_command_status(blink, network, command_id):
|
||||
"""Request command status."""
|
||||
"""
|
||||
Request command status.
|
||||
|
||||
:param blink: Blink instance.
|
||||
:param network: Sync module network id.
|
||||
:param command_id: Command id to check.
|
||||
"""
|
||||
url = "{}/network/{}/command/{}".format(blink.urls.base_url,
|
||||
network,
|
||||
command_id)
|
||||
@@ -69,13 +102,24 @@ def request_homescreen(blink):
|
||||
|
||||
|
||||
def request_sync_events(blink, network):
|
||||
"""Request events from sync module."""
|
||||
"""
|
||||
Request events from sync module.
|
||||
|
||||
:param blink: Blink instance.
|
||||
:param network: Sync module network id.
|
||||
"""
|
||||
url = "{}/events/network/{}".format(blink.urls.base_url, network)
|
||||
return http_get(blink, url)
|
||||
|
||||
|
||||
def request_new_image(blink, network, camera_id):
|
||||
"""Request to capture new thumbnail for camera."""
|
||||
"""
|
||||
Request to capture new thumbnail for camera.
|
||||
|
||||
:param blink: Blink instance.
|
||||
:param network: Sync module network id.
|
||||
:param camera_id: Camera ID of camera to request new image from.
|
||||
"""
|
||||
url = "{}/network/{}/camera/{}/thumbnail".format(blink.urls.base_url,
|
||||
network,
|
||||
camera_id)
|
||||
@@ -83,21 +127,33 @@ def request_new_image(blink, network, camera_id):
|
||||
|
||||
|
||||
def request_new_video(blink, network, camera_id):
|
||||
"""Request to capture new video clip."""
|
||||
"""
|
||||
Request to capture new video clip.
|
||||
|
||||
:param blink: Blink instance.
|
||||
:param network: Sync module network id.
|
||||
:param camera_id: Camera ID of camera to request new video from.
|
||||
"""
|
||||
url = "{}/network/{}/camera/{}/clip".format(blink.urls.base_url,
|
||||
network,
|
||||
camera_id)
|
||||
return http_post(blink, url)
|
||||
|
||||
|
||||
def request_video_count(blink, headers):
|
||||
def request_video_count(blink):
|
||||
"""Request total video count."""
|
||||
url = "{}/api/v2/videos/count".format(blink.urls.base_url)
|
||||
return http_get(blink, url)
|
||||
|
||||
|
||||
def request_videos(blink, time=None, page=0):
|
||||
"""Perform a request for videos."""
|
||||
"""
|
||||
Perform a request for videos.
|
||||
|
||||
:param blink: Blink instance.
|
||||
:param time: Get videos since this time. In epoch seconds.
|
||||
:param page: Page number to get videos from.
|
||||
"""
|
||||
timestamp = get_time(time)
|
||||
url = "{}/api/v2/videos/changed?since={}&page/{}".format(
|
||||
blink.urls.base_url, timestamp, page)
|
||||
@@ -105,13 +161,24 @@ def request_videos(blink, time=None, page=0):
|
||||
|
||||
|
||||
def request_cameras(blink, network):
|
||||
"""Request all camera information."""
|
||||
"""
|
||||
Request all camera information.
|
||||
|
||||
:param Blink: Blink instance.
|
||||
:param network: Sync module network id.
|
||||
"""
|
||||
url = "{}/network/{}/cameras".format(blink.urls.base_url, network)
|
||||
return http_get(blink, url)
|
||||
|
||||
|
||||
def request_camera_info(blink, network, camera_id):
|
||||
"""Request camera info for one camera."""
|
||||
"""
|
||||
Request camera info for one camera.
|
||||
|
||||
:param blink: Blink instance.
|
||||
:param network: Sync module network id.
|
||||
:param camera_id: Camera ID of camera to request info from.
|
||||
"""
|
||||
url = "{}/network/{}/camera/{}".format(blink.urls.base_url,
|
||||
network,
|
||||
camera_id)
|
||||
@@ -119,7 +186,13 @@ def request_camera_info(blink, network, camera_id):
|
||||
|
||||
|
||||
def request_camera_sensors(blink, network, camera_id):
|
||||
"""Request camera sensor info for one camera."""
|
||||
"""
|
||||
Request camera sensor info for one camera.
|
||||
|
||||
:param blink: Blink instance.
|
||||
:param network: Sync module network id.
|
||||
:param camera_id: Camera ID of camera to request sesnor info from.
|
||||
"""
|
||||
url = "{}/network/{}/camera/{}/signals".format(blink.urls.base_url,
|
||||
network,
|
||||
camera_id)
|
||||
@@ -127,7 +200,13 @@ def request_camera_sensors(blink, network, camera_id):
|
||||
|
||||
|
||||
def request_motion_detection_enable(blink, network, camera_id):
|
||||
"""Enable motion detection for a camera."""
|
||||
"""
|
||||
Enable motion detection for a camera.
|
||||
|
||||
:param blink: Blink instance.
|
||||
:param network: Sync module network id.
|
||||
:param camera_id: Camera ID of camera to enable.
|
||||
"""
|
||||
url = "{}/network/{}/camera/{}/enable".format(blink.urls.base_url,
|
||||
network,
|
||||
camera_id)
|
||||
@@ -135,7 +214,12 @@ def request_motion_detection_enable(blink, network, camera_id):
|
||||
|
||||
|
||||
def request_motion_detection_disable(blink, network, camera_id):
|
||||
"""Disable motion detection for a camera."""
|
||||
"""Disable motion detection for a camera.
|
||||
|
||||
:param blink: Blink instance.
|
||||
:param network: Sync module network id.
|
||||
:param camera_id: Camera ID of camera to disable.
|
||||
"""
|
||||
url = "{}/network/{}/camera/{}/disable".format(blink.urls.base_url,
|
||||
network,
|
||||
camera_id)
|
||||
|
||||
@@ -23,6 +23,7 @@ from blinkpy.helpers.util import (
|
||||
BlinkAuthenticationException)
|
||||
from blinkpy.helpers.constants import (
|
||||
BLINK_URL, LOGIN_URL, LOGIN_BACKUP_URL)
|
||||
from blinkpy.helpers.constants import __version__
|
||||
|
||||
REFRESH_RATE = 30
|
||||
|
||||
@@ -59,6 +60,7 @@ class Blink():
|
||||
self.networks = []
|
||||
self.cameras = CaseInsensitiveDict({})
|
||||
self._login_url = LOGIN_URL
|
||||
self.version = __version__
|
||||
|
||||
@property
|
||||
def auth_header(self):
|
||||
|
||||
@@ -14,6 +14,7 @@ from blinkpy.sync_module import BlinkSyncModule
|
||||
from blinkpy.helpers.util import (
|
||||
http_req, create_session, BlinkAuthenticationException,
|
||||
BlinkException, BlinkURLHandler)
|
||||
from blinkpy.helpers.constants import __version__
|
||||
import tests.mock_responses as mresp
|
||||
|
||||
USERNAME = 'foobar'
|
||||
@@ -41,6 +42,7 @@ class TestBlinkSetup(unittest.TestCase):
|
||||
|
||||
def test_initialization(self, mock_sess):
|
||||
"""Verify we can initialize blink."""
|
||||
self.assertEqual(self.blink.version, __version__)
|
||||
# pylint: disable=protected-access
|
||||
self.assertEqual(self.blink._username, USERNAME)
|
||||
# pylint: disable=protected-access
|
||||
|
||||
Reference in New Issue
Block a user