from tornado.httpclient import AsyncHTTPClient, HTTPClient, HTTPRequest
-def _compose_url(host, port, username, password, uri, query=None):
+def _make_request(host, port, username, password, uri, method='GET', data=None, query=None):
url = '%(scheme)s://%(host)s:%(port)s%(uri)s' % {
'scheme': 'http',
'host': host,
if query:
url += '?' + '='.join(query.items())
+
+ request = HTTPRequest(url, method, body=data, auth_username=username, auth_password=password)
- return url
+ return request
def list_cameras(host, port, username, password, callback):
'host': host,
'port': port})
- url = _compose_url(host, port, username, password, '/config/list/')
+ request = _make_request(host, port, username, password, '/config/list/')
def on_response(response):
if response.error:
return callback(response['cameras'])
http_client = AsyncHTTPClient()
- http_client.fetch(url, on_response)
+ http_client.fetch(request, on_response)
def get_config(host, port, username, password, camera_id, callback):
'host': host,
'port': port})
- url = _compose_url(host, port, username, password, '/config/%(id)s/get/' % {'id': camera_id})
+ request = _make_request(host, port, username, password, '/config/%(id)s/get/' % {'id': camera_id})
def on_response(response):
if response.error:
callback(response)
http_client = AsyncHTTPClient()
- http_client.fetch(url, on_response)
+ http_client.fetch(request, on_response)
def set_config(host, port, username, password, camera_id, data):
data = json.dumps(data)
- url = _compose_url(host, port, username, password, '/config/%(id)s/set/' % {'id': camera_id})
- request = HTTPRequest(url, method='POST', body=data)
+ request = _make_request(host, port, username, password, '/config/%(id)s/set/' % {'id': camera_id}, method='POST', data=data)
try:
http_client = HTTPClient()
controls = json.dumps(controls)
- url = _compose_url(host, port, username, password, '/config/%(id)s/set_preview/' % {'id': camera_id})
+ request = _make_request(host, port, username, password, '/config/%(id)s/set_preview/' % {'id': camera_id})
def on_response(response):
if response.error:
callback('')
http_client = AsyncHTTPClient()
- http_client.fetch(url, on_response)
+ http_client.fetch(request, on_response)
def current_snapshot(host, port, username, password, camera_id, callback):
'host': host,
'port': port})
- url = _compose_url(host, port, username, password, '/snapshot/%(id)s/current/' % {'id': camera_id})
+ request = _make_request(host, port, username, password, '/snapshot/%(id)s/current/' % {'id': camera_id})
def on_response(response):
if response.error:
callback(response.body)
http_client = AsyncHTTPClient()
- http_client.fetch(url, on_response)
+ http_client.fetch(request, on_response)