MSV FM

[email protected]: ~ $
Path : /proc/self/root/lib64/python2.7/multiprocessing/
File Upload :
Current < : //proc/self/root/lib64/python2.7/multiprocessing/managers.pyc

�
{fc@s�ddddgZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
mZmZm
Z
mZmZddlmZdd	lmZmZmZmZdd
lmZmZyddlmZWn!ek
rddlmZnXd�Zejeje�gd
ddfD]Z e!e"ie ���^qDZ#de$fd��YZ%fid�Z&d�Z'de(fd��YZ)d�Z*d�Z+de$fd��YZ,de$fd��YZ-iej.ej/fd6ej0ej1fd6Z2de$fd��YZ3de4fd��YZ5de$fd ��YZ6d!�Z7id"�Z8e9e9e9e:d#�Z;d$e$fd%��YZ<d&e$fd'��YZ=e:d(�Z>d)e6fd*��YZ?d+e6fd,��YZ@d-e@fd.��YZAd/e6fd0��YZBd1e6fd2��YZCd3e6fd4��YZDe8d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKf�ZEdLeEfdM��YZFe8dNd7d8d:dOd<d@dPdQdRdSd
ddGdTdUdVdf�ZGidWdO6eG_He8dXd<d:d@d;dAf�ZIe8dYdZd[d\d]d^d_d`dadbf	�ZJidcd[6dcda6dWd]6dWd^6eJ_Hde3fdd��YZKeKjdeej�eKjdfej�eKjdgejLeB�eKjdhejMe@�eKjdiejNe@�eKjdjejOe@�eKjdkejPe@�eKjdlejQeA�eKjdme
eJ�eKjdneReF�eKjdoeSeG�eKjd&e=eD�eKjdpe>eI�eKjd$e<eC�eKjdWdqe?dreT�eKjdcdreT�dS(stBaseManagertSyncManagert	BaseProxytTokeni����N(t
format_exc(tProcesstcurrent_processtactive_childrentPooltutilt
connection(tAuthenticationString(texittPopentassert_spawningtForkingPickler(tFinalizetinfo(t
PicklingErrorcCstj|j|j�ffS(N(tarrayttypecodettostring(ta((s0/usr/lib64/python2.7/multiprocessing/managers.pytreduce_array@stitemstkeystvaluescBs8eZdZdZd�Zd�Zd�Zd�ZRS(	s4
    Type to uniquely indentify a shared object
    ttypeidtaddresstidcCs!||||_|_|_dS(N(RRR(tselfRRR((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__init__PscCs|j|j|jfS(N(RRR(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__getstate__SscCs|\|_|_|_dS(N(RRR(Rtstate((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__setstate__VscCsd|j|j|jfS(Ns#Token(typeid=%r, address=%r, id=%r)(RRR(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__repr__Ys(RRR(t__name__t
__module__t__doc__t	__slots__RR R"R#(((s0/usr/lib64/python2.7/multiprocessing/managers.pyRJs			cCsN|j||||f�|j�\}}|dkr;|St||��dS(sL
    Send a message to manager using connection `c` and return response
    s#RETURNN(tsendtrecvtconvert_to_error(tcRt
methodnametargstkwdstkindtresult((s0/usr/lib64/python2.7/multiprocessing/managers.pytdispatchas
cCs~|dkr|S|dkr>t|�tks4t�t|�S|dkrpt|�tksbt�td|�Std�SdS(Ns#ERRORs
#TRACEBACKs#UNSERIALIZABLEsUnserializable message: %s
sUnrecognized message type(ttypetstrtAssertionErrortRemoteErrort
ValueError(R/R0((s0/usr/lib64/python2.7/multiprocessing/managers.pyR*ks
R5cBseZd�ZRS(cCs)ddddt|jd�ddS(Ns
t-iKi(R3R-(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__str__xs(R$R%R8(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR5wscCsOg}xBt|�D]4}t||�}t|d�r|j|�qqW|S(s4
    Return a list of names of methods of `obj`
    t__call__(tdirtgetattrthasattrtappend(tobjttemptnametfunc((s0/usr/lib64/python2.7/multiprocessing/managers.pytall_methodsscCs-gt|�D]}|ddkr
|^q
S(sP
    Return a list of names of methods of `obj` which do not start with '_'
    it_(RB(R>R@((s0/usr/lib64/python2.7/multiprocessing/managers.pytpublic_methods�stServerc	Bs�eZdZddddddddd	g	Zd
�Zd�Zd�Zd
�Zd�Zd�Z	d�Z
ie	d6e
d6ed6Zd�Zd�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(sM
    Server class which runs in a process controlled by a manager object
    tshutdowntcreatetaccept_connectiontget_methodst
debug_infotnumber_of_objectstdummytincreftdecrefcCs�t|t�st�||_t|�|_t|\}}|d|dd�|_|jj|_iddfd6|_
i|_tj
�|_d|_dS(NRtbacklogit0i((t
isinstancetbytesR4tregistryRtauthkeytlistener_clienttlistenerRtNonet	id_to_objtid_to_refcountt	threadingtRLocktmutextstop(RRSRRTt
serializertListenertClient((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s		cCs�|t�_z�ylxey|jj�}Wnttfk
rDqnXtjd|jd|f�}t	|_
|j�qWWntt
fk
r�nXWdd|_|jj�XdS(s(
        Run the server forever
        ttargetR-Ni�(Rt_manager_serverRVtaccepttOSErrortIOErrorRZtThreadthandle_requesttTruetdaemontstarttKeyboardInterruptt
SystemExitR]tclose(RR+tt((s0/usr/lib64/python2.7/multiprocessing/managers.pyt
serve_forever�s		cCsd}}}yvtj||j�tj||j�|j�}|\}}}}||jksttd|��t||�}Wn t	k
r�dt
�f}	nFXy||||�}Wn t	k
r�dt
�f}	n
Xd|f}	y|j|	�Wnqt	k
rp}
y|jdt
�f�Wnt	k
r<nXtj
d|	�tj
d|�tj
d|
�nX|j�dS(s)
        Handle a new connection
        s%r unrecognizeds
#TRACEBACKs#RETURNsFailure to send message: %rs ... request was %rs ... exception was %rN(RWR
tdeliver_challengeRTtanswer_challengeR)tpublicR4R;t	ExceptionRR(R	RRm(RR+tfuncnameR0trequesttignoreR-R.RAtmsgte((s0/usr/lib64/python2.7/multiprocessing/managers.pyRg�s4


cCs�tjdtj�j�|j}|j}|j}x�|js�yd}}|�}|\}}}	}
||\}}}||kr�t
d|t|�|f��nt||�}
y|
|	|
�}Wnt
k
r�}d|f}npX|o|j|d�}|rP|j|||�\}}t||j|�}d||ff}nd|f}Wn�t
k
r�|dkr�dt�f}q?y8|j|}||||||	|
�}d|f}Wq?t
k
r�dt�f}q?XnVtk
rtjdtj�j�tjd�n t
k
r>dt�f}nXy;y||�Wn&t
k
rx}|d	t�f�nXWq7t
k
r�}tjd
tj�j�tjd|�tjd|�|j�tjd
�q7Xq7WdS(sQ
        Handle requests from the proxies in a particular process/thread
        s$starting server thread to service %rs+method %r of %r object is not in exposed=%rs#ERRORs#PROXYs#RETURNs
#TRACEBACKs$got EOF -- exiting thread serving %ris#UNSERIALIZABLEsexception in thread serving %rs ... message was %rs ... exception was %riN(R	tdebugRZtcurrent_threadR@R)R(RXR]RWtAttributeErrorR2R;RstgetRGRRRtfallback_mappingtEOFErrortsysRRRm(RtconnR)R(RXR,R>RutidentR-R.texposedt	gettypeidtfunctiontresRxRwRtridenttrexposedttokent
fallback_funcR0((s0/usr/lib64/python2.7/multiprocessing/managers.pytserve_client�sl				
	



	
	
cCs|S(N((RR�R�R>((s0/usr/lib64/python2.7/multiprocessing/managers.pytfallback_getvalue+scCs
t|�S(N(R3(RR�R�R>((s0/usr/lib64/python2.7/multiprocessing/managers.pytfallback_str.scCs
t|�S(N(trepr(RR�R�R>((s0/usr/lib64/python2.7/multiprocessing/managers.pyt
fallback_repr1sR8R#s	#GETVALUEcCsdS(N((RR+((s0/usr/lib64/python2.7/multiprocessing/managers.pyRL:scCs�|jj�z�g}|jj�}|j�xS|D]K}|dkr6|jd||j|t|j|d�d f�q6q6Wdj|�SWd|jj	�XdS(sO
        Return some info --- useful to spot problems with refcounting
        RPs  %s:       refcount=%s
    %siiKs
N(
R\tacquireRXRtsortR=RYR3tjointrelease(RR+R0RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyRJ=s


	
'cCst|j�dS(s*
        Number of shared objects
        i(tlenRX(RR+((s0/usr/lib64/python2.7/multiprocessing/managers.pyRKOscCsz�y�tjd�|jd	�tjtjkrZtjd�tjt_tjt_ntj	d�x(t
�D]}tjd�|j�qqWx(t
�D]}tjd�|j�q�Wtj	�tj
d�Wnddl}|j�nXWdtd�XdS(
s'
        Shutdown this process
        s!manager received shutdown messages#RETURNsresetting stdout, stderris&terminating a child process of managersmanager exiting with exitcode 0i����N(s#RETURNN(R	RyR(RWRtstdoutt
__stdout__t
__stderr__tstderrt_run_finalizersRt	terminateR�Rt	tracebackt	print_excR(RR+tpR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyRFUs*






cOs\|jj�z:|j|\}}}}|dkrat|�dkrN|sTt�|d}	n|||�}	|dkr�t|	�}n|dk	r�t|�tks�t�t	|�t	|�}ndt
|	�}
tjd||
�|	t
|�|f|j|
<|
|jkr&d|j|
<n|j||
�|
t|�fSWd|jj�XdS(s>
        Create a new shared object and return its id
        iis%xs&%r callable returned object with id %rN(R\R�RSRWR�R4RDR2tdicttlistRR	RytsetRXRYRMttupleR�(RR+RR-R.tcallableR�tmethod_to_typeidt	proxytypeR>R�((s0/usr/lib64/python2.7/multiprocessing/managers.pyRGus(

cCst|j|jd�S(sL
        Return the methods of the shared object indicated by token
        i(R�RXR(RR+R�((s0/usr/lib64/python2.7/multiprocessing/managers.pyRI�scCs-|tj�_|jd�|j|�dS(s=
        Spawn a new thread to serve this connection
        s#RETURNN(s#RETURNN(RZRzR@R(RWR�(RR+R@((s0/usr/lib64/python2.7/multiprocessing/managers.pyRH�s
cCs9|jj�z|j|cd7<Wd|jj�XdS(Ni(R\R�RYR�(RR+R�((s0/usr/lib64/python2.7/multiprocessing/managers.pyRM�s
cCs�|jj�zj|j|dks)t�|j|cd8<|j|dkrv|j|=|j|=tjd|�nWd|jj�XdS(Niisdisposing of obj with id %r(R\R�RYR4RXR	RyR�(RR+R�((s0/usr/lib64/python2.7/multiprocessing/managers.pyRN�s
(R$R%R&RrRRoRgR�R�R�R�R}RLRJRKRFRGRIRHRMRN(((s0/usr/lib64/python2.7/multiprocessing/managers.pyRE�s.			"	J			
				 	&			tStatecBs#eZdgZdZdZdZRS(tvalueiii(R$R%R'tINITIALtSTARTEDtSHUTDOWN(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��s	tpicklet	xmlrpclibcBs�eZdZiZeZdddd�Zd�Zd�Z	d�Z
ddd�Zeddd��Z
d�Zdd	�Zd
�Zd�Zd�Zd
�Zed��Zed��Zedddded��ZRS(s!
    Base class for managers
    R�cCsq|dkrt�j}n||_t|�|_t�|_tj|j_	||_
t|\|_|_
dS(N(RWRRTt_addressRt_authkeyR�t_stateR�R�t_serializerRUt	_Listenert_Client(RRRTR^((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s		cCs%t|�j|j|j|jffS(N(R2tfrom_addressR�R�R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt
__reduce__�scCs:|jjtjkst�t|j|j|j|j	�S(sX
        Return server object with serve_forever() method and address attribute
        (
R�R�R�R�R4REt	_registryR�R�R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt
get_server�scCsNt|j\}}||jd|j�}t|dd�tj|j_	dS(s>
        Connect manager object to the server process
        RTRLN(
RUR�R�R�R1RWR�R�R�R�(RR_R`R�((s0/usr/lib64/python2.7/multiprocessing/managers.pytconnect�scCsg|jjtjkst�|dk	rFt|d�rFtd��ntj	dt
�\}}tdt|�j
d|j|j|j|j|||f�|_djd�|jjD��}t|�jd||j_|jj�|j�|j�|_|j�tj|j_tj|t|�jd|j|j|j|j|jfd	d
�|_dS(s@
        Spawn a server process for this manager object
        R9sinitializer must be a callabletduplexRaR-t:css|]}t|�VqdS(N(R3(t.0ti((s0/usr/lib64/python2.7/multiprocessing/managers.pys	<genexpr>
sR7texitpriorityiN( R�R�R�R�R4RWR<t	TypeErrorR
tPipetFalseRR2t_run_serverR�R�R�R�t_processR�t	_identityR$R@RjRmR)R�R	Rt_finalize_managerR�RF(RtinitializertinitargstreadertwriterR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyRj�s(


c	Csl|dk	r||�n|j||||�}|j|j�|j�tjd|j�|j�dS(s@
        Create a server, report its address and run it
        smanager serving at %rN(RWt_ServerR(RRmR	RRo(	tclsRSRRTR^R�R�R�tserver((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s

cOs�|jjtjks!td��|j|jd|j�}z)t|dd|f||�\}}Wd|j
�Xt||j|�|fS(sP
        Create a new shared object; return the token and exposed tuple
        sserver not yet startedRTRGN(R�R�R�R�R4R�R�R�R1RWRmR(RRR-R.R�RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyt_create0s!)cCs|jj|�dS(sC
        Join the manager process (if it has been spawned)
        N(R�R�(Rttimeout((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�<scCsA|j|jd|j�}zt|dd�SWd|j�XdS(sS
        Return some info about the servers shared objects and connections
        RTRJN(R�R�R�R1RWRm(RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyt_debug_infoBscCsA|j|jd|j�}zt|dd�SWd|j�XdS(s5
        Return the number of shared objects
        RTRKN(R�R�R�R1RWRm(RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyt_number_of_objectsLscCs|S(N((R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt	__enter__VscCs|j�dS(N(RF(Rtexc_typetexc_valtexc_tb((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__exit__YscCs|j�r�tjd�y8||d|�}zt|dd�Wd|j�XWntk
rdnX|jdd�|j�r�tjd�t|d�r�tjd	�|j	�|jdd
�|j�r�tjd�q�q�q�nt
j|_yt
j|=Wntk
rnXdS(sQ
        Shutdown the manager process; will be registered as a finalizer
        s#sending shutdown message to managerRTRFNR�g�������?smanager still aliveR�s'trying to `terminate()` manager processg�������?s#manager still alive after terminate(tis_aliveR	RR1RWRmRsR�R<R�R�R�R�Rt_address_to_localtKeyError(tprocessRRTR!R�R�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�\s.





cCs|jS(N(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt<lambda>|tc
s$d|jkr$|jj�|_n�dkr9t�n|pNt�dd�}|pft�dd�}|r�xa|j�D]P\}}t|�tks�t	d|��t|�tks|t	d|��q|Wn|||�f|j�<|r ��fd�}	�|	_
t|�|	�ndS(s9
        Register a typeid with the manager type
        R�t	_exposed_t_method_to_typeid_s%r is not a stringc	s�tjd��|j�||�\}}�||jd|d|jd|�}|j|jd|j�}t|dd|j	f�|S(Ns)requesting creation of a shared %r objecttmanagerRTR�RN(
R	RyR�R�R�R�RR1RWR(RR-R.R�texptproxyR�(R�R(s0/usr/lib64/python2.7/multiprocessing/managers.pyR?�sN(t__dict__R�tcopyRWt	AutoProxyR;RR2R3R4R$tsetattr(
R�RR�R�R�R�t
create_methodtkeyR�R?((R�Rs0/usr/lib64/python2.7/multiprocessing/managers.pytregister~s 	")
	N(((R$R%R&R�RER�RWRR�R�R�RjtclassmethodR�R�R�R�R�R�R�tstaticmethodR�tpropertyRRhR�(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s*
				$		
	
		 	tProcessLocalSetcBseZd�Zd�ZRS(cCstj|d��dS(NcSs
|j�S(N(tclear(R>((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��R�(R	tregister_after_fork(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scCst|�dfS(N((R2(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��s(R$R%RR�(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��s	cBs�eZdZiZej�Zddded�Z	d�Z
d
id�Zd�Zd�Z
ed��Zd�Zd�Zd	�Zd
�Zd�ZRS(s.
    A base for proxies of shared objects
    cCs;tjj�zPtjj|jd�}|dkr\tj�t	�f}|tj|j<nWdtjj
�X|d|_|d|_||_
|j
j|_||_||_t|d|_|dk	r�t|�|_n0|jdk	r|jj|_nt�j|_|r$|j�ntj|tj�dS(Nii(Rt_mutexR�R�R|RRWR	tForkAwareLocalR�R�t_tlst_idsett_tokenRt_idt_managerR�RUR�RR�RRTt_increfR�t_after_fork(RR�R^R�RTR�RMt	tls_idset((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s,


			
cCs�tjd�t�j}tj�jdkrH|dtj�j7}n|j|jjd|j	�}t
|dd|f�||j_
dS(Nsmaking connection to managert
MainThreadt|RTRH(R	RyRR@RZRzR�R�RR�R1RWR�R
(RR@R�((s0/usr/lib64/python2.7/multiprocessing/managers.pyt_connect�s
c	CsDy|jj}Wn@tk
rRtjdtj�j�|j�|jj}nX|j	|j
|||f�|j�\}}|dkr�|S|dkr1|\}}|jj
|jd}	|jj|_|	||jd|jd|jd|�}
|j|jd|j�}t|d	d|jf�|
St||��d	S(
sW
        Try to call a method of the referrent and return a copy of the result
        s#thread %r does not own a connections#RETURNs#PROXYi����R�RTR�RNN(R�R
R{R	RyRZRzR@R�R(R�R)R�R�RR�RR�R�R�R1RWRR*(RR,R-R.R�R/R0R�R�R�R�((s0/usr/lib64/python2.7/multiprocessing/managers.pyt_callmethod�s,
	
cCs
|jd�S(s9
        Get a copy of the value of the referent
        s	#GETVALUE(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt	_getvaluesc
Cs�|j|jjd|j�}t|dd|jf�tjd|jj	�|j
j|j�|jor|jj
}tj|tjd|j|j||j|j
|jfdd�|_dS(NRTRMs	INCREF %rR-R�i
(R�R�RR�R1RWR�R	RyRR�taddR�R�RRt_decrefR�t_close(RR�R!((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scCs�|j|j�|dks.|jtjkr�yEtjd|j�||jd|�}t	|dd|jf�Wq�t
k
r�}tjd|�q�Xntjd|j�|r�t|d�r�tjdtj
�j�|jj�|`ndS(Ns	DECREF %rRTRNs... decref failed %ss%DECREF %r -- manager already shutdownR
s-thread %r has no more proxies so closing conn(tdiscardRRWR�R�R�R	RyRR1RsR<RZRzR@R
Rm(R�RTR!ttlstidsetR�R�Rx((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s	
cCsBd|_y|j�Wn$tk
r=}tjd|�nXdS(Nsincref failed: %s(RWR�R�RsR	R(RRx((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�7s
	cCs�i}tj�r"|j|d<nt|dt�r]|j|d<tt|j|j	|ffStt
|�|j|j	|ffSdS(NRTt_isautoR�(R
tthread_is_spawningR�R;R�R�tRebuildProxyR�R�R�R2(RR.((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�?s
cCs
|j�S(N(R�(Rtmemo((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__deepcopy__LscCs*dt|�j|jjdt|�fS(Ns<%s object, typeid %r at %s>s0x%x(R2R$R�RR(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR#OscCs8y|jd�SWn tk
r3t|�d dSXdS(sV
        Return representation of the referent (or a fall-back if that fails)
        R#i����s; '__str__()' failed>N(R�RsR�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR8Ss
N((R$R%R&R�R	tForkAwareThreadLockR�RWRhRR�R�R�R�R�R�R�R�RR#R8(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s%						
		cCs�tt�dd�}|r?|j|jkr?|j|jdS|jdt�odtt�dt�}|||d||�SdS(s�
    Function used for unpickling proxy objects.

    If possible the shared object is returned, or otherwise a proxy for it.
    RbiRMt_inheritingN(	R;RRWRRXRtpopRhR�(RAR�R^R.R�RM((s0/usr/lib64/python2.7/multiprocessing/managers.pyR`scBs�e|�}y|||fSWnek
r1nXi}x |D]}d||f|Uq?We|ef|�}||_||||f<|S(sB
    Return a proxy type whose methods are given by `exposed`
    sLdef %s(self, *args, **kwds):
        return self._callmethod(%r, args, kwds)(R�R�R2RR�(R@R�t_cachetdictmetht	ProxyType((s0/usr/lib64/python2.7/multiprocessing/managers.pyt
MakeProxyTypeus

	c
	Cs�t|d}|dkr\||jd|�}zt|dd|f�}Wd|j�Xn|dkr�|dk	r�|j}n|dkr�t�j}ntd|j	|�}|||d|d|d|�}	t
|	_|	S(s*
    Return an auto-proxy for `token`
    iRTRINs
AutoProxy[%s]R�RM(RURWRR1RmR�RRTRRRhR�(
R�R^R�RTR�RMR�R�R
R�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��s		t	NamespacecBseZd�Zd�ZRS(cKs|jj|�dS(N(R�tupdate(RR.((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scCss|jj�}g}x=|D]5\}}|jd�s|jd||f�qqW|j�dtjd|�S(NRCs%s=%rs
Namespace(%s)s, (R�Rt
startswithR=R�R3R�(RRR?R@R�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR#�s
(R$R%RR#(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s	tValuecBs>eZed�Zd�Zd�Zd�Zeee�ZRS(cCs||_||_dS(N(t	_typecodet_value(RRR�tlock((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s	cCs|jS(N(R(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR|�scCs
||_dS(N(R(RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��scCs dt|�j|j|jfS(Ns
%s(%r, %r)(R2R$RR(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR#�s(	R$R%RhRR|R�R#R�R�(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s
			cCstj||�S(N(R(RtsequenceR((s0/usr/lib64/python2.7/multiprocessing/managers.pytArray�st
IteratorProxycBsDeZdZd�Zd�Zd�Zd�Zd	�Zd
�ZRS(t__next__tnextR(tthrowRmcCs|S(N((R((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__iter__�scGs|jd|�S(NR(R�(RR-((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scGs|jd|�S(NR(R�(RR-((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scGs|jd|�S(NR((R�(RR-((s0/usr/lib64/python2.7/multiprocessing/managers.pyR(�scGs|jd|�S(NR(R�(RR-((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scGs|jd|�S(NRm(R�(RR-((s0/usr/lib64/python2.7/multiprocessing/managers.pyRm�s(RRR(RRm(	R$R%R�RRRR(RRm(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s					t
AcquirerProxycBs5eZdZed�Zd�Zd�Zd�ZRS(R�R�cCs|jd|f�S(NR�(R�(Rtblocking((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��scCs
|jd�S(NR�(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��scCs
|jd�S(NR�(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��scCs
|jd�S(NR�(R�(RR�R�R�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��s(R�R�(R$R%R�RhR�R�R�R�(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s
		tConditionProxycBs,eZdZd	d�Zd�Zd�ZRS(
R�R�twaittnotifyt
notify_allcCs|jd|f�S(NR(R�(RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scCs
|jd�S(NR(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�scCs
|jd�S(NR(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s(R�R�RRRN(R$R%R�RWRRR(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s	t
EventProxycBs5eZdZd�Zd�Zd�Zd	d�ZRS(
tis_setR�R�RcCs
|jd�S(NR!(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR!�scCs
|jd�S(NR�(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��scCs
|jd�S(NR�(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR��scCs|jd|f�S(NR(R�(RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s(R!R�R�RN(R$R%R�R!R�R�RWR(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR �s
			tNamespaceProxycBs)eZdZd�Zd�Zd�ZRS(t__getattribute__t__setattr__t__delattr__cCsB|ddkr tj||�Stj|d�}|d|f�S(NiRCR�R#(tobjectR#(RR�t
callmethod((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__getattr__�scCsH|ddkr#tj|||�Stj|d�}|d||f�S(NiRCR�R$(R&R$R#(RR�R�R'((s0/usr/lib64/python2.7/multiprocessing/managers.pyR$scCsB|ddkr tj||�Stj|d�}|d|f�S(NiRCR�R%(R&R%R#(RR�R'((s0/usr/lib64/python2.7/multiprocessing/managers.pyR%s(R#R$R%(R$R%R�R(R$R%(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR"�s		t
ValueProxycBs/eZdZd�Zd�Zeee�ZRS(R|R�cCs
|jd�S(NR|(R�(R((s0/usr/lib64/python2.7/multiprocessing/managers.pyR|scCs|jd|f�S(NR�(R�(RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR�s(R|R�(R$R%R�R|R�R�R�(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR)s		t
BaseListProxyt__add__t__contains__t__delitem__t__delslice__t__getitem__t__getslice__t__len__t__mul__t__reversed__t__rmul__t__setitem__t__setslice__R=tcounttextendtindextinsertRtremovetreverseR�t__imul__t	ListProxycBseZd�Zd�ZRS(cCs|jd|f�|S(NR8(R�(RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyt__iadd__scCs|jd|f�|S(NR=(R�(RR�((s0/usr/lib64/python2.7/multiprocessing/managers.pyR= s(R$R%R?R=(((s0/usr/lib64/python2.7/multiprocessing/managers.pyR>s	t	DictProxyRR�R�R|thas_keytpopitemt
setdefaultR
tIteratort
ArrayProxyt	PoolProxytapplytapply_asyncRmtimaptimap_unorderedR�tmapt	map_asyncR�tAsyncResultcBseZdZRS(s(
    Subclass of `BaseManager` which supports a number of shared object types.

    The types registered are those intended for the synchronization
    of threads, plus `dict`, `list` and `Namespace`.

    The `multiprocessing.Manager()` function creates started instances of
    this class.
    (R$R%R&(((s0/usr/lib64/python2.7/multiprocessing/managers.pyRCs	tQueuet
JoinableQueuetEventtLockR[t	SemaphoretBoundedSemaphoret	ConditionRR�R�RR�R�(Ut__all__tosRtweakrefRZRRNR�RtmultiprocessingRRRRR	R
tmultiprocessing.processRtmultiprocessing.forkingRR
RRtmultiprocessing.utilRRtcPickleRtImportErrorR�RR�R@R2R;t
view_typesR&RR1R*RsR5RBRDRER�R_R`tXmlListenert	XmlClientRURR�R�RRRRWRhR�RRRRRRR R"R)R*R>R@R�RERFRRPRQR[RRRSRTR�R�R�(((s0/usr/lib64/python2.7/multiprocessing/managers.pyt<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 *