Ñò K<Ì]c@€s;ddklZddklZddkZddkZddkZddkZddkZddkZddkl Z ddk l Z l Z l Z ddklZddklZddklZeZd „Zhd „Zd efd „ƒYZd efd„ƒYZdefd„ƒYZdefd„ƒYZdS(iÿÿÿÿ(twith_statement(tprint_functionN(tenviron(tImporterHelpert import_modulet shell_out(tIndependentPlugin(t_sos(tfillcC€s6d|}yt|tƒSWntj odSXdS(Nssos.policies.%s(RtPolicyt ImportErrortNone(tnamet policy_fqname((s9/usr/lib/python2.6/site-packages/sos/policies/__init__.pyt import_policys  cC€s¨d|jo|idƒSddk}t|iƒ}xI|iƒD];}x2t|ƒD]$}|iƒo|ƒ|d|io|id|i7_nd|itidƒfS(sh This function should return the filename of the archive without the extension. R3ssosreport-%s-%ss %Y%m%d%H%M%S(RHRGttimetstrftime(R((s9/usr/lib/python2.6/site-packages/sos/policies/__init__.pytget_archive_nameÈs  cC€s|p tiƒS|S(N(ttempfilet gettempdir(Rt opt_tmp_dir((s9/usr/lib/python2.6/site-packages/sos/policies/__init__.pyt get_tmp_dirÒs cC€sLt|ƒdjo1x.|D]"}t||idƒo|SqWn|dS(Nii(R.t issubclasstvalid_subclasses(Rtplugin_classestp((s9/usr/lib/python2.6/site-packages/sos/policies/__init__.pyt match_plugin×s  c€s*tg|i}t‡fd†|DƒƒS(sQ Verifies that the plugin_class should execute under this policy c3€s"x|]}tˆ|ƒVqWdS(N(R\(t.0tclass_(t plugin_class(s9/usr/lib/python2.6/site-packages/sos/policies/__init__.pys æs (RR]tany(RRcR]((Rcs9/usr/lib/python2.6/site-packages/sos/policies/__init__.pytvalidate_plugináscC€sdS(s> This function is called prior to collection. N((R((s9/usr/lib/python2.6/site-packages/sos/policies/__init__.pytpre_workéscC€sdS(sQ This function is called after the sosreport has been generated. N((R((s9/usr/lib/python2.6/site-packages/sos/policies/__init__.pyt post_workïscC€s|ii|ƒS(N(RIR0(RR,((s9/usr/lib/python2.6/site-packages/sos/policies/__init__.pyR0õscC€s_tiƒ\}}}}}}||_||_||_|iƒddj|_||_dS(NitSMP(tplatformtunametsystemRFR5R8tsmptmachine(RRktnodeR5R4Rmt processor((s9/usr/lib/python2.6/site-packages/sos/policies/__init__.pyREøs    cC€s ||_dS(N(tcommons(RRp((s9/usr/lib/python2.6/site-packages/sos/policies/__init__.pyt set_commonsscC€s|tds&        PÊ