3 `i@sy ddlZWnek r$dZYnXddlZddlZddlmZmZddlZddlZddl Z ddl Z y ddl Z Wnek rdZ YnXd ddZ ddZ Gdd d e jZed krejdS) N)PopenPIPETc Cs|d}d}y t|jtd}|jd}Wntk r<YnX|r\|dkrV|jd}q`|}ng}|rp|jd}ng}||fS)N)stdoutrT )rsplitr communicate Exception)CommandnewlinesZOutputErrorprocZStdoutZStderrrF/usr/local/lib/python3.6/site-packages/nixstatsagent/plugins/system.py systemCommands   rcCsi}i|d<i|d<tdkr |SxtjD]}tj|}tj|krr||dkrZg|d|<|d|j|tjtj|kr*||dkrg|d|<|d|j|tjq*W|S)Nv4Zv6) netifacesZ interfacesZ ifaddressesAF_INETappendAF_INET6)Zip_listZ interfacelinkrrr ip_addresses+s        rc@seZdZdZddZdS)PluginsystemcGsi}i}tjjdrtd}|rx|D]}|jr&d|jdjddjkrj|jdjddj|d<d|jdjddjkr|jdjddj|d<d |jdjddjkr&|jdjddj|d <q&Wnd |d<d|d <tj}t j d kst j d krNt dkr2t dj t j|d<nt dj t jdd|d<nt j dkrdt jd|d<t tdddjdd|d<nt j dkst j dkrdt j|d<t tdddjdd|d<td|d <n,t j dkrdjt jdt jd|d<|d|d<|d |d <|j|d!<d"j tt tj|d#<t j|d$<t j |d%<ttjtj|d&<t|d'<|S)(Nz /proc/cpuinfoz model namer:rZbrandZ Processor processorcountz Unknown CPUlinuxZlinux2 osT)full_distribution_namedarwinz Mac OS %szsysctl machdep.cpu.brand_stringFz: Z freebsd10Z freebsd11z FreeBSD %szsysctl hw.modelzsysctl hw.ncpuwin32z{} {}cpuZcoresZmemory.psutilpython_versionplatformZuptimer)r pathisfileopenstriprstriprr'Zvirtual_memorysysr)distrostrjoinlinux_distributionmac_verrreleaseformatunametotalmap version_infoversioninttimeZ boot_timer)selfZunusedZ systeminfor%flineZmemrrrrunAsL  "  "         z Plugin.runN)__name__ __module__ __qualname__rArrrrr>sr__main__)T)r ImportErrorr r) subprocessrrr/r=r'Zpluginsr0rrZ BasePluginrrBexecuterrrrs&     1