Skip to content
This repository was archived by the owner on Nov 22, 2024. It is now read-only.

Commit 21025d1

Browse files
committed
Moved API v4 into it's own file plus minor cleanup
1 parent 8675a35 commit 21025d1

5 files changed

Lines changed: 120 additions & 110 deletions

File tree

CloudFlare/__init__.py

Lines changed: 4 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# all the exceptions
21

32
from logger import Logger
43
from utils import sanitize_secrets
54
from read_configs import read_configs
5+
from api_v4 import api_v4
66

77
from exceptions import CloudFlareError, CloudFlareAPIError, CloudFlareInternalError
88

@@ -180,118 +180,12 @@ def __init__(self, email=None, token=None, certtoken=None, debug=False):
180180
if certtoken is None:
181181
certtoken = conf_certtoken
182182

183+
# Removed: There are cases where you don't need an email and token
183184
#if email is None or token is None:
184185
# raise CloudFlareInternalError('You must at least specify an email and token string')
185186

186187
self.base = self._base(email, token, certtoken, base_url, debug)
187188

188-
# The API commands for /user/
189-
setattr(self, "user", self._client_with_auth(self.base, "user"))
190-
user = getattr(self, "user")
191-
setattr(user, "billing", self._unused(self.base, "user/billing"))
192-
user_billing = getattr(user, "billing")
193-
setattr(user_billing, "history", self._client_with_auth(self.base, "user/billing/history"))
194-
setattr(user_billing, "profile", self._client_with_auth(self.base, "user/billing/profile"))
195-
setattr(user_billing, "subscriptions", self._unused(self.base, "user/billing/subscriptions"))
196-
user_billing_subscriptions = getattr(user_billing, "subscriptions")
197-
setattr(user_billing_subscriptions, "apps", self._client_with_auth(self.base, "user/billing/subscriptions/apps"))
198-
setattr(user_billing_subscriptions, "zones", self._client_with_auth(self.base, "user/billing/subscriptions/zones"))
199-
setattr(user, "firewall", self._unused(self.base, "user/firewall"))
200-
user_firewall = getattr(user, "firewall")
201-
setattr(user_firewall, "access_rules", self._unused(self.base, "user/firewall/access_rules"))
202-
user_firewall_access_rules = getattr(user_firewall, "access_rules")
203-
setattr(user_firewall_access_rules, "rules", self._client_with_auth(self.base, "user/firewall/access_rules/rules"))
204-
setattr(user, "organizations", self._client_with_auth(self.base, "user/organizations"))
205-
setattr(user, "invites", self._client_with_auth(self.base, "user/invites"))
206-
setattr(user, "virtual_dns", self._client_with_auth(self.base, "user/virtual_dns"))
207-
208-
# The API commands for /zones/
209-
setattr(self, "zones", self._client_with_auth(self.base, "zones"))
210-
zones = getattr(self, "zones")
211-
setattr(zones, "activation_check", self._client_with_auth(self.base, "zones", "activation_check"))
212-
setattr(zones, "available_plans", self._client_with_auth(self.base, "zones", "available_plans"))
213-
setattr(zones, "custom_certificates", self._client_with_auth(self.base, "zones", "custom_certificates"))
214-
zones_custom_certificates = getattr(zones, "custom_certificates")
215-
setattr(zones_custom_certificates, "prioritize", self._client_with_auth(self.base, "zones", "custom_certificates/prioritize"))
216-
setattr(zones, "custom_pages", self._client_with_auth(self.base, "zones", "custom_pages"))
217-
setattr(zones, "dns_records", self._client_with_auth(self.base, "zones", "dns_records"))
218-
setattr(zones, "keyless_certificates", self._client_with_auth(self.base, "zones", "keyless_certificates"))
219-
setattr(zones, "pagerules", self._client_with_auth(self.base, "zones", "pagerules"))
220-
setattr(zones, "purge_cache", self._client_with_auth(self.base, "zones", "purge_cache"))
221-
setattr(zones, "railguns", self._client_with_auth(self.base, "zones", "railguns"))
222-
setattr(zones, "settings", self._client_with_auth(self.base, "zones", "settings"))
223-
zones_settings = getattr(zones, "settings")
224-
setattr(zones_settings, "advanced_ddos", self._client_with_auth(self.base, "zones", "settings/advanced_ddos"))
225-
setattr(zones_settings, "always_online", self._client_with_auth(self.base, "zones", "settings/always_online"))
226-
setattr(zones_settings, "browser_cache_ttl", self._client_with_auth(self.base, "zones", "settings/browser_cache_ttl"))
227-
setattr(zones_settings, "browser_check", self._client_with_auth(self.base, "zones", "settings/browser_check"))
228-
setattr(zones_settings, "cache_level", self._client_with_auth(self.base, "zones", "settings/cache_level"))
229-
setattr(zones_settings, "challenge_ttl", self._client_with_auth(self.base, "zones", "settings/challenge_ttl"))
230-
setattr(zones_settings, "development_mode", self._client_with_auth(self.base, "zones", "settings/development_mode"))
231-
setattr(zones_settings, "email_obfuscation", self._client_with_auth(self.base, "zones", "settings/email_obfuscation"))
232-
setattr(zones_settings, "hotlink_protection", self._client_with_auth(self.base, "zones", "settings/hotlink_protection"))
233-
setattr(zones_settings, "ip_geolocation", self._client_with_auth(self.base, "zones", "settings/ip_geolocation"))
234-
setattr(zones_settings, "ipv6", self._client_with_auth(self.base, "zones", "settings/ipv6"))
235-
setattr(zones_settings, "minify", self._client_with_auth(self.base, "zones", "settings/minify"))
236-
setattr(zones_settings, "mirage", self._client_with_auth(self.base, "zones", "settings/mirage"))
237-
setattr(zones_settings, "mobile_redirect", self._client_with_auth(self.base, "zones", "settings/mobile_redirect"))
238-
setattr(zones_settings, "origin_error_page_pass_thru", self._client_with_auth(self.base, "zones", "settings/origin_error_page_pass_thru"))
239-
setattr(zones_settings, "polish", self._client_with_auth(self.base, "zones", "settings/polish"))
240-
setattr(zones_settings, "prefetch_preload", self._client_with_auth(self.base, "zones", "settings/prefetch_preload"))
241-
setattr(zones_settings, "response_buffering", self._client_with_auth(self.base, "zones", "settings/response_buffering"))
242-
setattr(zones_settings, "rocket_loader", self._client_with_auth(self.base, "zones", "settings/rocket_loader"))
243-
setattr(zones_settings, "security_header", self._client_with_auth(self.base, "zones", "settings/security_header"))
244-
setattr(zones_settings, "security_level", self._client_with_auth(self.base, "zones", "settings/security_level"))
245-
setattr(zones_settings, "server_side_exclude", self._client_with_auth(self.base, "zones", "settings/server_side_exclude"))
246-
setattr(zones_settings, "sort_query_string_for_cache", self._client_with_auth(self.base, "zones", "settings/sort_query_string_for_cache"))
247-
setattr(zones_settings, "ssl", self._client_with_auth(self.base, "zones", "settings/ssl"))
248-
setattr(zones_settings, "tls_1_2_only", self._client_with_auth(self.base, "zones", "settings/tls_1_2_only"))
249-
setattr(zones_settings, "tls_client_auth", self._client_with_auth(self.base, "zones", "settings/tls_client_auth"))
250-
setattr(zones_settings, "true_client_ip_header", self._client_with_auth(self.base, "zones", "settings/true_client_ip_header"))
251-
setattr(zones_settings, "waf", self._client_with_auth(self.base, "zones", "settings/waf"))
252-
setattr(zones, "analytics", self._unused(self.base, "zones", "analytics"))
253-
zones_analytics = getattr(zones, "analytics")
254-
setattr(zones_analytics, "colos", self._client_with_auth(self.base, "zones", "analytics/colos"))
255-
setattr(zones_analytics, "dashboard", self._client_with_auth(self.base, "zones", "analytics/dashboard"))
256-
setattr(zones, "firewall", self._unused(self.base, "zones", "firewall"))
257-
zones_firewall = getattr(zones, "firewall")
258-
setattr(zones_firewall, "access_rules", self._unused(self.base, "zones", "firewall/access_rules"))
259-
zones_firewall_access_rules = getattr(zones_firewall, "access_rules")
260-
setattr(zones_firewall_access_rules, "rules", self._client_with_auth(self.base, "zones", "firewall/access_rules/rules"))
261-
262-
# The API commands for /railguns/
263-
setattr(self, "railguns", self._client_with_auth(self.base, "railguns"))
264-
railguns = getattr(self, "railguns")
265-
setattr(railguns, "zones", self._client_with_auth(self.base, "railguns", "zones"))
266-
267-
# The API commands for /organizations/
268-
setattr(self, "organizations", self._client_with_auth(self.base, "organizations"))
269-
organizations = getattr(self, "organizations")
270-
setattr(organizations, "members", self._client_with_auth(self.base, "organizations", "members"))
271-
setattr(organizations, "invites", self._client_with_auth(self.base, "organizations", "invites"))
272-
setattr(organizations, "railguns", self._client_with_auth(self.base, "organizations", "railguns"))
273-
setattr(organizations, "roles", self._client_with_auth(self.base, "organizations", "roles"))
274-
setattr(organizations, "firewall", self._unused(self.base, "organizations", "firewall"))
275-
organizations_firewall = getattr(organizations, "firewall")
276-
setattr(organizations_firewall, "access_rules", self._unused(self.base, "organizations", "firewall/access_rules"))
277-
organizations_firewall_access_rules = getattr(organizations_firewall, "access_rules")
278-
setattr(organizations_firewall_access_rules, "rules", self._client_with_auth(self.base, "organizations", "firewall/access_rules/rules"))
279-
setattr(organizations, "virtual_dns", self._client_with_auth(self.base, "organizations", "virtual_dns"))
280-
281-
# The API commands for /certificates/
282-
setattr(self, "certificates", self._client_with_cert_auth(self.base, "certificates"))
283-
284-
# The API commands for /ips/
285-
setattr(self, "ips", self._client_noauth(self.base, "ips"))
286-
287-
# The DNSSEC commands
288-
setattr(zones, "dnssec", self._client_with_auth(self.base, "zones", "dnssec"))
289-
zones_dnssec = getattr(zones, "dnssec")
290-
setattr(zones_dnssec, "status", self._client_with_auth(self.base, "zones", "dnssec/status"))
291-
292-
# EXTRAS
293-
# /zones/:zone_id/ssl/certificate_packs
294-
setattr(zones, "ssl", self._client_with_auth(self.base, "zones", "ssl"))
295-
zones_ssl = getattr(zones, "ssl")
296-
setattr(zones_ssl, "certificate_packs", self._client_with_auth(self.base, "zones", "ssl/certificate_packs"))
189+
# add the API calls
190+
api_v4(self)
297191

