MSV FM

[email protected]: ~ $
Path : /usr/lib64/python3.6/multiprocessing/__pycache__/
File Upload :
Current < : //usr/lib64/python3.6/multiprocessing/__pycache__/managers.cpython-36.opt-2.pyc

3


 \��@s�ddddgZddlZddlZddlZddlZddlZddlmZddlm	Z	dd	l
mZmZdd
lm
Z
ddlmZddlmZdd
lmZdd�Zejeje�dd�d�D�Zedek	r�dd�ZxeD]Zejee�q�WGdd�de�Zfifdd�Zdd�ZGdd�de�Zdd�Zd d!�ZGd"d#�d#e�ZGd$d%�d%e�Z e	j!e	j"fe	j#e	j$fd&�Z%Gd'd�de�Z&Gd(d)�d)e'�Z(Gd*d�de�Z)d+d,�Z*ifd-d.�Z+d�d0d1�Z,Gd2d3�d3e�Z-Gd4d5�d5e�Z.d�d6d7�Z/Gd8d9�d9e)�Z0Gd:d;�d;e)�Z1Gd<d=�d=e1�Z2Gd>d?�d?e)�Z3Gd@dA�dAe)�Z4GdBdC�dCe)�Z5GdDdE�dEe)�Z6e+dFd��Z7GdZd[�d[e7�Z8e+d\d��Z9d]deie9_:e+dfd��Z;e+dgd��Z<dsdsdsdededt�e<_:Gdudg�dge<�Z=Gdvd�de&�Z>e>jdwej?�e>jdxej?�e>jdyej@e3�e>jdzejAe1�e>jd{ejBe1�e>jd|ejCe1�e>jd}ejDe1�e>jd~ejEe2�e>jdejFe4�e>jd�e
jGe=�e>jd�ee8�e>jd�eHe9�e>jd5e.e6�e>jd7e/e;�e>jd3e-e5�e>jdee0d�d��e>jdsd�d��dS)��BaseManager�SyncManager�	BaseProxy�Token�N)�
format_exc�)�
connection)�	reduction�get_spawning_popen)�pool)�process)�util)�get_contextcCstj|j|j�ffS)N)�array�typecode�tobytes)�a�r�0/usr/lib64/python3.6/multiprocessing/managers.py�reduce_array$srcCsg|]}tti|����qSr)�type�getattr)�.0�namerrr�
<listcomp>(sr�items�keys�valuescCstt|�ffS)N)�list)�objrrr�rebuild_as_list*sr c@s0eZdZd
Zdd�Zdd�Zdd	�Zd
d�ZdS)r�typeid�address�idcCs||||_|_|_dS)N)r!r"r#)�selfr!r"r#rrr�__init__9szToken.__init__cCs|j|j|jfS)N)r!r"r#)r$rrr�__getstate__<szToken.__getstate__cCs|\|_|_|_dS)N)r!r"r#)r$�staterrr�__setstate__?szToken.__setstate__cCsd|jj|j|j|jfS)Nz %s(typeid=%r, address=%r, id=%r))�	__class__�__name__r!r"r#)r$rrr�__repr__BszToken.__repr__N)r!r"r#)r*�
__module__�__qualname__�	__slots__r%r&r(r+rrrrr3s
cCs8|j||||f�|j�\}}|dkr*|St||��dS)Nz#RETURN)�send�recv�convert_to_error)�cr#�
methodname�args�kwds�kind�resultrrr�dispatchJs
r8cCs<|dkr|S|dkrt|�S|dkr0td|�Std�SdS)Nz#ERRORz
#TRACEBACKz#UNSERIALIZABLEzUnserializable message: %s
zUnrecognized message type)�RemoteError�
ValueError)r6r7rrrr1Tsr1c@seZdZdd�ZdS)r9cCs&ddddt|jd�ddS)N�
�-�Kr)�strr4)r$rrr�__str__aszRemoteError.__str__N)r*r,r-r?rrrrr9`sr9cCs6g}x,t|�D] }t||�}t|�r|j|�qW|S)N)�dirr�callable�append)r�tempr�funcrrr�all_methodshs
rEcCsdd�t|�D�S)NcSsg|]}|ddkr|�qS)r�_r)rrrrrrwsz"public_methods.<locals>.<listcomp>)rE)rrrr�public_methodsssrGc	@s�eZdZddddddddd	g	Zd
d�Zdd
�Zdd�Zdd�Zdd�Zdd�Z	dd�Z
dd�Ze
ee	d�Zdd�Z
dd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-S).�Server�shutdown�create�accept_connection�get_methods�
debug_info�number_of_objects�dummy�incref�decrefcCs^||_tj|�|_t|\}}||dd�|_|jj|_ddffi|_i|_i|_	t
j�|_dS)N�)r"Zbacklog�0)
�registryr�AuthenticationString�authkey�listener_client�listenerr"�	id_to_obj�id_to_refcount�id_to_local_proxy_obj�	threading�Lock�mutex)r$rTr"rV�
serializer�Listener�Clientrrrr%�s
zServer.__init__cCs�tj�|_|tj�_zZtj|jd�}d|_|j	�y x|jj
�sN|jjd�q6WWntt
fk
rjYnXWdtjtjkr�tjd�tjt_tjt_tjd�XdS)N)�targetTrzresetting stdout, stderrr)r\�Event�
stop_eventr�current_process�_manager_server�Thread�accepter�daemon�start�is_set�wait�KeyboardInterrupt�
SystemExit�sys�stdout�
__stdout__r
�debug�
__stderr__�stderr�exit)r$rhrrr�
serve_forever�s 



zServer.serve_forevercCsPxJy|jj�}Wntk
r&wYnXtj|j|fd�}d|_|j�qWdS)N)rbr4T)rXZaccept�OSErrorr\rg�handle_requestrirj)r$r2�trrrrh�szServer.accepterc'Cs4d}}}y>tj||j�tj||j�|j�}|\}}}}t||�}Wntk
rhdt�f}	Yn>Xy||f|�|�}Wntk
r�dt�f}	Yn
Xd|f}	y|j|	�Wnrtk
�r&}
zTy|jdt�f�Wntk
r�YnXt	j
d|	�t	j
d|�t	j
d|
�WYdd}
~
XnX|j�dS)Nz
#TRACEBACKz#RETURNzFailure to send message: %rz ... request was %rz ... exception was %r)rZdeliver_challengerVZanswer_challenger0r�	Exceptionrr/r
�info�close)r$r2�funcnamer7�request�ignorer4r5rD�msg�errrrx�s2zServer.handle_requestcDCs�tjdtj�j�|j}|j}|j}�x�|jj	��s�yBd}}|�}|\}}}	}
y||\}}}Wn^t
k
r�}
zBy|j|\}}}Wn&t
k
r�}z
|
�WYdd}~XnXWYdd}
~
XnX||kr�td|t
|�|f��t||�}y||	|
�}Wn,tk
�r&}zd|f}WYdd}~XnPX|�o8|j|d�}|�rn|j|||�\}}t||j|�}d||ff}nd|f}Wn�tk
�r�|dk�r�dt�f}nNy,|j|}|||||f|	�|
�}d|f}Wn tk
�r�dt�f}YnXYnPtk
�r"tjdtj�j�tjd�Yn tk
�r@dt�f}YnXyDy||�Wn2tk
�r�}z|d	t�f�WYdd}~XnXWq(tk
�r�}zBtjd
tj�j�tjd|�tjd|�|j�tjd
�WYdd}~Xq(Xq(WdS)Nz$starting server thread to service %rz+method %r of %r object is not in exposed=%rz#ERRORz#PROXYz#RETURNz
#TRACEBACKz$got EOF -- exiting thread serving %rrz#UNSERIALIZABLEzexception in thread serving %rz ... message was %rz ... exception was %rr)r
rrr\�current_threadrr0r/rYrdrk�KeyErrorr[�AttributeErrorrrrz�getrJrr"r�fallback_mapping�EOFErrorrorur{r|)r$�connr0r/rYr3rr~�identr4r5�exposed�	gettypeid�keZ	second_keZfunction�resr�r�r!ZridentZrexposed�tokenZ
fallback_funcr7rrr�serve_client�sx(


$zServer.serve_clientcCs|S)Nr)r$r�r�rrrr�fallback_getvalue&szServer.fallback_getvaluecCst|�S)N)r>)r$r�r�rrrr�fallback_str)szServer.fallback_strcCst|�S)N)�repr)r$r�r�rrrr�
fallback_repr,szServer.fallback_repr)r?r+z	#GETVALUEcCsdS)Nr)r$r2rrrrO5szServer.dummycCs||j�lg}t|jj��}|j�xD|D]<}|dkr(|jd||j|t|j|d�dd�f�q(Wdj|�SQRXdS)NrSz  %s:       refcount=%s
    %srr=r;)	r^rrZr�sortrBr>rY�join)r$r2r7rr�rrrrM8s

$zServer.debug_infocCs
t|j�S)N)�lenrZ)r$r2rrrrNGszServer.number_of_objectscCsLz:ytjd�|jd�Wnddl}|j�YnXWd|jj�XdS)Nz!manager received shutdown message�#RETURNr)r�N)r
rrr/�	traceback�	print_excrd�set)r$r2r�rrrrINs
zServer.shutdowncOs�|j��|j|\}}}}|dkr,|d}	n
|||�}	|dkrFt|	�}|dk	r^t|�t|�}dt|	�}
tjd||
�|	t|�|f|j|
<|
|j	kr�d|j	|
<WdQRX|j
||
�|
t|�fS)Nrz%xz&%r callable returned object with id %r)r^rTrGrr#r
rrr�rYrZrP�tuple)r$r2r!r4r5rAr��method_to_typeid�	proxytyperr�rrrrJ[s 


z
Server.createcCst|j|jd�S)Nr)r�rYr#)r$r2r�rrrrLzszServer.get_methodscCs"|tj�_|jd�|j|�dS)N�#RETURN)r�N)r\r�rr/r�)r$r2rrrrrK�s

zServer.accept_connectioncCs�|j��y|j|d7<Wnhtk
r�}zL||jkrrd|j|<|j||j|<|j|\}}}tjd|�n|�WYdd}~XnXWdQRXdS)Nrz&Server re-enabled tracking & INCREF %r)r^rZr�r[rYr
rr)r$r2r�r�rr�r�rrrrP�s

z
Server.increfcCs�||jkr$||jkr$tjd|�dS|j�.|j|d8<|j|dkrT|j|=WdQRX||jkr�dfdf|j|<tjd|�|j�|j|=WdQRXdS)NzServer DECREF skipping %rrrzdisposing of obj with id %r)rZr[r
rrr^rY)r$r2r�rrrrQ�s


z
Server.decrefN)r*r,r-Zpublicr%rvrhrxr�r�r�r�r�rOrMrNrIrJrLrKrPrQrrrrrH}s,
"Q
rHc@seZdZdgZdZdZdZdS)�State�valuerr�N)r*r,r-r.�INITIAL�STARTED�SHUTDOWNrrrrr��sr�)�pickleZ	xmlrpclibc@s�eZdZiZeZd dd�Zdd�Zdd�Zdffd	d
�Z	e
dffdd��Zd
d�Zd!dd�Z
dd�Zdd�Zdd�Zdd�Zedd��Zedd��Ze
d"dd��ZdS)#rNr�cCs\|dkrtj�j}||_tj|�|_t�|_tj|j_	||_
t|\|_|_
|pTt�|_dS)N)rrerV�_addressrU�_authkeyr��_stater�r��_serializerrWZ	_Listener�_Clientr�_ctx)r$r"rVr_Zctxrrrr%�s

zBaseManager.__init__cCst|j|j|j|j�S)N)rH�	_registryr�r�r�)r$rrr�
get_server�s
zBaseManager.get_servercCs8t|j\}}||j|jd�}t|dd�tj|j_dS)N)rVrO)	rWr�r�r�r8r�r�r�r�)r$r`rar�rrr�connect�szBaseManager.connectc	Cs�|dk	rt|�rtd��tjdd�\}}|jjt|�j|j|j	|j
|j|||fd�|_dj
dd�|jjD��}t|�jd||j_|jj�|j�|j�|_	|j�tj|j_tj|t|�j|j|j	|j
|j|jfd	d
�|_dS)Nzinitializer must be a callableF)Zduplex)rbr4�:css|]}t|�VqdS)N)r>)r�irrr�	<genexpr>�sz$BaseManager.start.<locals>.<genexpr>r<r)r4�exitpriority)rA�	TypeErrorrZPiper�ZProcessr�_run_serverr�r�r�r��_processr�Z	_identityr*rrjr|r0r�r�r�r�r
�Finalize�_finalize_managerr�rI)r$�initializer�initargs�reader�writerr�rrrrj�s&




