28 lines
892 B
Python
28 lines
892 B
Python
import requests
|
|
|
|
def axis_exec(camera, cmd):
|
|
if is_string(camera):
|
|
camera = get_device(camera)
|
|
url = camera.url
|
|
s="axis-cgi/"
|
|
ctrl_url = url[0:url.find(s) + len(s)] + "com/ptz.cgi?"
|
|
cmd_url=ctrl_url+cmd
|
|
response = requests.get(url=cmd_url)
|
|
if 200<=response.status_code<300:
|
|
return response.text.strip()
|
|
raise Exception(response.text)
|
|
|
|
|
|
def axis_move(camera, direction):
|
|
direction=str(direction)
|
|
if direction not in ("home", "up", "down", "left", "right", "upleft", "upright", "downleft", "downright", "stop"):
|
|
raise Exception("Invalid direction: " + direction)
|
|
return axis_exec(camera, "move="+direction)
|
|
|
|
def axis_rzoom(camera, steps):
|
|
steps= int(steps)
|
|
if steps<-9999 or steps>9999:
|
|
raise Exception("Invalid relative zoom steps: " + str(steps))
|
|
return axis_exec(camera, "rzoom="+str(steps))
|
|
|