Switch sipb-xen-base to build using a setup.py script
[invirt/packages/invirt-base.git] / files / usr / share / python-support / sipb-xen-base / invirt / common.py
diff --git a/files/usr/share/python-support/sipb-xen-base/invirt/common.py b/files/usr/share/python-support/sipb-xen-base/invirt/common.py
deleted file mode 100644 (file)
index 5f669ba..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-import unittest
-from fcntl import flock, LOCK_EX, LOCK_UN
-
-class struct(object):
-    'A simple namespace object.'
-    def __init__(self, d = {}, **kwargs):
-        'd is the dictionary to update my __dict__ with.'
-        self.__dict__.update(d)
-        self.__dict__.update(kwargs)
-
-def dicts2struct(x):
-    """
-    Given a tree of lists/dicts, perform a deep traversal to transform all the
-    dicts to structs.
-    """
-    if type(x) == dict:
-        return struct((k, dicts2struct(v)) for k,v in x.iteritems())
-    elif type(x) == list:
-        return [dicts2struct(v) for v in x]
-    else:
-        return x
-
-#
-# Hacks to work around lack of Python 2.5's `with` statement.
-#
-
-def with_closing(rsrc):
-    """
-    Utility to emulate Python 2.5's `with closing(rsrc)` context manager.
-
-    E.g.,
-    @with_closing(file('/tmp/foo'))
-    def contents(f):
-        return f.read()
-    # now 'contents' is the contents of /tmp/foo
-    """
-    def wrapper(func):
-        try: return func(rsrc)
-        finally: rsrc.close()
-    return wrapper
-
-def with_lock_file(path):
-    """
-    Context manager for lock files.  Example:
-
-    @with_lock_file('/tmp/mylock')
-    def input():
-        print 'locked'
-        return raw_input()
-    # prints 'locked'
-    print input # prints what raw_input() returned
-    """
-    def wrapper(func):
-        @with_closing(file(path, 'w'))
-        def g(f):
-            flock(f, LOCK_EX)
-            try: return func()
-            finally: flock(f, LOCK_UN)
-        return g
-    return wrapper
-
-#
-# Tests.
-#
-
-class common_tests(unittest.TestCase):
-    def test_dicts2structs(self):
-        dicts = {
-                'atom': 0,
-                'dict': { 'atom': 'atom', 'list': [1,2,3] },
-                'list': [ 'atom', {'key': 'value'} ]
-                }
-        structs = dicts2struct(dicts)
-        self.assertEqual(structs.atom,        dicts['atom'])
-        self.assertEqual(structs.dict.atom,   dicts['dict']['atom'])
-        self.assertEqual(structs.dict.list,   dicts['dict']['list'])
-        self.assertEqual(structs.list[0],     dicts['list'][0])
-        self.assertEqual(structs.list[1].key, dicts['list'][1]['key'])
-
-if __name__ == '__main__':
-    unittest.main()