zBaseManager.startc	CsN|dk	r||�|j||||�}|j|j�|j�tjd|j�|j�dS)Nzmanager serving at %r)�_Serverr/r"r|r
r{rv)	�clsrTr"rVr_r�r�r��serverrrrr�szBaseManager._run_servercOsN|j|j|jd�}zt|dd|f||�\}}Wd|j�Xt||j|�|fS)N)rVrJ)r�r�r�r8r|r)r$r!r4r5r�r#r�rrr�_create%s

zBaseManager._createcCs*|jdk	r&|jj|�|jj�s&d|_dS)N)r�r��is_alive)r$�timeoutrrrr�1s

zBaseManager.joinc
Cs.|j|j|jd�}zt|dd�S|j�XdS)N)rVrM)r�r�r�r8r|)r$r�rrr�_debug_info:szBaseManager._debug_infoc
Cs.|j|j|jd�}zt|dd�S|j�XdS)N)rVrN)r�r�r�r8r|)r$r�rrr�_number_of_objectsDszBaseManager._number_of_objectscCs|jjtjkr|j�|S)N)r�r�r�r�rj)r$rrr�	__enter__NszBaseManager.__enter__cCs|j�dS)N)rI)r$�exc_type�exc_val�exc_tbrrr�__exit__TszBaseManager.__exit__cCs�|j�r�tjd�y,|||d�}zt|dd�Wd|j�XWntk
rRYnX|jdd�|j�r�tjd�t|d�r�tjd�|j�|jd	d�|j�r�tjd
�t	j
|_ytj
|=Wntk
r�YnXdS)Nz#sending shutdown message to manager)rVrIg�?)r�zmanager still alive�	terminatez'trying to `terminate()` manager processg�������?z#manager still alive after terminate)r�r
r{r8r|rzr��hasattrr�r�r�r�r�_address_to_localr�)rr"rVr'r�r�rrrr�Ws.




