Revize 2525db58
Přidáno uživatelem Michal Seják před téměř 4 roky(ů)
src/dao/private_key_repository.py | ||
---|---|---|
113 | 113 |
|
114 | 114 |
return private_key |
115 | 115 |
|
116 |
def find_pk(self, private_key_pem: str): |
|
117 |
""" |
|
118 |
Tries to find an existing private key by its PEM. |
|
119 |
:param private_key_pem: target key PEM |
|
120 |
:return: corresponding PrivateKey or None if not found |
|
121 |
""" |
|
122 |
|
|
123 |
try: |
|
124 |
sql = (f"SELECT * FROM {TAB_PRIVATE_KEYS} " |
|
125 |
f"WHERE {COL_PK} = ?") |
|
126 |
values = (private_key_pem, ) |
|
127 |
self.cursor.execute(sql, values) |
|
128 |
private_key_row = self.cursor.fetchone() |
|
129 |
|
|
130 |
if private_key_row is None: |
|
131 |
return None |
|
132 |
|
|
133 |
private_key: PrivateKey = PrivateKey(private_key_row[0], |
|
134 |
private_key_row[1], |
|
135 |
private_key_row[2]) |
|
136 |
except IntegrityError: |
|
137 |
Logger.error(INTEGRITY_ERROR_MSG) |
|
138 |
raise DatabaseException(INTEGRITY_ERROR_MSG) |
|
139 |
except ProgrammingError: |
|
140 |
Logger.error(PROGRAMMING_ERROR_MSG) |
|
141 |
raise DatabaseException(PROGRAMMING_ERROR_MSG) |
|
142 |
except OperationalError: |
|
143 |
Logger.error(OPERATIONAL_ERROR_MSG) |
|
144 |
raise DatabaseException(OPERATIONAL_ERROR_MSG) |
|
145 |
except NotSupportedError: |
|
146 |
Logger.error(NOT_SUPPORTED_ERROR_MSG) |
|
147 |
raise DatabaseException(NOT_SUPPORTED_ERROR_MSG) |
|
148 |
except DatabaseError: |
|
149 |
Logger.error(DATABASE_ERROR_MSG) |
|
150 |
raise DatabaseException(DATABASE_ERROR_MSG) |
|
151 |
except Error: |
|
152 |
Logger.error(ERROR_MSG) |
|
153 |
raise DatabaseException(ERROR_MSG) |
|
154 |
|
|
155 |
return private_key |
|
156 |
|
|
116 | 157 |
def read_all(self): |
117 | 158 |
""" |
118 | 159 |
Reads (selects) all private keys. |
Také k dispozici: Unified diff
Re #8705 - Added the `find_pk` method to PKRepo.