-
Notifications
You must be signed in to change notification settings - Fork 1
/
camstatus.py
47 lines (38 loc) · 1.97 KB
/
camstatus.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
#!/usr/bin/python3
"""Получение сведений о камере подключенной к регистратору
# ПЕРЕДАВАЕМЫЕ ПАРАМЕТРЫ
1-Имя регистратора (как указано в файле settings.ini)
2-Тэг значение которого мы ищем
3-ID камеры на регистраторе
"""
import sys
import readinifile as readini
import getxml as getxml
deviceName = sys.argv[1]
deviceParameter = sys.argv[2]
channel_ID = sys.argv[3]
def getCAMStatus():
if (deviceParameter == 'online') or (deviceParameter == 'ipAddress') or (deviceParameter == 'chanDetectResult'):
root = getxml.get_xmltext_fromdevice(deviceName,
readini.getsettings('namespace', 'channels') + channel_ID + '/status')
try:
return root.find('.//{http://www.hikvision.com/ver20/XMLSchema}' + deviceParameter).text.strip()
# print(root.find('.//{http://www.hikvision.com/ver20/XMLSchema}' + deviceParameter).text.strip())
except AttributeError:
# print(root.find('.//{urn:ISAPIlliance-org}' + deviceParameter).text.strip())
return root.find('.//{urn:ISAPIlliance-org}' + deviceParameter).text.strip()
elif deviceParameter == 'deviceName':
root = getxml.get_xmltext_fromdevice(deviceName, readini.getsettings('namespace', 'channels') + channel_ID)
try:
# print(root.find('.//{http://www.hikvision.com/ver20/XMLSchema}' + 'name').text.strip())
return root.find('.//{http://www.hikvision.com/ver20/XMLSchema}' + 'name').text.strip()
except AttributeError:
# print(root.find('.//{urn:ISAPIlliance-org}' + 'name').text.strip())
return root.find('.//{urn:ISAPIlliance-org}' + 'name').text.strip()
try:
hikdata = getCAMStatus()
print(hikdata)
except:
print("NotSupported")
# todo
# http://192.168.2.1/ISAPI/ContentMgmt/InputProxy/channels/1/video/motionDetection