zBaseManager._finalize_managercCs|jS)N)r�)r$rrr�<lambda>wszBaseManager.<lambda>Tc
s�d|jkr|jj�|_�dkr"t�|p0t�dd�}|p@t�dd�}|r`xt|j��D]\}}qTW|||�f|j�<|r���fdd�}	�|	_t|�|	�dS)Nr��	_exposed_�_method_to_typeid_cs`tjd��|j�f|�|�\}}�||j||j|d�}|j|j|jd�}t|dd|jf�|S)Nz)requesting creation of a shared %r object)�managerrVr�)rVrQ)	r
rrr�r�r�r�r"r8r#)r$r4r5r�Zexp�proxyr�)r�r!rrrC�sz"BaseManager.register.<locals>.temp)	�__dict__r��copy�	AutoProxyrrrr*�setattr)
r�r!rAr�r�r��
create_method�keyr�rCr)r�r!r�registerys

zBaseManager.register)NNr�N)N)NNNNT)r*r,r-r�rHr�r%r�r�rj�classmethodr�r�r�r�r�r�r��staticmethodr��propertyr"r�rrrrr�s(
	$
	

 c@seZdZdd�Zdd�ZdS)�ProcessLocalSetcCstj|dd��dS)NcSs|j�S)N)�clear)rrrrr��sz*ProcessLocalSet.__init__.<locals>.<lambda>)r
