X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=deferred_operand.py;h=1de2bfb0931ffa8b9bfdd754e7ac00ad3551af90;hb=e7822aa364fcc392476ded5537948292f7db2300;hp=4b12279b5726a2eb3a97eed1c20b1f708870143b;hpb=09e6d10face80d98a4578ff54192b5c8bec007d7;p=python_utils.git diff --git a/deferred_operand.py b/deferred_operand.py index 4b12279..1de2bfb 100644 --- a/deferred_operand.py +++ b/deferred_operand.py @@ -1,5 +1,9 @@ #!/usr/bin/env python3 +"""This is a helper class that tries to define every __dunder__ method +so as to defer that evaluation of an object as long as possible. It +is used by smart_future.py as a base class.""" + from abc import ABC, abstractmethod from typing import Any, Generic, TypeVar @@ -15,7 +19,7 @@ class DeferredOperand(ABC, Generic[T]): """ @abstractmethod - def _resolve(self) -> T: + def _resolve(self, timeout=None) -> T: pass @staticmethod @@ -149,7 +153,6 @@ class DeferredOperand(ABC, Generic[T]): def __getattr__(self, method_name): def method(*args, **kwargs): - return getattr(DeferredOperand.resolve(self), method_name)( - *args, **kwargs - ) + return getattr(DeferredOperand.resolve(self), method_name)(*args, **kwargs) + return method