55mixins to illustrate how mixins can make our lives easier when defining
66concrete classes.
77"""
8+
89from abc import ABC , abstractmethod
910from dataclasses import dataclass
1011
@@ -16,6 +17,7 @@ class Request:
1617 Assumes only GET requests for simplicity so there is no method
1718 attribute associated with this class.
1819 """
20+
1921 url : str
2022 user : str
2123
@@ -48,6 +50,7 @@ class TemplateHandlerMixin(RequestHandler):
4850 class helps if downstream developers typically implement request
4951 handlers that retrieve template content.
5052 """
53+
5154 template_suffix = ".template"
5255
5356 def handle (self , request ):
@@ -118,8 +121,7 @@ def get_template_name(self, request_url):
118121 return request_url [1 :]
119122
120123 def is_valid_template (self , template_name ):
121- return (super ().is_valid_template (template_name )
122- and template_name in self .template_dir )
124+ return super ().is_valid_template (template_name ) and template_name in self .template_dir
123125
124126 def render_template (self , template_name ):
125127 return self .template_dir [template_name ]
@@ -143,8 +145,7 @@ def is_valid_user(self, request_user):
143145
144146def main ():
145147 # Handle requests with simple template handler
146- simple_dir = {"welcome.template" : "<p>Hello world</p>" ,
147- "about.template" : "<p>About me</p>" }
148+ simple_dir = {"welcome.template" : "<p>Hello world</p>" , "about.template" : "<p>About me</p>" }
148149 simple_handler = TemplateFolderHandler (simple_dir )
149150 welcome_from_nobody = Request ("/welcome.template" , "nobody" )
150151 about_from_nobody = Request ("/about.template" , "nobody" )
@@ -155,8 +156,7 @@ def main():
155156
156157 # Handle requests with admin template handler
157158 admin_users = {"john" , "jane" }
158- admin_dir = {"fqdn.template" : "<p>server.example.com</p>" ,
159- "salary.template" : "<p>123456789.00</p>" }
159+ admin_dir = {"fqdn.template" : "<p>server.example.com</p>" , "salary.template" : "<p>123456789.00</p>" }
160160 admin_handler = AdminTemplateHandler (admin_users , admin_dir )
161161 fqdn_from_john = Request ("/fqdn.template" , "john" )
162162 salary_from_jane = Request ("/salary.template" , "jane" )
0 commit comments