�register_after_fork)r$rrrr%�szProcessLocalSet.__init__cCst|�ffS)N)r)r$rrr�
__reduce__�szProcessLocalSet.__reduce__N)r*r,r-r%r�rrrrr��sr�c@s|eZdZiZej�Zddd�Zdd�Zfifdd	�Z	d
d�Z
dd
�Zedd��Z
dd�Zdd�Zdd�Zdd�Zdd�ZdS)rNTFc	
Cs�tj�8tjj|jd�}|dkr:tj�t�f}|tj|j<WdQRX|d|_|d|_	||_
|j
j|_||_
||_t|d|_||_|dk	r�tj|�|_n"|j
dk	r�|j
j|_ntj�j|_|r�|j�tj|tj�dS)Nrr)r�_mutexr�r�r"r
ZForkAwareLocalr��_tls�_idset�_tokenr#�_id�_managerr�rWr��_owned_by_managerrrUr�rerV�_increfr��_after_fork)	r$r�r_r�rVr�rP�
manager_ownedZ	tls_idsetrrrr%�s*



zBaseProxy.__init__cCsdtjd�tj�j}tj�jdkr4|dtj�j7}|j|jj	|j
d�}t|dd|f�||j_
dS)Nzmaking connection to managerZ
MainThread�|)rVrK)r
rrrrerr\r�r�r�r"r�r8r�r)r$rr�rrr�_connect�s

