-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathxmlreq.py
54 lines (43 loc) · 2.77 KB
/
xmlreq.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
#!/usr/bin/env python3
import sys
from datetime import datetime, timedelta
from config import Channel, password, username
ToDay = datetime.now().strftime("%Y-%m-%d") #"2022-04-03" #
if len(sys. argv) > 1:
ToDay = (datetime.now() - timedelta(days=int(sys.argv[1]))).strftime("%Y-%m-%d")
print(ToDay)
startTime = ToDay + "T00:00:00Z"
endTime = ToDay + "T23:59:59Z"
__SEARCH_MEDIA_XML = "<?xml version=\"1.0\" encoding=\"utf-8\"?><CMSearchDescription><searchID>D96991DE-5108-48FC-8767-8A786CB3E03E</searchID><trackList><trackID>" + Channel + "</trackID></trackList><timeSpanList><timeSpan><startTime>" + startTime + "</startTime><endTime>" + \
endTime + "</endTime></timeSpan></timeSpanList><maxResults>300</maxResults><searchResultPostion>0</searchResultPostion><metadataList><metadataDescriptor>//recordType.meta.std-cgi.com</metadataDescriptor></metadataList></CMSearchDescription>"
__exDOWNLOAD_REQUEST_XML = "<?xml version='1.0'?><downloadRequest><playbackURI>rtsp://192.168.8.147/Streaming/tracks/1" + Channel + \
"01/?starttime=20220306T111822Z&endtime=20220306T112352Z&name=ch01_08000000000000813&size=78266368</playbackURI></downloadRequest>"
def DllXmlReq(rtspuri):
rtspuri = rtspuri.replace("&", "&")
__DOWNLOAD_REQUEST_XML = "<?xml version=\"1.0\" encoding=\"utf-8\"?><downloadRequest version=\"1.0\" xmlns=\"http://www.isapi.org/ver20/XMLSchema\"><playbackURI>" + \
rtspuri + "</playbackURI><userName>" + username + \
"</userName><password>" + password + "</password></downloadRequest>"
return __DOWNLOAD_REQUEST_XML
__XML_trackDailyParam = "<?xml version=\"1.0\" encoding=\"utf-8\"?><trackDailyParam><year>2022</year><monthOfYear>3</monthOfYear></trackDailyParam>"
__XML_downloadRequest = """\
<downloadRequest version="1.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<playbackURI>
<!--req, xs:string, playback URL, returned by the search service. It contains the information of file name and size,
e.g., <playbackURI>rtsp://192.168.27.67/Streaming/tracks/101?starttime=2022-03-11%2003:00:52Z&endtime=2022-03-11%2003:06:05Z&name=08000000014000413&size=25236932</playbackURI>-->
</playbackURI>
<userName><!--opt, xs:string,double verification user name--></userName>
<password><!--opt, xs:string,double verification password--></password>
</downloadRequest>"""
__XML_trackDailyDistribution = """\
<trackDailyDistribution version="1.0" xmlns="http://www.isapi.com/ver20/XMLSchema">
<dayList>
<day>
<id><!--req, xs: integer, ID--></id>
<dayOfMonth><!--req, xs: integer, day of the month, starts from 1st--></dayOfMonth>
<record><!--req, xs: boolean, true-with video, false-no video--></record>
<recordType>
<!--req, xs: string, record type: time-continuous recording; event-record based on event-->
</recordType>
</day>
</dayList>
</trackDailyDistribution>"""