From: Michael Tremer Date: Sun, 21 Nov 2010 18:45:38 +0000 (+0100) Subject: Remove windows line endings. X-Git-Tag: v0.2~13^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b45f0e9893b0949c1a94de29c1ab655facdda9e3;p=oddments%2Ffireinfo.git Remove windows line endings. --- diff --git a/fireinfo/device.py b/fireinfo/device.py index 9724f6d..8d48017 100644 --- a/fireinfo/device.py +++ b/fireinfo/device.py @@ -1,57 +1,57 @@ -import os -import string - - -class Device(object): - def __init__(self, path): - self.path=path - self._uevent={} - with open(os.path.join(path, "uevent")) as f: - for line in f.readlines(): - key, val = line.split("=") - self._uevent[key]=val.rstrip().lower() - - @property - def driver(self): - return self._uevent.get("DRIVER", None) - - -class PCIDevice(Device): - subsystem = "pci" - - @property - def model(self): - return self._uevent['PCI_ID'].split(":")[1] - - @property - def vendor(self): - return self._uevent['PCI_ID'].split(":")[0] - - @property - def deviceclass(self): - return self._uevent['PCI_CLASS'] - - -class USBDevice(Device): - subsystem = "usb" - - def pad(self, s): - while len(s) < 4: - s = "0"+s - return s - - - @property - def vendor(self): - return self.pad(self._uevent['PRODUCT'].split("/")[0]) - - @property - def model(self): - return self.pad(self._uevent['PRODUCT'].split("/")[1]) - - @property - def deviceclass(self): - return self._uevent.get("INTERFACE", None) - - - +import os +import string + + +class Device(object): + def __init__(self, path): + self.path=path + self._uevent={} + with open(os.path.join(path, "uevent")) as f: + for line in f.readlines(): + key, val = line.split("=") + self._uevent[key]=val.rstrip().lower() + + @property + def driver(self): + return self._uevent.get("DRIVER", None) + + +class PCIDevice(Device): + subsystem = "pci" + + @property + def model(self): + return self._uevent['PCI_ID'].split(":")[1] + + @property + def vendor(self): + return self._uevent['PCI_ID'].split(":")[0] + + @property + def deviceclass(self): + return self._uevent['PCI_CLASS'] + + +class USBDevice(Device): + subsystem = "usb" + + def pad(self, s): + while len(s) < 4: + s = "0"+s + return s + + + @property + def vendor(self): + return self.pad(self._uevent['PRODUCT'].split("/")[0]) + + @property + def model(self): + return self.pad(self._uevent['PRODUCT'].split("/")[1]) + + @property + def deviceclass(self): + return self._uevent.get("INTERFACE", None) + + + diff --git a/fireinfo/system.py b/fireinfo/system.py index 724b328..6a19d98 100644 --- a/fireinfo/system.py +++ b/fireinfo/system.py @@ -1,140 +1,140 @@ -#!/usr/bin/python - - -import json -import os -import string - -import cpu -import device - -class System(object): - - def __init__(self): - # find all devices - self.devices = [] - self.scan() - self.cpu = cpu.CPU() - - def profile(self): - p = { - "public_id" : self.public_id, - "private_id" : self.private_id, - - "arch" : self.arch, - "language" : self.language, - "release" : self.release, - "memory" : self.memory, - "kernel" : self.kernel, - "root_size" : self.root_size, - "devices" : [], - - } - - for device in self.devices: - p["devices"].append({ - "subsystem" : device.subsystem.lower(), - "vendor" : device.vendor.lower(), - "model" : device.model.lower(), - "deviceclass" : device.deviceclass - }) - - p["cpu"] = { - "vendor" : self.cpu.vendor, - "model" : self.cpu.model, - "stepping" : self.cpu.stepping, - "flags" : self.cpu.flags, - "bogomips" : self.cpu.bogomips, - "speed" : self.cpu.speed, - "modes" : self.cpu.modes, - "hypervisor" : self.cpu.hypervisor, - "virtype" : self.cpu.virtype, - "family" : self.cpu.family, - "count" : self.cpu.count - } - - return json.dumps(p) - - - @property - def arch(self): - return os.uname()[4] - - @property - def public_id(self): - return "0"*40 - - @property - def private_id(self): - return "1"*40 - - @property - def language(self): - with open("/var/ipfire/main/settings", "r") as f: - for line in f.readlines(): - key, val = line.split("=", 1) - if key=="LANGUAGE": - return val.strip() - - @property - def release(self): - with open("/etc/system-release", "r") as f: - return f.read().strip() - - @property - def memory(self): - with open("/proc/meminfo", "r") as f: - firstline = f.readline().strip() - return firstline.split()[1] - - @property - def kernel(self): - return os.uname()[2] - - @property - def root_disk(self): - with open("/etc/mtab", "r") as f: - dev, mountpoint, rest = f.readline().split(" ",2) - if mountpoint == "/": - dev = dev[5:] - # cut off all digits at end of string - while dev[-1] in string.digits: - dev = dev[:-1] - return dev - - @property - def root_size(self): - path="/sys/block/%s/size" %self.root_disk - if not os.path.exists(path): - return - with open(path, "r") as f: - return int(f.readline())*512/1024 - - def scan(self): - toscan = (("/sys/bus/pci/devices", device.PCIDevice), - ("/sys/bus/usb/devices", device.USBDevice)) - for path, cls in toscan: - dirlist = os.listdir(path) - for dir in dirlist: - self.devices.append(cls(os.path.join(path, dir))) - - - - - -if __name__ == "__main__": - s=System() - print s.arch - print s.language - print s.release - print s.memory - print s.kernel - print s.root_disk - print s.root_size - print "------------\n", s.devices, "\n------------\n" - print s.profile() - - import urllib2 - import urllib - r = urllib2.Request("http://192.168.10.101:9001/send/%s" %s.public_id, data = urllib.urlencode({"profile" : s.profile()})) +#!/usr/bin/python + + +import json +import os +import string + +import cpu +import device + +class System(object): + + def __init__(self): + # find all devices + self.devices = [] + self.scan() + self.cpu = cpu.CPU() + + def profile(self): + p = { + "public_id" : self.public_id, + "private_id" : self.private_id, + + "arch" : self.arch, + "language" : self.language, + "release" : self.release, + "memory" : self.memory, + "kernel" : self.kernel, + "root_size" : self.root_size, + "devices" : [], + + } + + for device in self.devices: + p["devices"].append({ + "subsystem" : device.subsystem.lower(), + "vendor" : device.vendor.lower(), + "model" : device.model.lower(), + "deviceclass" : device.deviceclass + }) + + p["cpu"] = { + "vendor" : self.cpu.vendor, + "model" : self.cpu.model, + "stepping" : self.cpu.stepping, + "flags" : self.cpu.flags, + "bogomips" : self.cpu.bogomips, + "speed" : self.cpu.speed, + "modes" : self.cpu.modes, + "hypervisor" : self.cpu.hypervisor, + "virtype" : self.cpu.virtype, + "family" : self.cpu.family, + "count" : self.cpu.count + } + + return json.dumps(p) + + + @property + def arch(self): + return os.uname()[4] + + @property + def public_id(self): + return "0"*40 + + @property + def private_id(self): + return "1"*40 + + @property + def language(self): + with open("/var/ipfire/main/settings", "r") as f: + for line in f.readlines(): + key, val = line.split("=", 1) + if key=="LANGUAGE": + return val.strip() + + @property + def release(self): + with open("/etc/system-release", "r") as f: + return f.read().strip() + + @property + def memory(self): + with open("/proc/meminfo", "r") as f: + firstline = f.readline().strip() + return firstline.split()[1] + + @property + def kernel(self): + return os.uname()[2] + + @property + def root_disk(self): + with open("/etc/mtab", "r") as f: + dev, mountpoint, rest = f.readline().split(" ",2) + if mountpoint == "/": + dev = dev[5:] + # cut off all digits at end of string + while dev[-1] in string.digits: + dev = dev[:-1] + return dev + + @property + def root_size(self): + path="/sys/block/%s/size" %self.root_disk + if not os.path.exists(path): + return + with open(path, "r") as f: + return int(f.readline())*512/1024 + + def scan(self): + toscan = (("/sys/bus/pci/devices", device.PCIDevice), + ("/sys/bus/usb/devices", device.USBDevice)) + for path, cls in toscan: + dirlist = os.listdir(path) + for dir in dirlist: + self.devices.append(cls(os.path.join(path, dir))) + + + + + +if __name__ == "__main__": + s=System() + print s.arch + print s.language + print s.release + print s.memory + print s.kernel + print s.root_disk + print s.root_size + print "------------\n", s.devices, "\n------------\n" + print s.profile() + + import urllib2 + import urllib + r = urllib2.Request("http://192.168.10.101:9001/send/%s" %s.public_id, data = urllib.urlencode({"profile" : s.profile()})) urllib2.urlopen(r) \ No newline at end of file