From f590f201ead5bd1767994b9c4d2d134c91961e97 Mon Sep 17 00:00:00 2001 From: Maik Zumstrull Date: Thu, 26 Mar 2020 14:23:36 +0000 Subject: [PATCH 1/3] Use dict to speed up record search This dict is created earlier, presumably to speed up this exact lookup, but it was using the list form instead, requiring a linear scan for each item. --- octodns/provider/cloudflare.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/octodns/provider/cloudflare.py b/octodns/provider/cloudflare.py index d83a523..9d769e4 100644 --- a/octodns/provider/cloudflare.py +++ b/octodns/provider/cloudflare.py @@ -585,7 +585,7 @@ class CloudflareProvider(BaseProvider): changed_records = {c.record for c in changes} for desired_record in desired.records: - if desired_record not in existing.records: # Will be created + if desired_record not in existing_records: # Will be created continue elif desired_record in changed_records: # Already being updated continue From 1fb4f4facd8b7b144e4c88377ff16eb1c6b64b9a Mon Sep 17 00:00:00 2001 From: Ross McFarland Date: Mon, 30 Mar 2020 07:04:07 -0700 Subject: [PATCH 2/3] Avoid double existing_records lookup --- octodns/provider/cloudflare.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/octodns/provider/cloudflare.py b/octodns/provider/cloudflare.py index 9d769e4..3df19a3 100644 --- a/octodns/provider/cloudflare.py +++ b/octodns/provider/cloudflare.py @@ -585,13 +585,12 @@ class CloudflareProvider(BaseProvider): changed_records = {c.record for c in changes} for desired_record in desired.records: - if desired_record not in existing_records: # Will be created + existing_record = existing_records.get(desired_record, None) + if existing_record: # Will be created continue elif desired_record in changed_records: # Already being updated continue - existing_record = existing_records[desired_record] - if (self._record_is_proxied(existing_record) != self._record_is_proxied(desired_record)): extra_changes.append(Update(existing_record, desired_record)) From bc3ce2071ca68278c08e5aa448be2201f9469262 Mon Sep 17 00:00:00 2001 From: Ross McFarland Date: Mon, 30 Mar 2020 07:12:25 -0700 Subject: [PATCH 3/3] Flipped bool logic --- octodns/provider/cloudflare.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/octodns/provider/cloudflare.py b/octodns/provider/cloudflare.py index 3df19a3..e52771c 100644 --- a/octodns/provider/cloudflare.py +++ b/octodns/provider/cloudflare.py @@ -586,7 +586,7 @@ class CloudflareProvider(BaseProvider): for desired_record in desired.records: existing_record = existing_records.get(desired_record, None) - if existing_record: # Will be created + if not existing_record: # Will be created continue elif desired_record in changed_records: # Already being updated continue