Skip to content

Commit 7864cb3

Browse files
committed
Improve handle_templates
1 parent be8901d commit 7864cb3

1 file changed

Lines changed: 21 additions & 41 deletions

File tree

mailgun/handlers/templates_handler.py

Lines changed: 21 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -30,44 +30,24 @@ def handle_templates(
3030
:raises: ApiError
3131
"""
3232
final_keys = path.join("/", *url["keys"]) if url["keys"] else ""
33-
if "template_name" in kwargs:
34-
if "versions" in kwargs:
35-
if kwargs["versions"]:
36-
if "tag" in kwargs and "copy" not in kwargs:
37-
url = (
38-
url["base"]
39-
+ domain
40-
+ final_keys
41-
+ "/"
42-
+ kwargs["template_name"]
43-
+ "/versions/"
44-
+ kwargs["tag"]
45-
)
46-
elif "tag" in kwargs and "copy" in kwargs and "new_tag" in kwargs:
47-
url = (
48-
url["base"]
49-
+ domain
50-
+ final_keys
51-
+ "/"
52-
+ kwargs["template_name"]
53-
+ "/versions/"
54-
+ kwargs["tag"]
55-
+ "/copy/"
56-
+ kwargs["new_tag"]
57-
)
58-
else:
59-
url = (
60-
url["base"]
61-
+ domain
62-
+ final_keys
63-
+ "/"
64-
+ kwargs["template_name"]
65-
+ "/versions"
66-
)
67-
else:
68-
raise ApiError("Versions should be True or absent")
69-
else:
70-
url = url["base"] + domain + final_keys + "/" + kwargs["template_name"]
71-
else:
72-
url = url["base"] + domain + final_keys
73-
return url
33+
domain_url = f"{url['base']}{domain}{final_keys}"
34+
35+
if "template_name" not in kwargs:
36+
return domain_url
37+
38+
template_url = domain_url + f"/{kwargs['template_name']}"
39+
40+
if "versions" not in kwargs:
41+
return template_url
42+
43+
if not kwargs["versions"]:
44+
raise ApiError("Versions should be True or absent")
45+
46+
versions_url = template_url + "/versions"
47+
48+
if "tag" in kwargs and "copy" not in kwargs:
49+
return versions_url + f"/{kwargs['tag']}"
50+
if "tag" in kwargs and "copy" in kwargs and "new_tag" in kwargs:
51+
return versions_url + f"/{kwargs['tag']}/copy/{kwargs['new_tag']}"
52+
53+
return versions_url

0 commit comments

Comments
 (0)