Example #1
0
def register_device(device_id, ip, port, user_name, user_pwd):
    global device_lists
    global device_status_lists
    print(locals())
    register_node = ET.Element('register')
    ip_node = ET.SubElement(register_node, 'ip')
    ip_node.text = ip
    session_node = ET.SubElement(register_node, 'session')
    if device_id not in device_lists:
        device_lists[device_id] = device_info(device_id=device_id,
                                              ip=ip,
                                              port=port,
                                              user=user_name,
                                              pwd=user_pwd)
        device_status_lists[ip] = True
        tmp_lists = psia_device_status_client.get_device_lists()
        tmp_lists.update(device_lists)
        print('items:', tmp_lists.items(), 'keys:', tmp_lists.keys())
        #tmp_lists[device_id] = device_info(device_id=device_id, ip=ip, port=port, user = user_name, pwd = user_pwd)
        tmp_status_lists = psia_device_status_client.get_device_status_lists()
        tmp_status_lists.update(device_status_lists)
        print(tmp_status_lists.items())
        #tmp_status_lists[ip] = True
    register_xml = ET.tostring(register_node, encoding="UTF-8", method="xml")
    print('out:', register_xml, 'len:', len(register_xml))
    return (register_xml, len(register_xml))
Example #2
0
def get_device_status(device_id):
    #global device_lists
    #print(locals())
    device_lists = psia_device_status_client.get_device_lists()
    #if device_id not in device_lists:
    if not device_lists.has_key(device_id ):
        print("device not exist, id:", device_id)
        return ("", 0)
    tmp_psia_uri = psia_uri_converter('get_device_status', device_lists.get(device_id))
    tmp_out_data = request(device_id, tmp_psia_uri.psia_uri(), tmp_psia_uri.method())
    if tmp_out_data is None:
        return ("", 0)
    else:
        xml_converter_result = psia_converter(tmp_out_data, device_lists.get(device_id))
        out_xml = xml_converter_result.std_xml('to_device_status_xml', device_lists.get(device_id))
        print('out_xml:', out_xml)
        return (out_xml, len(out_xml))
Example #3
0
def get_stream_url(device_id, channel=None):
    #global device_lists
    #print(locals())
    device_lists = psia_device_status_client.get_device_lists()
    if not device_lists.has_key(device_id):
        return ('', 0)
    tmp_psia_uri = psia_uri_converter('get_stream_url', device_lists.get(device_id))
    tmp_out_data = request(device_id, tmp_psia_uri.psia_uri(), tmp_psia_uri.method())
    if tmp_out_data is None:
        return ('', 0)
    else:
        print(type(tmp_out_data))
        if isinstance(tmp_out_data, unicode):
            xml_converter = psia_converter(tmp_out_data.encode('utf-8'))
        else:
            xml_converter = psia_converter(tmp_out_data)
        out_xml = xml_converter.std_xml('to_stream_url', device_lists.get(device_id))
        return (out_xml, len(out_xml))
Example #4
0
def request(device_id, uri, method, timeout=None):
    #global device_lists
    device_lists = psia_device_status_client.get_device_lists()
    print(locals())
    if timeout is None:
        timeout = 5
    if not device_lists.has_key(device_id):
        return None
    else:
        login_info = device_lists.get(device_id)
        print('login_info', login_info)
        request_auth = (device_lists.get(device_id).user, device_lists.get(device_id).pwd)
        response = requests.request(method, uri, auth=request_auth, timeout=timeout)
        if response.status_code == 200:
            return response.text
        else:
            print('error code:', response.status_code, 'text:', response.text)
            return None
Example #5
0
def get_device_status(device_id):
    #global device_lists
    #print(locals())
    device_lists = psia_device_status_client.get_device_lists()
    #if device_id not in device_lists:
    if not device_lists.has_key(device_id):
        print("device not exist, id:", device_id)
        return ("", 0)
    tmp_psia_uri = psia_uri_converter('get_device_status',
                                      device_lists.get(device_id))
    tmp_out_data = request(device_id, tmp_psia_uri.psia_uri(),
                           tmp_psia_uri.method())
    if tmp_out_data is None:
        return ("", 0)
    else:
        xml_converter_result = psia_converter(tmp_out_data,
                                              device_lists.get(device_id))
        out_xml = xml_converter_result.std_xml('to_device_status_xml',
                                               device_lists.get(device_id))
        print('out_xml:', out_xml)
        return (out_xml, len(out_xml))
Example #6
0
def get_stream_url(device_id, channel=None):
    #global device_lists
    #print(locals())
    device_lists = psia_device_status_client.get_device_lists()
    if not device_lists.has_key(device_id):
        return ('', 0)
    tmp_psia_uri = psia_uri_converter('get_stream_url',
                                      device_lists.get(device_id))
    tmp_out_data = request(device_id, tmp_psia_uri.psia_uri(),
                           tmp_psia_uri.method())
    if tmp_out_data is None:
        return ('', 0)
    else:
        print(type(tmp_out_data))
        if isinstance(tmp_out_data, unicode):
            xml_converter = psia_converter(tmp_out_data.encode('utf-8'))
        else:
            xml_converter = psia_converter(tmp_out_data)
        out_xml = xml_converter.std_xml('to_stream_url',
                                        device_lists.get(device_id))
        return (out_xml, len(out_xml))
Example #7
0
def request(device_id, uri, method, timeout=None):
    #global device_lists
    device_lists = psia_device_status_client.get_device_lists()
    print(locals())
    if timeout is None:
        timeout = 5
    if not device_lists.has_key(device_id):
        return None
    else:
        login_info = device_lists.get(device_id)
        print('login_info', login_info)
        request_auth = (device_lists.get(device_id).user,
                        device_lists.get(device_id).pwd)
        response = requests.request(method,
                                    uri,
                                    auth=request_auth,
                                    timeout=timeout)
        if response.status_code == 200:
            return response.text
        else:
            print('error code:', response.status_code, 'text:', response.text)
            return None
Example #8
0
def register_device(device_id, ip, port, user_name, user_pwd):
    global device_lists
    global device_status_lists
    print(locals())
    register_node = ET.Element('register')
    ip_node = ET.SubElement(register_node, 'ip')
    ip_node.text = ip
    session_node = ET.SubElement(register_node, 'session')
    if device_id not in device_lists:
        device_lists[device_id] = device_info(device_id=device_id, ip=ip, port=port, user = user_name, pwd = user_pwd)
        device_status_lists[ip] = True
        tmp_lists = psia_device_status_client.get_device_lists()
        tmp_lists.update(device_lists)
        print('items:', tmp_lists.items(), 'keys:', tmp_lists.keys())
        #tmp_lists[device_id] = device_info(device_id=device_id, ip=ip, port=port, user = user_name, pwd = user_pwd)
        tmp_status_lists = psia_device_status_client.get_device_status_lists()
        tmp_status_lists.update(device_status_lists)
        print(tmp_status_lists.items())
        #tmp_status_lists[ip] = True
    register_xml = ET.tostring(register_node, encoding="UTF-8", method="xml")
    print('out:', register_xml, 'len:', len(register_xml))
    return (register_xml, len(register_xml))