[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