-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcameras_enable_motion_detector.py
64 lines (52 loc) · 2.06 KB
/
cameras_enable_motion_detector.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import argparse
import requests
import sys
import json
import base64
# Function for executing HTTP request
def cameras_enable_motion_detector(id, token, status):
# HTTP header. Indicates the MIME document type (json) as well as the authorization key
headers = {
'accept': 'application/json',
'Content-Type': 'application/json',
}
data = {"objects":[{"enabled": status, "map": "6zEBMDDrMQEwMOsxATAw6zEBMDDrMQEwMOsxATAw6zEBMDDrMQEwMOsxATAw6zEBMDDrMQEwMOsxATAw6zEBMDDrMQEwMOsxATAw"}]}
params = (
('token', token),
)
address = "https://web.skyvr.videoexpertsgroup.com/api/v2/cameras/%s/motion_detection/regions/" % str(id) # Адресс запроса
# Exceptions block.
try:
response = requests.put(address, headers=headers, params = params, data=json.dumps(data), timeout=15) # Method PUT
except requests.exceptions.RequestException as e:
print (e)
sys.exit(1)
return response.status_code # Returns the status of the HTTP request
# Parsing of the command line
parser = argparse.ArgumentParser()
parser.add_argument('-access_token', '--access_token', help = 'Access token', required=True)
parser.add_argument('-enabled', '--enabled', help = 'Enable motion detector (true, false)', required=True)
try:
param = parser.parse_args()
except IOError as msg:
parser.error(str(msg))
# Checking the record_stat parameter.
if param.enabled == "true":
status = True
elif param.enabled == "false":
status = False
else:
print('Specify the parameter "true" or "false" without quotes')
sys.exit(1)
# Parsing of the access token for retrieving of the token and camid.
token_json=''
try:
token = base64.b64decode(param.access_token)
token_json = json.loads(token)
except Exception:
print("Error access token")
sys.exit(1)
# Function call
code= cameras_enable_motion_detector(token_json["camid"], token_json['token'], status)
# Status of the HTTP request
print ('Request completed. HTTP status code: ' + str(code)+'\n')