Retrieve credentials for `server`. If no credentials are found, a `StoreError` will be raised.
(self, server)
| 24 | ) |
| 25 | |
| 26 | def get(self, server): |
| 27 | """ Retrieve credentials for `server`. If no credentials are found, |
| 28 | a `StoreError` will be raised. |
| 29 | """ |
| 30 | if not isinstance(server, bytes): |
| 31 | server = server.encode('utf-8') |
| 32 | data = self._execute('get', server) |
| 33 | result = json.loads(data.decode('utf-8')) |
| 34 | |
| 35 | # docker-credential-pass will return an object for inexistent servers |
| 36 | # whereas other helpers will exit with returncode != 0. For |
| 37 | # consistency, if no significant data is returned, |
| 38 | # raise CredentialsNotFound |
| 39 | if result['Username'] == '' and result['Secret'] == '': |
| 40 | raise errors.CredentialsNotFound( |
| 41 | f'No matching credentials in {self.program}' |
| 42 | ) |
| 43 | |
| 44 | return result |
| 45 | |
| 46 | def store(self, server, username, secret): |
| 47 | """ Store credentials for `server`. Raises a `StoreError` if an error |