Index: third_party/twisted_8_1/twisted/python/monkey.py |
diff --git a/third_party/twisted_8_1/twisted/python/monkey.py b/third_party/twisted_8_1/twisted/python/monkey.py |
deleted file mode 100644 |
index 4c1a507ecd1b814732deebfff0d59886faf6cdec..0000000000000000000000000000000000000000 |
--- a/third_party/twisted_8_1/twisted/python/monkey.py |
+++ /dev/null |
@@ -1,73 +0,0 @@ |
-# -*- test-case-name: twisted.test.test_monkey -*- |
- |
-# Copyright (c) 2007 Twisted Matrix Laboratories. |
-# See LICENSE for details. |
- |
- |
-class MonkeyPatcher(object): |
- """ |
- Cover up attributes with new objects. Neat for monkey-patching things for |
- unit-testing purposes. |
- """ |
- |
- def __init__(self, *patches): |
- # List of patches to apply in (obj, name, value). |
- self._patchesToApply = [] |
- # List of the original values for things that have been patched. |
- # (obj, name, value) format. |
- self._originals = [] |
- for patch in patches: |
- self.addPatch(*patch) |
- |
- |
- def addPatch(self, obj, name, value): |
- """ |
- Add a patch so that the attribute C{name} on C{obj} will be assigned to |
- C{value} when C{patch} is called or during C{runWithPatches}. |
- |
- You can restore the original values with a call to restore(). |
- """ |
- self._patchesToApply.append((obj, name, value)) |
- |
- |
- def _alreadyPatched(self, obj, name): |
- """ |
- Has the C{name} attribute of C{obj} already been patched by this |
- patcher? |
- """ |
- for o, n, v in self._originals: |
- if (o, n) == (obj, name): |
- return True |
- return False |
- |
- |
- def patch(self): |
- """ |
- Apply all of the patches that have been specified with L{addPatch}. |
- Reverse this operation using L{restore}. |
- """ |
- for obj, name, value in self._patchesToApply: |
- if not self._alreadyPatched(obj, name): |
- self._originals.append((obj, name, getattr(obj, name))) |
- setattr(obj, name, value) |
- |
- |
- def restore(self): |
- """ |
- Restore all original values to any patched objects. |
- """ |
- while self._originals: |
- obj, name, value = self._originals.pop() |
- setattr(obj, name, value) |
- |
- |
- def runWithPatches(self, f, *args, **kw): |
- """ |
- Apply each patch already specified. Then run the function f with the |
- given args and kwargs. Restore everything when done. |
- """ |
- self.patch() |
- try: |
- return f(*args, **kw) |
- finally: |
- self.restore() |