[PATCH skeleton v2 1/3] Deprecate Openbmc.py

OpenBMC Patches openbmc-patches at stwcx.xyz
Wed May 18 11:00:54 AEST 2016


From: Brad Bishop <bradleyb at fuzziesquirrel.com>

The pyphosphor package provides equivalent function
so use that and drop the duplicated code.

Signed-off-by: Brad Bishop <bradleyb at fuzziesquirrel.com>
---
 bin/Openbmc.py          | 146 ------------------------------------------------
 bin/PropertyCacher.py   |   1 -
 bin/Sensors.py          |  11 ++--
 bin/bmc_update.py       |  10 ++--
 bin/chassis_control.py  |  11 ++--
 bin/download_manager.py |   5 +-
 bin/fan_control.py      |  10 ++--
 bin/hwmon.py            |   4 +-
 bin/inventory_items.py  |  14 ++---
 bin/sensor_manager2.py  |  10 ++--
 bin/system_manager.py   |  14 ++---
 11 files changed, 44 insertions(+), 192 deletions(-)
 delete mode 100755 bin/Openbmc.py

diff --git a/bin/Openbmc.py b/bin/Openbmc.py
deleted file mode 100755
index b87fec8..0000000
--- a/bin/Openbmc.py
+++ /dev/null
@@ -1,146 +0,0 @@
-import dbus
-
-BUS_PREFIX = 'org.openbmc'
-OBJ_PREFIX = "/org/openbmc"
-GPIO_DEV = '/sys/class/gpio'
-BUS = "system"
-
-def getSystemName():
-	#use filename as system name, strip off path and ext
-	parts = __file__.replace('.pyc','').replace('.py','').split('/')
-	return parts[len(parts)-1]
-
-def getDBus():
-	bus = None
-	if (BUS == "session"):
-		bus = dbus.SessionBus()
-	else:
-		bus = dbus.SystemBus()
-	return bus
-
-class DbusProperties(dbus.service.Object):
-	def __init__(self):
-		dbus.service.Object.__init__(self)
-		self.properties = {}
-		self.object_path = ""
-
-	@dbus.service.method(dbus.PROPERTIES_IFACE,
-		in_signature='ss', out_signature='v')
-	def Get(self, interface_name, property_name):
-		d = self.GetAll(interface_name)
-		try:
-			v = d[property_name]
-			return v
-		except:
- 			raise dbus.exceptions.DBusException(
-				"org.freedesktop.UnknownPropery: "+property_name)
-
-	@dbus.service.method(dbus.PROPERTIES_IFACE,
-		in_signature='s', out_signature='a{sv}')
-	def GetAll(self, interface_name):
-		try:
-			d = self.properties[interface_name]
-			return d
- 		except:
- 			raise dbus.exceptions.DBusException(
-				"org.freedesktop.UnknownInterface: "+interface_name)
-
-	@dbus.service.method(dbus.PROPERTIES_IFACE,
-		in_signature='ssv')
-	def Set(self, interface_name, property_name, new_value):
-		if (self.properties.has_key(interface_name) == False):
-			self.properties[interface_name] = {}
-		try:
-			old_value = self.properties[interface_name][property_name] 
-			if (old_value != new_value):
-				self.properties[interface_name][property_name] = new_value
-				self.PropertiesChanged(interface_name,{ property_name: new_value }, [])
-				
-		except:
-        		self.properties[interface_name][property_name] = new_value
-			self.PropertiesChanged(interface_name,{ property_name: new_value }, [])
-
-	@dbus.service.method("org.openbmc.Object.Properties",
-		in_signature='sa{sv}')
-	def SetMultiple(self, interface_name, prop_dict):
-		if (self.properties.has_key(interface_name) == False):
-			self.properties[interface_name] = {}
-
-		value_changed  = False
-		for property_name in prop_dict:
-			new_value = prop_dict[property_name]
-			try:
-				old_value = self.properties[interface_name][property_name] 
-				if (old_value != new_value):
-					self.properties[interface_name][property_name] = new_value
-					value_changed = True
-				
-			except:
-        			self.properties[interface_name][property_name] = new_value
-				value_changed = True
-		if (value_changed == True):
-			self.PropertiesChanged(interface_name, prop_dict, [])
-	
-	@dbus.service.signal(dbus.PROPERTIES_IFACE,
-		signature='sa{sv}as')
-	def PropertiesChanged(self, interface_name, changed_properties,
-		invalidated_properties):
-		pass
-
-class DbusObjectManager(dbus.service.Object):
-	def __init__(self):
-		dbus.service.Object.__init__(self)
-		self.objects = {}
-
-	def add(self,object_path,obj):
-		self.objects[object_path] = obj
-		self.InterfacesAdded(object_path,obj.properties)
-
-	def remove(self,object_path):
-		obj = self.objects.pop(object_path,None)
-		obj.remove_from_connection()
-		self.InterfacesRemoved(object_path,obj.properties.keys())
-
-	def get(self,object_path):
-		return self.objects[object_path]
-
-	@dbus.service.method("org.freedesktop.DBus.ObjectManager",
-		in_signature='', out_signature='a{oa{sa{sv}}}')
-	def GetManagedObjects(self):
-		data = {}
-		for objpath in self.objects.keys():
-			data[objpath] = self.objects[objpath].properties
-		return data
-
-	@dbus.service.signal("org.freedesktop.DBus.ObjectManager",
-		signature='oa{sa{sv}}')
-	def InterfacesAdded(self,object_path,properties):
-		self.ObjectAdded(object_path,"")
-
-	@dbus.service.signal("org.freedesktop.DBus.ObjectManager",
-		signature='oas')
-	def InterfacesRemoved(self,object_path,interfaces):
-		pass
-
-	## Legacy support, need to eventually refactor out
-	@dbus.service.signal("org.openbmc.Object.ObjectMapper",
-		signature='ss')
-	def ObjectAdded(self,object_path,interface_name):
-		pass
-
-	## flattens interfaces
-	@dbus.service.method('org.openbmc.Object.Enumerate',
-		in_signature='', out_signature='a{sa{sv}}')
-	def enumerate(self):
-		data = {}
-		for objpath in self.objects.keys():
-			props = self.objects[objpath].properties
-			data[objpath] = { }
-			for iface in props.keys():
-				data[objpath].update(props[iface])
-				
-		return data
-		
-
-
-
diff --git a/bin/PropertyCacher.py b/bin/PropertyCacher.py
index b10edcb..dfbb0b9 100644
--- a/bin/PropertyCacher.py
+++ b/bin/PropertyCacher.py
@@ -1,7 +1,6 @@
 import os
 import cPickle
 import json
