26 lines
573 B
Python
26 lines
573 B
Python
class StoreError(RuntimeError):
|
|
pass
|
|
|
|
|
|
class CredentialsNotFound(StoreError):
|
|
pass
|
|
|
|
|
|
class InitializationError(StoreError):
|
|
pass
|
|
|
|
|
|
def process_store_error(cpe, program):
|
|
message = cpe.output.decode('utf-8')
|
|
if 'credentials not found in native keychain' in message:
|
|
return CredentialsNotFound(
|
|
'No matching credentials in {}'.format(
|
|
program
|
|
)
|
|
)
|
|
return StoreError(
|
|
'Credentials store {} exited with "{}".'.format(
|
|
program, cpe.output.decode('utf-8').strip()
|
|
)
|
|
)
|