def createResource(self, name, lockType): s = StringIO("%s:%s" % (name, lockType)) s.seek(0) def switchLockType(self, lockType): raise Exception("I NEVER SWITCH!!!") s.switchLockType = types.MethodType(switchLockType, s, StringIO) return s
def createResource(self, name, lockType): s = StringIO("%s:%s" % (name, lockType)) s.seek(0) def switchLockType(self, lockType): self.seek(0) name = self.read().split(":")[0] self.seek(0) self.truncate() self.write("%s:%s" % (name, lockType)) self.seek(0) s.switchLockType = types.MethodType(switchLockType, s, StringIO) return s
def createResource(self, name, lockType): if self.fail: raise Exception("I CANT TAKE ALL THIS SWITCHING!") s = StringIO("%s:%s" % (name, lockType)) s.seek(0) factory = self def switchLockType(self, lockType): factory.fail = True raise Exception("FAIL!!!") s.switchLockType = types.MethodType(switchLockType, s, StringIO) return s