[Erp5-report] r33928 luke - /erp5/trunk/utils/erp5.timmy/src/erp5/timmy/timmy.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Mar 19 19:36:38 CET 2010


Author: luke
Date: Fri Mar 19 19:36:38 2010
New Revision: 33928

URL: http://svn.erp5.org?rev=33928&view=rev
Log:
 - use dummy plugin for not supported types

Modified:
    erp5/trunk/utils/erp5.timmy/src/erp5/timmy/timmy.py

Modified: erp5/trunk/utils/erp5.timmy/src/erp5/timmy/timmy.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.timmy/src/erp5/timmy/timmy.py?rev=33928&r1=33927&r2=33928&view=diff
==============================================================================
--- erp5/trunk/utils/erp5.timmy/src/erp5/timmy/timmy.py [utf8] (original)
+++ erp5/trunk/utils/erp5.timmy/src/erp5/timmy/timmy.py [utf8] Fri Mar 19 19:36:38 2010
@@ -205,11 +205,24 @@
 
 class Partition(object):
   # generic
+  def notImplemented(self):
+    """Simple not implemented wrapper"""
+    return 'reportError', 'NotImplemented'
+
   def __init__(self, partition_id, item_id, partition_type):
     self.item_id = item_id
     self.partition_id = partition_id
     self.partition_type = partition_type.replace(' ', '')
-    getattr(self, '%s' % self.partition_type)(item_id)
+    plugin_init = getattr(self, '%s' % self.partition_type, None)
+    if plugin_init is None:
+      # plugin not supported, create dummy method doing nothing
+      logging.warning('Plugin for %s not found, generating dummy one' %
+          self.partition_type)
+      for method in 'install', 'start', 'stop', 'getPartitionState':
+        setattr(self, '%s_%s' % (method, self.partition_type),
+            self.notImplemented)
+    else:
+      plugin_init(item_id)
 
   def install(self):
     return getattr(self, 'install_%s' % self.partition_type)()
@@ -224,22 +237,6 @@
     return getattr(self, 'getPartitionState_%s' % self.partition_type)()
 
   # Specific code - candidates for plugins
-  # Mysql Database
-  def MysqlDatabase(self, item_id):
-    pass
-
-  def install_MysqlDatabase(self):
-    return self.getPartitionState_MysqlDatabase()
-
-  def start_MysqlDatabase(self):
-    return self.getPartitionState_MysqlDatabase()
-
-  def stop_MysqlDatabase(self):
-    return self.getPartitionState_MysqlDatabase()
-
-  def getPartitionState_MysqlDatabase(self):
-    return 'reportError', 'NotImplemented'
-
   # Mysql Server
   def MysqlServer(self, item_id):
     self.control_script = SUPERVISORCTL




More information about the Erp5-report mailing list