B t `@sdgZddlZddlZddlZddlZddlmZddlZddlm Z m Z m Z ddlm Z ejdkrreZddlZnddlZGdddeZdS)ClientN) iteritems)get_nameserver using_pyro3 using_pyro4)Pyro)rc@steZdZdddZddZdd d Zdd d Zd d dZd!ddZd"ddZ ddZ d#ddZ d$ddZ ddZ dS)%r:PyUtilibServerNcCstdkrtd||_d|_tr*tjd|_dt t f|_ d|_ |dkrt|||d|_|jdkrxtdtdd|_d}xtd|D]z} tjjj|jd} x*| D]"\} } | |_td t|jPqW|jdk rPd } td | d || ft| || 7}qW|jdkr,td ttrDtj|j|_ nt|j|_ td| d ||j ftr||jn |jnL|dkst |dkst ||_ tr|j j!|_n |j j|_td|jdS)NzPyro or Pyro4 is not availablerz%d@%s)hostport caller_namez8Client failed to locate Pyro name server on the network!z3Client attempting to find Pyro dispatcher object...g)nszDispatcher Object URI: g$@z}Client failed to find dispatcher object from name server after %d attempts and %5.2f seconds - trying again in %5.2f seconds.z3Client could not find dispatcher object - giving upzbConnection to dispatch server established after %d attempts and %5.2f seconds - this is client: %sz&Client assigned dispatcher with URI=%s)"_pyro ImportErrortypeidrcoreZ initClientrosgetpidsocket gethostname CLIENTNAME dispatcherr RuntimeErrorprintURIxrangepyutilibZpyroutilZget_dispatchersstrtimesleep SystemExitZgetProxyForURIZProxyr _pyroRelease_releaseAssertionErrorZ_pyroUri)selfgrouprr r Znum_dispatcher_triesr rZcumulative_sleep_timeiZ dispatchersnameuriZsleep_intervalr-8/tmp/pip-unpacked-wheel-cqckmaqz/pyutilib/pyro/client.py__init__s`            zClient.__init__cCs(|jdk r$tr|jn |jdS)N)rrr%r&)r(r-r-r.closers  z Client.closeFcCs8|dk r |n|j}|r&tdt||jj|ddS)Nz(Clearing all tasks and results for type=)r)rrr!r clear_queue)r( override_typeverbose task_typer-r-r.r1ys  zClient.clear_queuecCs|xj|D]b}x\||D]P}|ddkr2|jd7_|j|d<|rtdt|ddt|dqWqW|j|dS)Nrrclientz Adding task z to dispatcher queue with type=z - in bulk)rrrr!r add_tasks)r(Ztasksr3r4taskr-r-r.r6s   *zClient.add_taskscCsr|dk r |n|j}|ddkr,|jd7_|j|d<|r^tdt|ddt|d|jj||ddS)Nrrr5z Adding task z to dispatcher queue with type=z - individually)r)rrrrr!radd_task)r(r7r2r3r4r-r-r.r8s  "zClient.add_taskTcCs$|dk r |n|j}|jj|||dS)N)rblocktimeout)rr get_result)r(r2r:r;r4r-r-r.r<szClient.get_resultcCs*|dk r |n|j}|j|||fg|S)N)rr get_results)r(r2r:r;r4r-r-r.r=szClient.get_resultscCs |jS)N)rget_results_all_queues)r(r-r-r.r>szClient.get_results_all_queuescCs |dk r |n|j}|jj|dS)N)r)rr num_tasks)r(r2r4r-r-r.r?szClient.num_taskscCs |dk r |n|j}|jj|dS)N)r)rr num_results)r(r2r4r-r-r.r@szClient.num_resultscCs |jS)N)rqueues_with_results)r(r-r-r.rAszClient.queues_with_results)r NNNr rN)NF)F)NF)NTr9)NTr9)N)N)__name__ __module__ __qualname__r/r0r1r6r8r<r=r>r?r@rAr-r-r-r.rs" L     )__all__sysrrr"sixrZpyutilib.pyro.utilrrrrrr version_inforangerqueueQueueobjectrr-r-r-r. s