zBaseProxy._connectcCs�y|jj}Wn6tk
rBtjdtj�j�|j�|jj}YnX|j	|j
|||f�|j�\}}|dkrp|S|dkr�|\}}|jj
|jd}	|jj|_|	||j|j|j|d�}
|j|j|jd�}t|dd|jf�|
St||��dS)	Nz#thread %r does not own a connectionz#RETURNz#PROXYr)r�rVr�)rVrQ���)r�rr�r
rrr\r�rr�r/r�r0r�r�r!r�r"r�r�r�r8r#r1)r$r3r4r5r�r6r7r�r�r�r�rrr�_callmethod�s,

zBaseProxy._callmethodcCs
|jd�S)Nz	#GETVALUE)r�)r$rrr�	_getvalueszBaseProxy._getvaluec	Cs�|jrtjd|jj�dS|j|jj|jd�}t|dd|j	f�tjd|jj�|j
j|j	�|joj|jj
}tj|tj|j|j||j|j
|jfdd�|_dS)Nz%owned_by_manager skipped INCREF of %r)rVrPz	INCREF %r�
)r4r�)r�r
rrr�r#r�r"r�r8r�r��addr�r�r�r�_decrefr�Z_close)r$r�r'rrrr�s
zBaseProxy._increfcCs�|j|j�|dks |jtjkr�y2tjd|j�||j|d�}t|dd|jf�Wq�t	k
r�}ztjd|�WYdd}~Xq�Xntjd|j�|r�t
|d�r�tjdtj�j
�|jj�|`dS)Nz	DECREF %r)rVrQz... decref failed %sz%DECREF %r -- manager already shutdownrz-thread %r has no more proxies so closing conn)�discardr#r�r�r�r
rrr"r8rzr�r\r�rrr|)r�rVr'ZtlsZidsetr�r�r�rrrr� s 
zBaseProxy._decrefcCsHd|_y|j�Wn0tk
rB}ztjd|�WYdd}~XnXdS)Nzincref failed: %s)r�r�rzr
r{)r$r�rrrr�9s
zBaseProxy._after_forkcCs^i}t�dk	r|j|d<t|dd�rB|j|d<tt|j|j|ffStt|�|j|j|ffSdS)NrV�_isautoFr�)	r
r�rr��RebuildProxyr�r�r�r)r$r5rrrr�As


zBaseProxy.__reduce__cCs|j�S)N)r�)r$�memorrr�__deepcopy__NszBaseProxy.__deepcopy__cCsdt|�j|jjt|�fS)Nz<%s object, typeid %r at %#x>)rr*r�r!r#)r$rrrr+QszBaseProxy.__repr__cCs4y
|jd�Stk
r.t|�dd�dSXdS)Nr+rz; '__str__()' failed>r�)r�rzr�)r$rrrr?Us
zBaseProxy.__str__)NNNTF)r*r,r-r�r
ZForkAwareThreadLockr�r%r�r�r�r�r�r�r�r�r�r+r?rrrrr�s
(	
cCs�ttj�dd�}|rT|j|jkrTtjd|�d|d<|j|jkrT|j|j|j|j<|j	dd�opttj�dd�}|||fd|i|��S)Nrfz*Rebuild a proxy owned by manager, token=%rTr�rPZ_inheritingF)
rrrer"r
rrr#r[rY�pop)rDr�r_r5r�rPrrrr�bsr�c
Csrt|�}y|||fStk
r(YnXi}x|D]}td||f|�q4Wt|tf|�}||_||||f<|S)NzLdef %s(self, *args, **kwds):
        return self._callmethod(%r, args, kwds))r�r��execrrr�)rr��_cacheZdic�meth�	ProxyTyperrr�
MakeProxyTypews
r�Tc
Cs�t|d}|dkrB||j|d�}zt|dd|f�}Wd|j�X|dkrX|dk	rX|j}|dkrjtj�j}td|j	|�}||||||d�}	d|	_
|	S)Nr)rVrLz
AutoProxy[%s])r�rVrPT)rWr"r8r|r�rrerVr�r!r�)
r�r_r�rVr�rPr�r�r�r�rrrr��s


r�c@seZdZdd�Zdd�ZdS)�	NamespacecKs|jj|�dS)N)r��update)r$r5rrrr%�szNamespace.__init__cCs^t|jj��}g}x,|D]$\}}|jd�s|jd||f�qW|j�d|jjdj|�fS)NrFz%s=%rz%s(%s)z, )	rr�r�
startswithrBr�r)r*r�)r$rrCrr�rrrr+�s
zNamespace.__repr__N)r*r,r-r%r+rrrrr��sr�c@s8eZdZddd�Zdd�Zdd�Zdd	�Zeee�Zd
S)�ValueTcCs||_||_dS)N)�	_typecode�_value)r$rr��lockrrrr%�szValue.__init__cCs|jS)N)r)r$rrrr��sz	Value.getcCs
||_dS)N)r)r$r�rrrr��sz	Value.setcCsdt|�j|j|jfS)Nz
%s(%r, %r))rr*rr)r$rrrr+�szValue.__repr__N)T)	r*r,r-r%r�r�r+r�r�rrrrr��s

r�cCstj||�S)N)r)rZsequencerrrr�Array�src@s8eZdZdZdd�Zdd�Zd	d
�Zdd�Zd
d�ZdS)�
IteratorProxy�__next__r/�throwr|cCs|S)Nr)r$rrr�__iter__�szIteratorProxy.__iter__cGs|jd|�S)Nr)r�)r$r4rrrr�szIteratorProxy.__next__cGs|jd|�S)Nr/)r�)r$r4rrrr/�szIteratorProxy.sendcGs|jd|�S)Nr)r�)r$r4rrrr�szIteratorProxy.throwcGs|jd|�S)Nr|)r�)r$r4rrrr|�szIteratorProxy.closeN)rr/rr|)	r*r,r-r�rrr/rr|rrrrr�src@s2eZdZd
Zddd�Zdd�Zd	d
�Zdd�ZdS)�
AcquirerProxy�acquire�releaseTNcCs"|dkr|fn||f}|jd|�S)Nr	)r�)r$Zblockingr�r4rrrr	�szAcquirerProxy.acquirecCs
|jd�S)Nr
)r�)r$rrrr
�szAcquirerProxy.releasecCs
|jd�S)Nr	)r�)r$rrrr��szAcquirerProxy.__enter__cCs
|jd�S)Nr
)r�)r$r�r�r�rrrr��szAcquirerProxy.__exit__)r	r
)TN)r*r,r-r�r	r
r�r�rrrrr�s

rc@s4eZdZdZddd�Zd	d
�Zdd�Zdd
d�ZdS)�ConditionProxyr	r
rl�notify�
notify_allNcCs|jd|f�S)Nrl)r�)r$r�rrrrl�szConditionProxy.waitcCs
|jd�S)Nr)r�)r$rrrr�szConditionProxy.notifycCs
|jd�S)Nr
)r�)r$rrrr
�szConditionProxy.notify_allcCsh|�}|r|S|dk	r$tj�|}nd}d}x6|sb|dk	rP|tj�}|dkrPP|j|�|�}q.W|S)Nr)�timeZ	monotonicrl)r$Z	predicater�r7ZendtimeZwaittimerrr�wait_for�s

zConditionProxy.wait_for)r	r
rlrr
)N)N)r*r,r-r�rlrr
rrrrrr�s

rc@s2eZdZdZdd�Zdd�Zd	d
�Zddd
�ZdS)�
EventProxyrkr�r�rlcCs
|jd�S)Nrk)r�)r$rrrrkszEventProxy.is_setcCs
|jd�S)Nr�)r�)r$rrrr�szEventProxy.setcCs
|jd�S)Nr�)r�)r$rrrr�szEventProxy.clearNcCs|jd|f�S)Nrl)r�)r$r�rrrrlszEventProxy.wait)rkr�r�rl)N)r*r,r-r�rkr�r�rlrrrrr�s
rc@sNeZdZdZddd�Zdd	�Zd
d�Zedd
��Zedd��Z	edd��Z
dS)�BarrierProxy�__getattribute__rl�abort�resetNcCs|jd|f�S)Nrl)r�)r$r�rrrrl
szBarrierProxy.waitcCs
|jd�S)Nr)r�)r$rrrrszBarrierProxy.abortcCs
|jd�S)Nr)r�)r$rrrrszBarrierProxy.resetcCs|jdd�S)Nr�parties)r)r�)r$rrrrszBarrierProxy.partiescCs|jdd�S)Nr�	n_waiting)r)r�)r$rrrrszBarrierProxy.n_waitingcCs|jdd�S)Nr�broken)r)r�)r$rrrrszBarrierProxy.broken)rrlrr)N)r*r,r-r�rlrrr�rrrrrrrrs
rc@s(eZdZdZdd�Zdd�Zdd	�Zd
S)�NamespaceProxyr�__setattr__�__delattr__cCs0|ddkrtj||�Stj|d�}|d|f�S)NrrFr�r)�objectr)r$r��
callmethodrrr�__getattr__ szNamespaceProxy.__getattr__cCs4|ddkrtj|||�Stj|d�}|d||f�S)NrrFr�r)rrr)r$r�r�rrrrr%szNamespaceProxy.__setattr__cCs0|ddkrtj||�Stj|d�}|d|f�S)NrrFr�r)rrr)r$r�rrrrr*szNamespaceProxy.__delattr__N)rrr)r*r,r-r�rrrrrrrrsrc@s*eZdZdZdd�Zdd�Zeee�ZdS)	�
ValueProxyr�r�cCs
|jd�S)Nr�)r�)r$rrrr�3szValueProxy.getcCs|jd|f�S)Nr�)r�)r$r�rrrr�5szValueProxy.setN)r�r�)r*r,r-r�r�r�r�r�rrrrr1sr�
BaseListProxy�__add__�__contains__�__delitem__�__getitem__�__len__�__mul__�__reversed__�__rmul__�__setitem__rB�count�extend�index�insertr��remove�reverser��__imul__c@seZdZdd�Zdd�ZdS)�	ListProxycCs|jd|f�|S)Nr*)r�)r$r�rrr�__iadd__AszListProxy.__iadd__cCs|jd|f�|S)Nr/)r�)r$r�rrrr/DszListProxy.__imul__N)r*r,r-r1r/rrrrr0@sr0�	DictProxyrr�r�r��has_key�popitem�
setdefaultr��Iterator�
ArrayProxy�	PoolProxy�apply�apply_asyncr|�imap�imap_unorderedr��map�	map_async�starmap�
starmap_asyncr�ZAsyncResult)r:r>r@r;r<c@seZdZdd�Zdd�ZdS)r8cCs|S)Nr)r$rrrr�dszPoolProxy.__enter__cCs|j�dS)N)r�)r$r�r�r�rrrr�fszPoolProxy.__exit__N)r*r,r-r�r�rrrrr8csc@seZdZdS)rN)r*r,r-rrrrrms	�QueueZ
JoinableQueuercr]�RLock�	Semaphore�BoundedSemaphore�	Condition�Barrier�Poolr�dictF)r�r�)r�)rrr)NNNT)T)r r!r"r#r$r%r&r'r(rBr)r*r+r,r�r-r.r�r/)r!r"r#rr$r(r�r�r�r3rrr�r4r5r�r)r$r#r()r9r:r|r;r<r�r=r>r?r@r�)I�__all__ror\rZqueuerr�r�r�contextr	r
rrr
rrr�Z
view_typesrr Z	view_typerrr8r1rzr9rErGrHr�r`raZXmlListenerZ	XmlClientrWrr�r�rr�r�r�r�r�rrrrrrrrrr0r2r�r7Z
BasePoolProxyr8rrArcr]rBrCrDrErFrGrHrrrr�<module>s�


