/usr/share/pyshared/landscape/manager/hardwareinfo.py is in landscape-common 12.04.3-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import os
from twisted.internet.utils import getProcessOutput
from landscape.manager.plugin import ManagerPlugin
class HardwareInfo(ManagerPlugin):
"""A plugin to retrieve hardware information."""
message_type = "hardware-info"
run_interval = 60 * 60 * 24
run_immediately = True
command = "/usr/bin/lshw"
def run(self):
self.call_on_accepted(self.message_type, self.send_message)
return self.registry.broker.call_if_accepted(
self.message_type, self.send_message)
def send_message(self):
result = getProcessOutput(
self.command, args=["-xml", "-quiet"], env=os.environ, path=None)
return result.addCallback(self._got_output)
def _got_output(self, output):
message = {"type": self.message_type, "data": output}
return self.registry.broker.send_message(message)
|