-import Openbmc
 
 CACHE_PATH = '/var/cache/obmc/'
 
diff --git a/bin/Sensors.py b/bin/Sensors.py
index ecdac91..7c58c97 100755
--- a/bin/Sensors.py
+++ b/bin/Sensors.py
@@ -8,13 +8,12 @@ import dbus
 import dbus.service
 import dbus.mainloop.glib
 import os
-import Openbmc
+from obmc.dbuslib.bindings import DbusProperties
 
 ## Abstract class, must subclass
-class SensorValue(Openbmc.DbusProperties):
+class SensorValue(DbusProperties):
 	IFACE_NAME = 'org.openbmc.SensorValue'
 	def __init__(self,bus,name):
-		#Openbmc.DbusProperties.__init__(self)
 		self.Set(SensorValue.IFACE_NAME,'units',"")
 		self.Set(SensorValue.IFACE_NAME,'error',False)
 		
@@ -28,7 +27,7 @@ class SensorValue(Openbmc.DbusProperties):
 	def getValue(self):
 		return self.Get(SensorValue.IFACE_NAME,'value')
 
-class SensorThresholds(Openbmc.DbusProperties):
+class SensorThresholds(DbusProperties):
 	IFACE_NAME = 'org.openbmc.SensorThresholds'
 	def __init__(self,bus,name):
 		self.Set(SensorThresholds.IFACE_NAME,'thresholds_enabled',False)
@@ -85,14 +84,14 @@ class SensorThresholds(Openbmc.DbusProperties):
 
 class VirtualSensor(SensorValue):
 	def __init__(self,bus,name):
-		Openbmc.DbusProperties.__init__(self)
+		DbusProperties.__init__(self)
 		SensorValue.__init__(self,bus,name)
 		dbus.service.Object.__init__(self,bus,name)
 
 class HwmonSensor(SensorValue,SensorThresholds):
 	IFACE_NAME = 'org.openbmc.HwmonSensor'
 	def __init__(self,bus,name):