CloudFlare/api_v4.py

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
2+
def api_v4(self):
3+
4+
# The API commands for /user/
5+
setattr(self, "user", self._client_with_auth(self.base, "user"))
6+
user = getattr(self, "user")
7+
setattr(user, "billing", self._unused(self.base, "user/billing"))
8+
user_billing = getattr(user, "billing")
9+
setattr(user_billing, "history", self._client_with_auth(self.base, "user/billing/history"))
10+
setattr(user_billing, "profile", self._client_with_auth(self.base, "user/billing/profile"))
11+
setattr(user_billing, "subscriptions", self._unused(self.base, "user/billing/subscriptions"))
12+
user_billing_subscriptions = getattr(user_billing, "subscriptions")
13+
setattr(user_billing_subscriptions, "apps", self._client_with_auth(self.base, "user/billing/subscriptions/apps"))
14+
setattr(user_billing_subscriptions, "zones", self._client_with_auth(self.base, "user/billing/subscriptions/zones"))
15+
setattr(user, "firewall", self._unused(self.base, "user/firewall"))
16+
user_firewall = getattr(user, "firewall")
17+
setattr(user_firewall, "access_rules", self._unused(self.base, "user/firewall/access_rules"))
18+
user_firewall_access_rules = getattr(user_firewall, "access_rules")
19+
setattr(user_firewall_access_rules, "rules", self._client_with_auth(self.base, "user/firewall/access_rules/rules"))
20+
setattr(user, "organizations", self._client_with_auth(self.base, "user/organizations"))
21+
setattr(user, "invites", self._client_with_auth(self.base, "user/invites"))
22+
setattr(user, "virtual_dns", self._client_with_auth(self.base, "user/virtual_dns"))
23+
24+
# The API commands for /zones/
25+
setattr(self, "zones", self._client_with_auth(self.base, "zones"))
26+
zones = getattr(self, "zones")
27+
setattr(zones, "activation_check", self._client_with_auth(self.base, "zones", "activation_check"))
28+
setattr(zones, "available_plans", self._client_with_auth(self.base, "zones", "available_plans"))
29+
setattr(zones, "custom_certificates", self._client_with_auth(self.base, "zones", "custom_certificates"))
30+
zones_custom_certificates = getattr(zones, "custom_certificates")
31+
setattr(zones_custom_certificates, "prioritize", self._client_with_auth(self.base, "zones", "custom_certificates/prioritize"))
32+
setattr(zones, "custom_pages", self._client_with_auth(self.base, "zones", "custom_pages"))
33+
setattr(zones, "dns_records", self._client_with_auth(self.base, "zones", "dns_records"))
34+
setattr(zones, "keyless_certificates", self._client_with_auth(self.base, "zones", "keyless_certificates"))
35+
setattr(zones, "pagerules", self._client_with_auth(self.base, "zones", "pagerules"))
36+
setattr(zones, "purge_cache", self._client_with_auth(self.base, "zones", "purge_cache"))
37+
setattr(zones, "railguns", self._client_with_auth(self.base, "zones", "railguns"))
38+
setattr(zones, "settings", self._client_with_auth(self.base, "zones", "settings"))
39+
zones_settings = getattr(zones, "settings")
40+
setattr(zones_settings, "advanced_ddos", self._client_with_auth(self.base, "zones", "settings/advanced_ddos"))
41+
setattr(zones_settings, "always_online", self._client_with_auth(self.base, "zones", "settings/always_online"))
42+
setattr(zones_settings, "browser_cache_ttl", self._client_with_auth(self.base, "zones", "settings/browser_cache_ttl"))
43+
setattr(zones_settings, "browser_check", self._client_with_auth(self.base, "zones", "settings/browser_check"))
44+
setattr(zones_settings, "cache_level", self._client_with_auth(self.base, "zones", "settings/cache_level"))
45+
setattr(zones_settings, "challenge_ttl", self._client_with_auth(self.base, "zones", "settings/challenge_ttl"))
46+
setattr(zones_settings, "development_mode", self._client_with_auth(self.base, "zones", "settings/development_mode"))
47+
setattr(zones_settings, "email_obfuscation", self._client_with_auth(self.base, "zones", "settings/email_obfuscation"))
48+
setattr(zones_settings, "hotlink_protection", self._client_with_auth(self.base, "zones", "settings/hotlink_protection"))
49+
setattr(zones_settings, "ip_geolocation", self._client_with_auth(self.base, "zones", "settings/ip_geolocation"))
50+
setattr(zones_settings, "ipv6", self._client_with_auth(self.base, "zones", "settings/ipv6"))
51+
setattr(zones_settings, "minify", self._client_with_auth(self.base, "zones", "settings/minify"))
52+
setattr(zones_settings, "mirage", self._client_with_auth(self.base, "zones", "settings/mirage"))
53+
setattr(zones_settings, "mobile_redirect", self._client_with_auth(self.base, "zones", "settings/mobile_redirect"))
54+
setattr(zones_settings, "origin_error_page_pass_thru", self._client_with_auth(self.base, "zones", "settings/origin_error_page_pass_thru"))
55+
setattr(zones_settings, "polish", self._client_with_auth(self.base, "zones", "settings/polish"))
56+
setattr(zones_settings, "prefetch_preload", self._client_with_auth(self.base, "zones", "settings/prefetch_preload"))
57+
setattr(zones_settings, "response_buffering", self._client_with_auth(self.base, "zones", "settings/response_buffering"))
58+
setattr(zones_settings, "rocket_loader", self._client_with_auth(self.base, "zones", "settings/rocket_loader"))
59+
setattr(zones_settings, "security_header", self._client_with_auth(self.base, "zones", "settings/security_header"))
60+
setattr(zones_settings, "security_level", self._client_with_auth(self.base, "zones", "settings/security_level"))
61+
setattr(zones_settings, "server_side_exclude", self._client_with_auth(self.base, "zones", "settings/server_side_exclude"))
62+
setattr(zones_settings, "sort_query_string_for_cache", self._client_with_auth(self.base, "zones", "settings/sort_query_string_for_cache"))
63+
setattr(zones_settings, "ssl", self._client_with_auth(self.base, "zones", "settings/ssl"))
64+
setattr(zones_settings, "tls_1_2_only", self._client_with_auth(self.base, "zones", "settings/tls_1_2_only"))
65+
setattr(zones_settings, "tls_client_auth", self._client_with_auth(self.base, "zones", "settings/tls_client_auth"))
66+
setattr(zones_settings, "true_client_ip_header", self._client_with_auth(self.base, "zones", "settings/true_client_ip_header"))
67+
setattr(zones_settings, "waf", self._client_with_auth(self.base, "zones", "settings/waf"))
68+
setattr(zones, "analytics", self._unused(self.base, "zones", "analytics"))
69+
zones_analytics = getattr(zones, "analytics")
70+
setattr(zones_analytics, "colos", self._client_with_auth(self.base, "zones", "analytics/colos"))
71+
setattr(zones_analytics, "dashboard", self._client_with_auth(self.base, "zones", "analytics/dashboard"))
72+
setattr(zones, "firewall", self._unused(self.base, "zones", "firewall"))
73+
zones_firewall = getattr(zones, "firewall")
74+
setattr(zones_firewall, "access_rules", self._unused(self.base, "zones", "firewall/access_rules"))
75+
zones_firewall_access_rules = getattr(zones_firewall, "access_rules")
76+
setattr(zones_firewall_access_rules, "rules", self._client_with_auth(self.base, "zones", "firewall/access_rules/rules"))
77+
78+
# The API commands for /railguns/
79+
setattr(self, "railguns", self._client_with_auth(self.base, "railguns"))
80+
railguns = getattr(self, "railguns")
81+
setattr(railguns, "zones", self._client_with_auth(self.base, "railguns", "zones"))
82+
83+
# The API commands for /organizations/
84+
setattr(self, "organizations", self._client_with_auth(self.base, "organizations"))
85+
organizations = getattr(self, "organizations")
86+
setattr(organizations, "members", self._client_with_auth(self.base, "organizations", "members"))
87+
setattr(organizations, "invites", self._client_with_auth(self.base, "organizations", "invites"))
88+
setattr(organizations, "railguns", self._client_with_auth(self.base, "organizations", "railguns"))
89+
setattr(organizations, "roles", self._client_with_auth(self.base, "organizations", "roles"))
90+
setattr(organizations, "firewall", self._unused(self.base, "organizations", "firewall"))
91+
organizations_firewall = getattr(organizations, "firewall")
92+
setattr(organizations_firewall, "access_rules", self._unused(self.base, "organizations", "firewall/access_rules"))
93+
organizations_firewall_access_rules = getattr(organizations_firewall, "access_rules")
94+
setattr(organizations_firewall_access_rules, "rules", self._client_with_auth(self.base, "organizations", "firewall/access_rules/rules"))
95+
setattr(organizations, "virtual_dns", self._client_with_auth(self.base, "organizations", "virtual_dns"))
96+
97+
# The API commands for /certificates/
98+
setattr(self, "certificates", self._client_with_cert_auth(self.base, "certificates"))
99+
100+
# The API commands for /ips/
101+
setattr(self, "ips", self._client_noauth(self.base, "ips"))
102+
103+
# The DNSSEC commands
104+
setattr(zones, "dnssec", self._client_with_auth(self.base, "zones", "dnssec"))
105+
zones_dnssec = getattr(zones, "dnssec")
106+
setattr(zones_dnssec, "status", self._client_with_auth(self.base, "zones", "dnssec/status"))
107+
108+
# EXTRAS
109+
# /zones/:zone_id/ssl/certificate_packs
110+
setattr(zones, "ssl", self._client_with_auth(self.base, "zones", "ssl"))
111+
zones_ssl = getattr(zones, "ssl")
112+
setattr(zones_ssl, "certificate_packs", self._client_with_auth(self.base, "zones", "ssl/certificate_packs"))
113+

CloudFlare/logger.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
import logging
23

34
DEBUG = 0

CloudFlare/read_configs.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
import os
23
import re
34
import ConfigParser

CloudFlare/utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
def sanitize_secrets(secrets):
23
redacted_phrase = 'REDACTED'
34

0 commit comments

Comments
 (0)