%PDF- %PDF-
| Direktori : /usr/lib/python2.7/site-packages/salt/netapi/rest_cherrypy/ |
| Current File : //usr/lib/python2.7/site-packages/salt/netapi/rest_cherrypy/event_processor.pyc |
�
���^c @@ sy d d l m Z m Z m Z d d l Z d d l m Z d d l Z d d l Z e j
e � Z d e
f d � � YZ d S( i ( t absolute_importt print_functiont unicode_literalsN( t sixt SaltInfoc B@ s_ e Z d Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z
d � Z RS(
uP
Class to handle processing and publishing of "real time" Salt upates.
c C@ s | | _ i | _ i | _ d S( ub
handler is expected to be the server side end of a websocket
connection.
N( t handlert jobst minions( t selfR ( ( sM /usr/lib/python2.7/site-packages/salt/netapi/rest_cherrypy/event_processor.pyt __init__ s c C@ s� g } xT t j | j � D]@ \ } } i } | j | � | j i | d 6� | j | � q Wi | d 6} | j j t j j j
| � t � d S( u7
Publishes minions as a list of dicts.
u idu minionsN( R t iteritemsR t updatet appendR t sendt saltt utilst jsont dumpst False( R R t miniont minion_infot curr_miniont ret( ( sM /usr/lib/python2.7/site-packages/salt/netapi/rest_cherrypy/event_processor.pyt publish_minions# s
c C@ s3 i | | 6} | j j t j j j | � t � d S( u9
Publishes the data to the event stream.
N( R R
R R R R R ( R t keyt datat publish_data( ( sM /usr/lib/python2.7/site-packages/salt/netapi/rest_cherrypy/event_processor.pyt publish2 s
c C@ s� | d } | d } | j d � \ } } } } } | j j | d � sW i | j | <n | j | } | j i | d d 6� | j � d S( uO
Associate grains data with a minion and publish minion update
u tagu datau /u returnu grainsN( t splitR t gett NoneR R ( R t
event_datat tagt
event_infot _t midR ( ( sM /usr/lib/python2.7/site-packages/salt/netapi/rest_cherrypy/event_processor.pyt process_minion_update9 s
c
C@ s
| d } | d } | j d � \ } } } } } | j j | i � } | j d i � j | i � } | j i | d d 6� | j i | d d 6� | j i | d d 6� t g t j | d � D] \ } } | d ^ q� � } | r� d | d <n | j d
| j � d S( u�
Process a /ret event returned by Salt for a particular minion.
These events contain the returned results from a particular execution.
u tagu datau /u minionsu returnu retcodeu successu completeu stateu jobsN( R R t
setdefaultR t allR R
R (
R R R R! R"