--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/configurationengine/source/scripts/cone_subaction.py Thu Mar 11 17:04:37 2010 +0200
@@ -0,0 +1,78 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+import os
+import sys
+import fnmatch
+import re
+import logging
+
+
+def get_subactions(path,pattern):
+ """ Find out the cone subscripts that are present in the ROOT_PATH """
+ subacts = ActionContainer()
+ for file in os.listdir(path):
+ if fnmatch.fnmatch(file, pattern):
+ sact = SubAction(file,pattern)
+ subacts[sact.name] = sact
+ return subacts
+
+def get_log_level(level):
+ """
+ Change the given user input log level to logging categorisation
+ """
+ if level == 0 : return logging.NOTSET
+ elif level == 1 : return logging.CRITICAL
+ elif level == 2 : return logging.ERROR
+ elif level == 3 : return logging.WARNING
+ elif level == 4 : return logging.INFO
+ elif level == 5 : return logging.DEBUG
+ else : return logging.NOTSET
+
+class ActionContainer(object):
+ def __init__(self):
+ self._actions = {}
+
+ def __len__(self):
+ return len(self._actions)
+
+ def __getitem__(self, key):
+ return self._actions[key]
+
+ def __setitem__( self, key, value):
+ self._actions[key] = value
+
+ def __delitem__( self, key):
+ del self._actions[key]
+
+ def __iter__( self):
+ return self._actions.__iter__()
+
+class SubAction(object):
+ def __init__(self, scriptname, pattern):
+ self._scriptname = scriptname
+ self._pattern = pattern
+
+ @property
+ def name(self):
+ """ translate the pattern """
+ pattern = fnmatch.translate(self._pattern).replace('.*', '(.*)')
+ m = re.match(pattern, self._scriptname)
+ return m.group(1)
+
+ def run(self):
+ module = __import__(self._scriptname.replace('.py',''))
+ module.main()