;
]
4


		




Bethany
Bethany
0%

THE FINEST HOTEL NEAR LAKE KIVU

The Perfect Base For You

Required fields are followed by *





EC1A68011

About Us

Delicious Interior With The Pinch Of Everything

Bethany Investment group is Presbyterian church in Rwanda(EPR) company that manage Hotel and Guest house in Karongi (Bethany Hotel), ISANO branch in GIKONDO(Kigali), Kiyovu branch(Kigali), AMIZERO branch(Nyagatare-East) and Gisenyi Branch(Rubavu).

Accomodation

Get a Comfortable Room
Feel The Comfort

Get a comfortable room and feel our hotel’s comfort. Bethany Hotel features a variety of fully furnished rooms with extra space, Executive rooms, Deluxe rooms with a beautiful lake view and garden space, Deluxe rooms, comfort rooms, family rooms and standard rooms at your service.

Standard Single

Services

We Provide Top Class Facility
Especially For You

Beach BBQ Party

Kick back on the beach& and enjoy our berbecue from our masterchef

Breakfast

Kick back at our hotels& enjoy our breakfast from our masterchef

Conference Hall

Kick back at our hotels& enjoy our conference halls from all bethany branches

Enjoy with your partner

Honeymoon Package

80%

Get In Touch

Don’t Miss Any Update

    +

    Search your Room

    Required fields are followed by *