3 fY@sVddlZddlZddlmZdZdZGdddZddZd d ZGd d d e Z dS) N)clientz:return:Listc@seZdZddZdS)SimpleNamespacecKs|jj|dS)N)__dict__update)selfkwargsr G/Users/olari/OneDrive/sandbox/awsBlog2/lambda/kubernetes/watch/watch.py__init__ szSimpleNamespace.__init__N)__name__ __module__ __qualname__r r r r r rsrcCs:x4tj|jD]"}|jtr|ttdjSqWdS)N)pydocgetdoc splitlines startswithPYDOC_RETURN_LABELlenstrip)funcliner r r _find_return_type$s rccsd}xv|jddD]f}t|tr*|jd}||}|jd}|jds\|d}|dd}nd}x|D]}|rf|VqfWqWdS) NrF)decode_contentutf8 r) read_chunked isinstancebytesdecodesplitendswith)respprevseglinesrr r r iter_resp_lines+s     r)c@s6eZdZd ddZddZddZdd Zd d ZdS) WatchNcCs||_d|_tj|_dS)NF)_raw_return_type_stopr ApiClient _api_client)r return_typer r r r >szWatch.__init__cCs d|_dS)NT)r,)rr r r stopCsz Watch.stopcCs4|jr |jSt|}|jtr0|dtt S|S)N)r+rr$TYPE_LIST_SUFFIXr)rrr/r r r get_return_typeFs  zWatch.get_return_typecCsDtj|}|d|d<|r@ttj|dd}|jj|||d<|S)NobjectZ raw_object)data)jsonloadsrdumpsr. deserialize)rr4r/Zjsobjr r r unmarshal_eventNs   zWatch.unmarshal_eventc osh|j|}d|d<d|d<|||}z,x&t|D]}|j||V|jr0Pq0WWd|j|jXdS)aWatch an API resource and stream the result back via a generator. :param func: The API function pointer. Any parameter to the function can be passed after this parameter. :return: Event object with these keys: 'type': The type of event such as "ADDED", "DELETED", etc. 'raw_object': a dict representing the watched object. 'object': A model representation of raw_object. The name of model will be determined based on the func's doc string. If it cannot be determined, 'object' value will be the same as 'raw_object'. Example: v1 = kubernetes.client.CoreV1Api() watch = kubernetes.watch.Watch() for e in watch.stream(v1.list_namespace, resource_version=1127): type = e['type'] object = e['object'] # object is one of type return_type raw_object = e['raw_object'] # raw_object is a dict ... if should_stop: watch.stop() TwatchF_preload_contentN)r2r)r:r,close release_conn)rrargsrr/r%rr r r streamVs   z Watch.stream)N)r r rr r0r2r:r@r r r r r*<s  r*) r5r kubernetesrrr1rrr)r3r*r r r r s