-		Openbmc.DbusProperties.__init__(self)
+		DbusProperties.__init__(self)
 		SensorValue.__init__(self,bus,name)
 		SensorThresholds.__init__(self,bus,name)
 		self.Set(HwmonSensor.IFACE_NAME,'scale',1)
diff --git a/bin/bmc_update.py b/bin/bmc_update.py
index a3032cf..0555fd3 100755
--- a/bin/bmc_update.py
+++ b/bin/bmc_update.py
@@ -4,10 +4,10 @@ import gobject
 import dbus
 import dbus.service
 import dbus.mainloop.glib
-import Openbmc
 import shutil
 import tarfile
 import os
+from obmc.dbuslib.bindings import get_dbus, DbusProperties, DbusObjectManager
 
 DBUS_NAME = 'org.openbmc.control.BmcFlash'
 OBJ_NAME = '/org/openbmc/control/flash/bmc'
@@ -23,11 +23,11 @@ def doExtract(members,files):
             yield tarinfo
 
 
-class BmcFlashControl(Openbmc.DbusProperties,Openbmc.DbusObjectManager):
+class BmcFlashControl(DbusProperties,DbusObjectManager):
 	def __init__(self,bus,name):
 		self.dbus_objects = { }
-		Openbmc.DbusProperties.__init__(self)
-		Openbmc.DbusObjectManager.__init__(self)
+		DbusProperties.__init__(self)
+		DbusObjectManager.__init__(self)
 		dbus.service.Object.__init__(self,bus,name)
 		
 		self.Set(DBUS_NAME,"status","Idle")
@@ -122,7 +122,7 @@ class BmcFlashControl(Openbmc.DbusProperties,Openbmc.DbusObjectManager):
 if __name__ == '__main__':
     dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
 
-    bus = Openbmc.getDBus()
+    bus = get_dbus()
     name = dbus.service.BusName(DBUS_NAME, bus)
     obj = BmcFlashControl(bus, OBJ_NAME)
     mainloop = gobject.MainLoop()
diff --git a/bin/chassis_control.py b/bin/chassis_control.py
index 334fbbf..376e0e9 100755
--- a/bin/chassis_control.py
+++ b/bin/chassis_control.py
@@ -2,12 +2,11 @@
 
 import sys
 import uuid
-#from gi.repository import GObject
 import gobject
 import dbus
 import dbus.service
 import dbus.mainloop.glib
-import Openbmc
+from obmc.dbuslib.bindings import get_dbus, DbusProperties, DbusObjectManager
 
 DBUS_NAME = 'org.openbmc.control.Chassis'
 OBJ_NAME = '/org/openbmc/control/chassis0'
@@ -20,7 +19,7 @@ POWER_ON = 1
 
 BOOTED = 100
 
-class ChassisControlObject(Openbmc.DbusProperties,Openbmc.DbusObjectManager):
+class ChassisControlObject(DbusProperties,DbusObjectManager):
 	def getUuid(self):
 		uuid = "";
 		try:
@@ -37,8 +36,8 @@ class ChassisControlObject(Openbmc.DbusProperties,Openbmc.DbusObjectManager):
  
 	def __init__(self,bus,name):
 		self.dbus_objects = { }
