refactoring searching for cert
This commit is contained in:
parent
356d3ee9f3
commit
10b600424e
|
@ -124,16 +124,8 @@ def sync_endpoints(source):
|
||||||
|
|
||||||
return new, updated
|
return new, updated
|
||||||
|
|
||||||
|
def find_cert(certificate):
|
||||||
# TODO this is very slow as we don't batch update certificates
|
updated_by_hash = 0
|
||||||
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:
|
|
||||||
exists = False
|
exists = False
|
||||||
|
|
||||||
if certificate.get("search", None):
|
if certificate.get("search", None):
|
||||||
|
@ -152,12 +144,27 @@ def sync_certificates(source, user):
|
||||||
cert = parse_certificate(certificate["body"])
|
cert = parse_certificate(certificate["body"])
|
||||||
matching_serials = certificate_service.get_by_serial(serial(cert))
|
matching_serials = certificate_service.get_by_serial(serial(cert))
|
||||||
exists = find_matching_certificates_by_hash(cert, matching_serials)
|
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"):
|
if not certificate.get("owner"):
|
||||||
certificate["owner"] = user.email
|
certificate["owner"] = user.email
|
||||||
|
|
||||||
certificate["creator"] = user
|
certificate["creator"] = user
|
||||||
exists = [x for x in exists if x]
|
|
||||||
|
|
||||||
if not exists:
|
if not exists:
|
||||||
certificate_create(certificate, source)
|
certificate_create(certificate, source)
|
||||||
|
|
Loading…
Reference in New Issue