Buckets:
MisterAI/LocalAI_Demo_backends / cpu-diffusers.upgrade-tmp /python /lib /python3.10 /idlelib /delegator.py
| class Delegator: | |
| def __init__(self, delegate=None): | |
| self.delegate = delegate | |
| self.__cache = set() | |
| # Cache is used to only remove added attributes | |
| # when changing the delegate. | |
| def __getattr__(self, name): | |
| attr = getattr(self.delegate, name) # May raise AttributeError | |
| setattr(self, name, attr) | |
| self.__cache.add(name) | |
| return attr | |
| def resetcache(self): | |
| "Removes added attributes while leaving original attributes." | |
| # Function is really about resetting delegator dict | |
| # to original state. Cache is just a means | |
| for key in self.__cache: | |
| try: | |
| delattr(self, key) | |
| except AttributeError: | |
| pass | |
| self.__cache.clear() | |
| def setdelegate(self, delegate): | |
| "Reset attributes and change delegate." | |
| self.resetcache() | |
| self.delegate = delegate | |
| if __name__ == '__main__': | |
| from unittest import main | |
| main('idlelib.idle_test.test_delegator', verbosity=2) | |
Xet Storage Details
- Size:
- 1.04 kB
- Xet hash:
- 3f9c43fb57c8c3ca4a60e18bbd4c9449681bc9bf90e4ffac3921c9b0960fd4ab
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.