Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/dist-packages/landscape/monitor/
Upload File :
Current File : //usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pyc

ó
ÍÿŠTc@sœddlmZddlmZddlmZmZmZddlm	Z	ddl
mZddlm
Z
de	fd„ƒYZd	efd
„ƒYZdS(iÿÿÿÿ(t
maybeDeferred(tlog_failure(tComponentPublishertComponentConnectortremote(t
MonitorPlugin(tUserChanges(tUserProvidertUserMonitorcBs}eZdZdZdZdZdZdd„Zd„Z	d„Z
d„Zedd„ƒZ
e
Zdd	„Zdd
„ZRS(s<
    A plugin which monitors the system user databases.
    tusersitusermonitorcCs.|dkrtƒ}n||_d|_dS(N(tNoneRt	_providert
_publisher(tselftprovider((sA/usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pyt__init__s	cCs^tt|ƒj|ƒ|jd|jdƒt||jj|jj	ƒ|_
|j
jƒdS(NR	(tsuperRtregistertcall_on_acceptedt_run_detect_changesRRtregistrytreactortconfigR
tstart(RR((sA/usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pyRs
cCs&|jr"|jjƒd|_ndS(s,Stop listening for incoming AMP connections.N(R
tstopR(R((sA/usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pyR$s	
cCstt|ƒjƒ|jƒS(sReset user and group data.(RRt_resetR(R((sA/usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pyR*scCs|jjjd|j|ƒS(NR	(Rtbrokertcall_if_acceptedR(Rtoperation_id((sA/usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pytdetect_changes/scsÉddlm}|ˆjjˆjjƒ‰tˆjjdtƒr[tˆjgˆƒ}njd„}‡fd†}ˆj	ƒ}|j
|ƒ|j
|ƒ|j
ˆjˆƒ|j‡‡fd†ƒ|S(sä
        If changes are detected an C{urgent-exchange} is fired to send
        updates to the server immediately.

        @param operation_id: When present it will be included in the
            C{operation-id} field.
        iÿÿÿÿ(tRemoteUserManagerConnectortmonitor_onlycSs
|jƒS(N(tget_locked_usernames(tuser_manager((sA/usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pyR!Hscsˆjƒ|S(N(t
disconnect(tlocked_usernames(tuser_manager_connector(sA/usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pyR#Ks
csˆjgˆƒS(N(t_detect_changes(tf(RR(sA/usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pyt<lambda>Ss(tlandscape.manager.usermanagerRRRRtgetattrtFalseRR&tconnecttaddCallbackt
addErrback(RRRtresultR!R#((R%RRsA/usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pyR6s		

cs«‡fd†}d„}||j_t|j|jƒ‰ˆjƒ}|r§d|d<|rh||d<n|jjj||jdt	ƒ}|j
|ƒ|j|ƒ|SdS(Ncsˆjƒ|S(N(tsnapshot(R/(tchanges(sA/usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pytupdate_snapshotXs
cSst|dƒdS(Ns5Error occured calling send_message in _detect_changes(R(R/((sA/usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pyt	log_error\sR	ttypesoperation-idturgent(Rtlocked_usersRt_persisttcreate_diffRRtsend_messaget_session_idtTrueR-R.(RR6RR2R3tmessageR/((R1sA/usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pyR&Vs	



N(t__name__t
__module__t__doc__tpersist_nametscopetrun_intervaltnameRRRRRRRtrunRR&(((sA/usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pyRs				 tRemoteUserMonitorConnectorcBseZeZRS((R=R>Rt	component(((sA/usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pyREosN(ttwisted.internet.deferRtlandscape.lib.logRt
landscape.ampRRRtlandscape.monitor.pluginRtlandscape.user.changesRtlandscape.user.providerRRRE(((sA/usr/lib/python2.7/dist-packages/landscape/monitor/usermonitor.pyt<module>sd