-		Openbmc.DbusProperties.__init__(self)
-		Openbmc.DbusObjectManager.__init__(self)
+		DbusProperties.__init__(self)
+		DbusObjectManager.__init__(self)
 		dbus.service.Object.__init__(self,bus,name)
 		## load utilized objects
 		self.dbus_objects = {
@@ -215,7 +214,7 @@ class ChassisControlObject(Openbmc.DbusProperties,Openbmc.DbusObjectManager):
 if __name__ == '__main__':
     dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
 
-    bus = Openbmc.getDBus()
+    bus = get_dbus()
     name = dbus.service.BusName(DBUS_NAME, bus)
     obj = ChassisControlObject(bus, OBJ_NAME)
     mainloop = gobject.MainLoop()
diff --git a/bin/download_manager.py b/bin/download_manager.py
index 36005d5..ba502da 100755
--- a/bin/download_manager.py
+++ b/bin/download_manager.py
@@ -6,7 +6,8 @@ import dbus
 import dbus.service
 import dbus.mainloop.glib
 import subprocess
-import Openbmc
+from obmc.dbuslib.bindings import get_dbus
+
 if (len(sys.argv) < 2):
 	print "Usage:  download_manager.py [system name]"
 	exit(1)
@@ -73,7 +74,7 @@ class DownloadManagerObject(dbus.service.Object):
 
 if __name__ == '__main__':
     dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
-    bus = Openbmc.getDBus()
+    bus = get_dbus()
     name = dbus.service.BusName(DBUS_NAME, bus)
     obj = DownloadManagerObject(bus, OBJ_NAME)
     mainloop = gobject.MainLoop()
diff --git a/bin/fan_control.py b/bin/fan_control.py
index bb070e5..cea2215 100755
--- a/bin/fan_control.py
+++ b/bin/fan_control.py
@@ -6,7 +6,7 @@ import gobject
 import dbus
 import dbus.service
 import dbus.mainloop.glib
-import Openbmc
+from obmc.dbuslib.bindings import get_dbus, DbusProperties, DbusObjectManager
 
 DBUS_NAME = 'org.openbmc.control.Fans'
 OBJ_PATH = '/org/openbmc/control/fans'
@@ -23,10 +23,10 @@ FAN_OBJS = [
 ]
 FAN_IFACE = 'org.openbmc.SensorValue'
 
-class FanControl(Openbmc.DbusProperties,Openbmc.DbusObjectManager):
+class FanControl(DbusProperties,DbusObjectManager):
 	def __init__(self,bus,name):
-		Openbmc.DbusProperties.__init__(self)
-		Openbmc.DbusObjectManager.__init__(self)
+		DbusProperties.__init__(self)
+		DbusObjectManager.__init__(self)
 		dbus.service.Object.__init__(self,bus,name)
 		self.Set(IFACE_NAME,"floor",250)
 		self.Set(IFACE_NAME,"ceiling",255)
@@ -49,7 +49,7 @@ class FanControl(Openbmc.DbusProperties,Openbmc.DbusObjectManager):
 if __name__ == '__main__':
 	
 	dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
-	bus = Openbmc.getDBus()
+	bus = get_dbus()
 	name = dbus.service.BusName(DBUS_NAME,bus)
 	fan_control = FanControl(bus,OBJ_PATH)
 	mainloop = gobject.MainLoop()
diff --git a/bin/hwmon.py b/bin/hwmon.py
index 08c6f06..7e1858e 100755
--- a/bin/hwmon.py
+++ b/bin/hwmon.py
@@ -7,8 +7,8 @@ import glob
 import dbus
 import dbus.service
 import dbus.mainloop.glib
-import Openbmc
 import re
+from obmc.dbuslib.bindings import get_dbus
 
 from Sensors import SensorValue as SensorValue
 from Sensors import HwmonSensor as HwmonSensor
@@ -159,7 +159,7 @@ class Hwmons():
 if __name__ == '__main__':
 	
 	dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
-	bus = Openbmc.getDBus()
+	bus = get_dbus()
 	root_sensor = Hwmons(bus)
 	mainloop = gobject.MainLoop()
 
diff --git a/bin/inventory_items.py b/bin/inventory_items.py
index e0351a8..bf7f414 100755
--- a/bin/inventory_items.py
+++ b/bin/inventory_items.py
@@ -9,29 +9,29 @@ import dbus.mainloop.glib
 import cPickle
 import json
 import PropertyCacher
+from obmc.dbuslib.bindings import get_dbus, DbusProperties, DbusObjectManager
 
 if (len(sys.argv) < 2):
 	print "Usage:  inventory_items.py [system name]"
 	exit(1)
 System = __import__(sys.argv[1])
-import Openbmc
 
 
 INTF_NAME = 'org.openbmc.InventoryItem'
 DBUS_NAME = 'org.openbmc.Inventory'
 FRUS = System.FRU_INSTANCES
 
-class Inventory(Openbmc.DbusProperties,Openbmc.DbusObjectManager):
+class Inventory(DbusProperties,DbusObjectManager):
 	def __init__(self,bus,name):
-		Openbmc.DbusProperties.__init__(self)
-		Openbmc.DbusObjectManager.__init__(self)
+		DbusProperties.__init__(self)
+		DbusObjectManager.__init__(self)
 		dbus.service.Object.__init__(self,bus,name)
 		self.InterfacesAdded(name,self.properties)
 
 
-class InventoryItem(Openbmc.DbusProperties):
+class InventoryItem(DbusProperties):
 	def __init__(self,bus,name,data):		
-		Openbmc.DbusProperties.__init__(self)
+		DbusProperties.__init__(self)
 		dbus.service.Object.__init__(self,bus,name)
 
 		self.name = name
@@ -78,7 +78,7 @@ def getVersion():
 
 if __name__ == '__main__':
     dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
-    bus = Openbmc.getDBus()
+    bus = get_dbus()
     mainloop = gobject.MainLoop()
     obj_parent = Inventory(bus, '/org/openbmc/inventory')
 
diff --git a/bin/sensor_manager2.py b/bin/sensor_manager2.py
index b5aac53..b06b9a5 100755
--- a/bin/sensor_manager2.py
+++ b/bin/sensor_manager2.py
@@ -6,17 +6,17 @@ import gobject
 import dbus
 import dbus.service
 import dbus.mainloop.glib
-import Openbmc
 import Sensors
+from obmc.dbuslib.bindings import DbusProperties, DbusObjectManager, get_dbus
 
 DBUS_NAME = 'org.openbmc.Sensors'
 OBJ_PATH = '/org/openbmc/sensors'
 
 
-class SensorManager(Openbmc.DbusProperties,Openbmc.DbusObjectManager):
+class SensorManager(DbusProperties,DbusObjectManager):
 	def __init__(self,bus,name):
-		Openbmc.DbusProperties.__init__(self)
-		Openbmc.DbusObjectManager.__init__(self)
+		DbusProperties.__init__(self)
+		DbusObjectManager.__init__(self)
 		dbus.service.Object.__init__(self,bus,name)
 		self.InterfacesAdded(name,self.properties)
 
@@ -43,7 +43,7 @@ class SensorManager(Openbmc.DbusProperties,Openbmc.DbusObjectManager):
 			
 if __name__ == '__main__':
 	dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
-	bus = Openbmc.getDBus()
+	bus = get_dbus()
 	name = dbus.service.BusName(DBUS_NAME,bus)
 	root_sensor = SensorManager(bus,OBJ_PATH)
 
diff --git a/bin/system_manager.py b/bin/system_manager.py
index e74788a..2331131 100755
--- a/bin/system_manager.py
+++ b/bin/system_manager.py
@@ -9,14 +9,14 @@ import dbus.mainloop.glib
 import os
 import time
 import PropertyCacher
-import Openbmc
+from obmc.dbuslib.bindings import DbusProperties, DbusObjectManager, get_dbus
+import obmc.enums
 
 if (len(sys.argv) < 2):
 	print "Usage:  system_manager.py [system name]"
 	exit(1)
 
 System = __import__(sys.argv[1])
-import Openbmc
 
 DBUS_NAME = 'org.openbmc.managers.System'
 OBJ_NAME = '/org/openbmc/managers/System'
@@ -27,10 +27,10 @@ INTF_ITEM = 'org.openbmc.InventoryItem'
 INTF_CONTROL = 'org.openbmc.Control'
 
 
-class SystemManager(Openbmc.DbusProperties,Openbmc.DbusObjectManager):
+class SystemManager(DbusProperties,DbusObjectManager):
 	def __init__(self,bus,obj_name):
-		Openbmc.DbusProperties.__init__(self)
-		Openbmc.DbusObjectManager.__init__(self)
+		DbusProperties.__init__(self)
+		DbusObjectManager.__init__(self)
 		dbus.service.Object.__init__(self,bus,obj_name)
 
 		bus.add_signal_receiver(self.NewObjectHandler,
@@ -218,14 +218,14 @@ class SystemManager(Openbmc.DbusProperties,Openbmc.DbusObjectManager):
 					print "ERROR: SystemManager - GPIO lookup failed for "+name
 		
 			if (gpio_num != -1):
-				r = [Openbmc.GPIO_DEV, gpio_num, gpio['direction']]
+				r = [obmc.enums.GPIO_DEV, gpio_num, gpio['direction']]
 		return r
 
 		
 
 if __name__ == '__main__':
     dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
-    bus = Openbmc.getDBus()
+    bus = get_dbus()
     name = dbus.service.BusName(DBUS_NAME,bus)
     obj = SystemManager(bus,OBJ_NAME)
     mainloop = gobject.MainLoop()
-- 
2.8.2




More information about the openbmc mailing list