ó Ãv_c@s>ddlZddlZddlZdefd„ƒYZdS(iÿÿÿÿNtProblemWatchercBs;eZdZd„Zd„Zd„Zd„Zd„ZRS(sÙ New problem signal handler attached to DBus signal Use ``auth=True`` if authentication should be attempted for new problem that doesn't belong to current user. If not set such a problem is ignored. cCs½ddl}ddl}ddlm}|jƒ|jd|ƒdtƒ}||_||_g|_ |jj |j ddddƒ}|jj |j dddd ƒ}|j ƒ|_ dS( Niÿÿÿÿ(t DBusGMainLooptmainlooptprivatet signal_nametCrashtpaths/org/freedesktop/problemss/com/redhat/abrt(tdbustgobjecttdbus.mainloop.glibRt threads_initt SystemBustTruetbustautht callbackstadd_signal_receivert_new_problem_handlertMainLooptloop(tselfRRRRR t evt_matchtevt_match_old_path((s3/usr/lib64/python2.7/site-packages/problem/watch.pyt__init__s"             cCs‰tjdƒt|ƒtjƒkrI|j rItjdj|ƒƒdStjj |tj j ƒƒ}x|j D]}||ƒqqWdS(Ns!New problem notification receiveds+Auth disabled, ignoring crash with uid: {0}( tloggingtdebugtinttostgetuidRtformattproblemttoolst problemifytproxiest get_proxyR(Rtcomptddirtuidtuuidtduphashtprobtcb((s3/usr/lib64/python2.7/site-packages/problem/watch.pyR,s "  cCs|jj|ƒdS(s{ Add callback to be called when new problem occurs. Each callback function receives ``Problem`` instance N(Rtappend(Rtfun((s3/usr/lib64/python2.7/site-packages/problem/watch.pyt add_callback7scCs|jjƒdS(s Start event listener loop N(Rtrun(R((s3/usr/lib64/python2.7/site-packages/problem/watch.pyR-@scCs|jjƒdS(s Stop event listener loop N(Rtquit(R((s3/usr/lib64/python2.7/site-packages/problem/watch.pyR.Es(t__name__t __module__t__doc__RRR,R-R.(((s3/usr/lib64/python2.7/site-packages/problem/watch.pyRs   (RRRtobjectR(((s3/usr/lib64/python2.7/site-packages/problem/watch.pyts