Files
v2realbot/testy/decorator_test.py
David Brazda af9e944928 first commit
2023-04-12 21:00:03 +02:00

70 lines
1.5 KiB
Python

import inspect
class LiveInterface:
def prepost(f):
def prepost_wrapper(self, *args, **kwargs):
pre_name = 'pre_' + f.__name__
post_name = 'post_' + f.__name__
print(dir(self))
print(self.__repr__)
res = 1
if hasattr(self, pre_name):
res = getattr(self, pre_name) (*args, **kwargs)
if res > 0:
ret = f(self, *args, **kwargs)
if hasattr(self, post_name): getattr(self, post_name)(*args, **kwargs)
return ret
else:
print("plugin vratil zaporné. Skipping")
return res
return prepost_wrapper
def __init__(self) -> None:
pass
@prepost
def buy(self):
print("buy")
##
# class NewInterface(LiveInterface):
# def __init__(self) -> None:
# super().__init__()
class Strategy():
def __init__(self) -> None:
#tady is prepnu na live or bt
self.interface = Strategy.StrategyInterface()
self.neco = 1
#self.interface.buy()
#self.interface = LiveInterface()
#self.interface.buy = self.buy_more
self.interface.buy()
class StrategyInterface(LiveInterface):
def __init__(self) -> None:
super().__init__()
def pre_buy(self):
print("prebuy")
return 3
def post_buy(self):
print("postbuy")
return -2
def main():
a = Strategy()
if __name__ == "__main__":
main()
##