refactoring searching for cert
This commit is contained in:
parent
356d3ee9f3
commit
10b600424e
|
@ -124,16 +124,8 @@ def sync_endpoints(source):
|
|||
|
||||
return new, updated
|
||||
|
||||
|
||||
# TODO this is very slow as we don't batch update certificates
|
||||
def sync_certificates(source, user):
|
||||
new, updated = 0, 0
|
||||
|
||||
current_app.logger.debug("Retrieving certificates from {0}".format(source.label))
|
||||
s = plugins.get(source.plugin_name)
|
||||
certificates = s.get_certificates(source.options)
|
||||
|
||||
for certificate in certificates:
|
||||
def find_cert(certificate):
|
||||
updated_by_hash = 0
|
||||
exists = False
|
||||
|
||||
if certificate.get("search", None):
|
||||
|
@ -152,12 +144,27 @@ def sync_certificates(source, user):
|
|||
cert = parse_certificate(certificate["body"])
|
||||
matching_serials = certificate_service.get_by_serial(serial(cert))
|
||||
exists = find_matching_certificates_by_hash(cert, matching_serials)
|
||||
updated_by_hash += 1
|
||||
|
||||
exists = [x for x in exists if x]
|
||||
return exists, updated_by_hash
|
||||
|
||||
|
||||
# TODO this is very slow as we don't batch update certificates
|
||||
def sync_certificates(source, user):
|
||||
new, updated, updated_by_hash = 0, 0, 0
|
||||
|
||||
current_app.logger.debug("Retrieving certificates from {0}".format(source.label))
|
||||
s = plugins.get(source.plugin_name)
|
||||
certificates = s.get_certificates(source.options)
|
||||
|
||||
for certificate in certificates:
|
||||
exists, updated_by_hash = find_cert(certificate)
|
||||
|
||||
if not certificate.get("owner"):
|
||||
certificate["owner"] = user.email
|
||||
|
||||
certificate["creator"] = user
|
||||
exists = [x for x in exists if x]
|
||||
|
||||
if not exists:
|
||||
certificate_create(certificate, source)
|
||||
|
|
Loading…
Reference in New Issue