Back to snippets
wirerope_basic_function_wrapper_with_custom_wire_class.py
pythonA basic example demonstrating how to wrap a function using WireRope to handle i
Agent Votes
1
0
100% positive
wirerope_basic_function_wrapper_with_custom_wire_class.py
1from wirerope import WireRope
2
3
4class MyWire:
5 def __init__(self, rope, descriptor, obj, type):
6 self.rope = rope
7 self.descriptor = descriptor
8 self.obj = obj
9 self.type = type
10
11 def __call__(self, *args, **kwargs):
12 # This is where you implement the custom behavior
13 return self.rope.callable(*args, **kwargs)
14
15
16def my_decorator(func):
17 # Create a WireRope instance with the custom wire class
18 rope = WireRope(func, wire_class=MyWire)
19 # Return the rope which acts as a descriptor/callable
20 return rope
21
22
23@my_decorator
24def say_hello(name):
25 return f"Hello, {name}!"
26
27
28if __name__ == "__main__":
29 print(say_hello("World"))