Sindbad~EG File Manager
3
�h>`�� � @ s8 d dl mZ d dl mZ d dlZd dlZd dlZd dlZd dlZd dl m
Z
mZ d dlZd dl
Zd dlZd dlZd dlT d dlmZ d dlT d dlmZmZ d dlT dd d
ddd
ddddddddgZejd�Zejd�Zejd�Zedd�ZdAdd
�Zdd� Z dd� Z!dd� Z"dd � Z#d!d"� Z$d#d$� Z%d%d&� Z&d'd(� Z'G d)d� de
j
�Z(e
j)e(� G d*d+� d+e*�Z+e+d,e,�e+d-e-�e+d.e,�gZ.G d/d0� d0e*�Z/G d1d2� d2e*�Z0e0� Z1d3d� Z2d4d � Z3d5d
� Z4d6d� Z5G d7d� de*�Z6G d8d9� d9e*�Z7G d:d� de7�Z8G d;d<� d<�Z9G d=d� de*�Z:G d>d� de7e:�Z;G d?d@� d@e*�Z<dS )B� )�absolute_import)�print_functionN)�GObject�GLib)�*)�
get_config)�xml_child_elements�xml_get_child_elements_by_name�
rpc_method�rpc_arg_type�rpc_callback�
rpc_signal�interface_registry�parse_socket_address_list�get_default_port�get_socket_list_from_config�get_local_server_socket_address�ConnectionState� RpcManage�
RpcChannel�ListeningServer�
SocketAddresszcontent-length:(\d+)z
z([a-zA-Z0-9_-]+):(.*)
Zgeneral�
i18n_encodingc C s� g }t jd�}td| � | s"|S t jd| �}x~|D ]v}|s>q4|j|�}|r�|jd�j� }|jd�}tj|�} | d kr�td||f � q4n
t j
} |}t| ||�}
|j|
� q4W td||
f � |S )Nz\s*{(unix|inet)}(.+)z%parse_socket_address_list: input='%s'z[\s,]+� � z(unknown socket family - %s in address %sz$parse_socket_address_list: %s --> %s)�re�compile� log_debug�split�search�group�lowerr �
map_family�Socket�AF_INET�append)�addr_string�default_port�socket_addressesZ family_reZaddrsZcfg_addr�matchZ
family_tag�address�family�socket_address� r- �/usr/lib/python3.6/rpc.pyr E s.
c C s t ddt�} | S )NZ
connectionr'