| 773 | |
| 774 | |
| 775 | class InMemoryStore(credentials.Store): |
| 776 | def __init__(self, *args, **kwargs): |
| 777 | self.__store = {} |
| 778 | |
| 779 | def get(self, server): |
| 780 | try: |
| 781 | return self.__store[server] |
| 782 | except KeyError as ke: |
| 783 | raise credentials.errors.CredentialsNotFound() from ke |
| 784 | |
| 785 | def store(self, server, username, secret): |
| 786 | self.__store[server] = { |
| 787 | 'ServerURL': server, |
| 788 | 'Username': username, |
| 789 | 'Secret': secret, |
| 790 | } |
| 791 | |
| 792 | def list(self): |
| 793 | return { |
| 794 | k: v['Username'] for k, v in self.__store.items() |
| 795 | } |
| 796 | |
| 797 | def erase(self, server): |
| 798 | del self.__store[server] |
no outgoing calls