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))