Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 2525db58

Přidáno uživatelem Michal Seják před téměř 4 roky(ů)

Re #8705 - Added the `find_pk` method to PKRepo.

Zobrazit rozdíly:

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