import os
-import system
+from . import system
PROC_CPUINFO = "/proc/cpuinfo"
if __name__ == "__main__":
c = CPU()
- print "Vendor:", c.vendor
- print "Model:", c.model
- print "Stepping:", c.stepping
- print "Flags:", c.flags
- print "Bogomips:", c.bogomips
- print "Speed:", c.speed
- print "Family:", c.family
- print "Count:", c.count
- print "Model string:", c.model_string
+ print("Vendor:", c.vendor)
+ print("Model:", c.model)
+ print("Stepping:", c.stepping)
+ print("Flags:", c.flags)
+ print("Bogomips:", c.bogomips)
+ print("Speed:", c.speed)
+ print("Family:", c.family)
+ print("Count:", c.count)
+ print("Model string:", c.model_string)
###############################################################################
import _fireinfo
-import system
+from . import system
class Hypervisor(object):
def __init__(self):
if __name__ == "__main__":
h = Hypervisor()
- print "Vendor:", h.vendor
- print "Virtual:", h.virtual
+ print("Vendor:", h.vendor)
+ print("Virtual:", h.virtual)
if __name__ == "__main__":
n = Network()
- print "has_green", n.has_green()
- print "has_red", n.has_red()
- print "has_blue", n.has_blue()
- print "has_orange", n.has_orange()
+ print("has_green", n.has_green())
+ print("has_red", n.has_red())
+ print("has_blue", n.has_blue())
+ print("has_orange", n.has_orange())
import _fireinfo
-import bios
-import cpu
-import device
-import hypervisor
-import network
+from . import bios
+from . import cpu
+from . import device
+from . import hypervisor
+from . import network
PROFILE_VERSION = 0
except IOError:
pass
-class System(object):
- __metaclass__ = Singleton
-
+class System(object, metaclass=Singleton):
def __init__(self):
self.bios = bios.BIOS(self)
if s is None:
return
- return filter(lambda x: x in string.printable, s)
+ return [x for x in s if x in string.printable]
@property
def vendor(self):
ret = read_from_file("/proc/device-tree/model")
if ret:
# replace the NULL byte with which the DT string ends
- ret = ret.replace(u"\u0000", "")
+ ret = ret.replace("\u0000", "")
# Fall back to read /proc/cpuinfo
if not ret:
if __name__ == "__main__":
s=System()
- print s.arch
- print s.language
- print s.release
- print s.bios_vendor
- print s.memory
- print s.kernel
- print s.root_disk
- print s.root_size
- print "------------\n", s.devices, "\n------------\n"
- print json.dumps(s.profile(), sort_keys=True, indent=4)
+ print(s.arch)
+ print(s.language)
+ print(s.release)
+ print(s.bios_vendor)
+ print(s.memory)
+ print(s.kernel)
+ print(s.root_disk)
+ print(s.root_size)
+ print("------------\n", s.devices, "\n------------\n")
+ print(json.dumps(s.profile(), sort_keys=True, indent=4))
import logging.handlers
import os
import sys
-import urllib
-import urllib2
+import urllib.request, urllib.parse, urllib.error
+import urllib.request, urllib.error, urllib.parse
import fireinfo
for line in json.dumps(profile, sort_keys=True, indent=4).splitlines():
logging.debug(line)
- request = urllib2.Request(PROFILE_URL % profile,
- data = urllib.urlencode({"profile" : json.dumps(profile)}),
+ request = urllib.request.Request(PROFILE_URL % profile,
+ data = urllib.parse.urlencode({"profile" : json.dumps(profile)}),
)
request.add_header("User-Agent", "fireinfo/%s" % fireinfo.__version__)
if proxy["user"] and proxy["pass"]:
prx_auth_string = "http://%s:%s@%s/" % (proxy["user"], proxy["pass"], proxy["host"])
- proxy_handler = urllib2.ProxyHandler({'http': prx_auth_string, 'https': prx_auth_string})
- auth = urllib2.HTTPBasicAuthHandler()
- opener = urllib2.build_opener(proxy_handler, auth, urllib2.HTTPHandler)
- urllib2.install_opener(opener)
+ proxy_handler = urllib.request.ProxyHandler({'http': prx_auth_string, 'https': prx_auth_string})
+ auth = urllib.request.HTTPBasicAuthHandler()
+ opener = urllib.request.build_opener(proxy_handler, auth, urllib.request.HTTPHandler)
+ urllib.request.install_opener(opener)
else:
request.set_proxy(proxy["host"], "http")
request.set_proxy(proxy["host"], "https")
try:
- urllib2.urlopen(request, timeout=60)
- except (urllib2.HTTPError, urllib2.URLError), e:
+ urllib.request.urlopen(request, timeout=60)
+ except (urllib.error.HTTPError, urllib.error.URLError) as e:
reason = "Unknown reason"
- if isinstance(e, urllib2.HTTPError):
+ if isinstance(e, urllib.error.HTTPError):
reason = "%s" % e
- elif isinstance(e, urllib2.URLError):
+ elif isinstance(e, urllib.error.URLError):
reason = e.reason
logging.error("Profile was not sent propertly: %s" % reason)
# it contains no information and may confuse people.
del profile["private_id"]
- print json.dumps(profile, sort_keys=True, indent=4)
+ print(json.dumps(profile, sort_keys=True, indent=4))
return 0
if "--secret-id" in sys.argv:
- print system.secret_id
+ print(system.secret_id)
return 0
if "--hardware-string" in sys.argv:
- print system._unique_id
+ print(system._unique_id)
return 0
if "--public-id" in sys.argv:
- print system.public_id
+ print(system.public_id)
return 0
if not os.path.exists(ENABLED_FILE):
try:
send_profile(profile)
- except urllib2.URLError:
+ except urllib.error.URLError:
return 1
return 0