From c581408f028d5b8ceadc53c68d7c1252fbe09e6d Mon Sep 17 00:00:00 2001 From: rcoh Date: Wed, 22 Dec 2010 14:27:33 -0500 Subject: About halfway done with support for pixel regions. Modified the component registry a bit. Added support for multiple pixel mappers (and along with that, default components). RCOH --- util/Config.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'util/Config.py') diff --git a/util/Config.py b/util/Config.py index 4cf2ed5..f80b7b2 100644 --- a/util/Config.py +++ b/util/Config.py @@ -6,7 +6,7 @@ def loadParamRequirementDict(className): classArgsMem[className] = fileToDict(CONFIG_PATH + className) return classArgsMem[className] def loadConfigFile(fileName): #TODO: error handling etc. - try: + #try: fileName = CONFIG_PATH + fileName if '.params' in fileName: return fileToDict(fileName) @@ -14,7 +14,7 @@ def loadConfigFile(fileName): #TODO: error handling etc. config = ElementTree() config.parse(fileName) return config - except: + #except: return None def fileToDict(fileName): fileText = '' -- cgit v1.2.3 From 1786a0e660f299f1608dd2e8087843e71de8fb3f Mon Sep 17 00:00:00 2001 From: rcoh Date: Sat, 25 Dec 2010 13:42:25 -0500 Subject: early stages. WARNING: THIS COMMIT DOESN'T NECESSARILY WORK. Sorry. RCOH --- util/Config.py | 30 ++++++++++++++++++++++++++++++ util/Strings.py | 5 +++++ 2 files changed, 35 insertions(+) (limited to 'util/Config.py') diff --git a/util/Config.py b/util/Config.py index f80b7b2..bf1d5da 100644 --- a/util/Config.py +++ b/util/Config.py @@ -1,4 +1,5 @@ from xml.etree.ElementTree import ElementTree +import util.Strings as Strings classArgsMem = {} CONFIG_PATH = 'config/' def loadParamRequirementDict(className): @@ -16,6 +17,35 @@ def loadConfigFile(fileName): #TODO: error handling etc. return config #except: return None +def compositeXMLTrees(parentTree, overridingTree): + #type checking -- convert ElementTrees to their root elements + parentItems = parentTree.getchildren() + overrideItems = overridingTree.getchildren() + #first, lets figure out what tags we have in the override tree: + tagCollection = [el.tag for el in overrideItems] #we can speed this up with a dict if necessary + overrideRoot = overridingTree.getroot() + for item in parentItems: + if not item.tag in tagCollection: #no override + overrideRoot.insert(-1, item) #insert the new item at the end + else: + #do we merge or replace? + intersectingElements = findElementsByTag(item.tag, overrideItems) + if len(intersectingItems) > 1: + print 'ABUSE!' + interEl = intersectingElements[0] + mode = 'Replace' + if Strings.OVERRIDE_BEHAVIOR in interEl.attrib: + mode = interEl.attrib[Strings.OVERRIDE_BEHAVIOR] + if mode != 'Replace' and mode != 'Merge': + print 'Bad Mode. Replacing' + mode = 'Replace' + if mode = 'Replace': + pass #we don't need to do anything + if mode = 'Merge': + pass #TODO: code this + +def findElementsByTag(tag, eList): + return [el for el in eList if el.tag == tag] def fileToDict(fileName): fileText = '' try: diff --git a/util/Strings.py b/util/Strings.py index 81c34f2..698b4ec 100644 --- a/util/Strings.py +++ b/util/Strings.py @@ -1,2 +1,7 @@ LOCATION = 'Location' DEFAULT_MAPPER = 'DefaultPixelMapper' + + + +#XMLStuff +OVERRIDE_BEHAVIOR -- cgit v1.2.3 From 9e1e0f0c0b6835cc3755bbaa6a364475133ce848 Mon Sep 17 00:00:00 2001 From: rcoh Date: Sat, 25 Dec 2010 14:05:28 -0500 Subject: added test directory for unittests and an example skeleton unit test. WRITE TESTS FOR STUFF YOU WRITE. PLZ. RCOH --- tests/TestConfigLoaders.py | 10 ++++++++++ tests/__init__.py | 0 util/Config.py | 4 ++-- util/Strings.py | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 tests/TestConfigLoaders.py create mode 100644 tests/__init__.py (limited to 'util/Config.py') diff --git a/tests/TestConfigLoaders.py b/tests/TestConfigLoaders.py new file mode 100644 index 0000000..6ea4f59 --- /dev/null +++ b/tests/TestConfigLoaders.py @@ -0,0 +1,10 @@ +import unittest +class TestConfigLoaders(unittest.TestCase): + def setUp(self): + pass + def tearDown(self): + pass + def test_something(self): + pass +if __name__ == '__main__': + unittest.main() diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/util/Config.py b/util/Config.py index bf1d5da..7bc8dff 100644 --- a/util/Config.py +++ b/util/Config.py @@ -39,9 +39,9 @@ def compositeXMLTrees(parentTree, overridingTree): if mode != 'Replace' and mode != 'Merge': print 'Bad Mode. Replacing' mode = 'Replace' - if mode = 'Replace': + if mode == 'Replace': pass #we don't need to do anything - if mode = 'Merge': + if mode == 'Merge': pass #TODO: code this def findElementsByTag(tag, eList): diff --git a/util/Strings.py b/util/Strings.py index 698b4ec..40ad86b 100644 --- a/util/Strings.py +++ b/util/Strings.py @@ -4,4 +4,4 @@ DEFAULT_MAPPER = 'DefaultPixelMapper' #XMLStuff -OVERRIDE_BEHAVIOR +OVERRIDE_BEHAVIOR = 'OverrideBehavior' -- cgit v1.2.3