lib/filesystem/map.py
branchsites
changeset 33 19ea04f4b0cd
parent 32 be954df4f0e8
equal deleted inserted replaced
32:be954df4f0e8 33:19ea04f4b0cd
     1 
     1 
     2 import os, os.path
     2 import os, os.path
     3 
     3 
     4 from lib import http, template, map
     4 from lib import http, template, map
     5 
     5 
     6 import page, page_tree, menu
     6 import page, page_tree
     7 
     7 
     8 class FilesystemMapper (map.Mapper) :
     8 class FilesystemMapper (map.Mapper) :
     9     """
     9     """
    10         Translates requests to handlers based on a filesystem directory containing various kinds of files
    10         Translates requests to handlers based on a filesystem directory containing various kinds of files
    11     """
    11     """
   111 
   111 
   112         # determine the page name
   112         # determine the page name
   113         page_name = request.get_page_name()
   113         page_name = request.get_page_name()
   114 
   114 
   115         # get the page handler
   115         # get the page handler
   116         p = self._lookup_page(page_name)
   116         page = self._lookup_page(page_name)
       
   117         
       
   118         # pass on
       
   119         return page.handle_request(request)
   117 
   120 
   118         # bind to request
       
   119         p.bind_request(request)
       
   120 
       
   121         # render the template
       
   122         response_data = template.render(self.template,
       
   123             site_root_url   = request.get_script_dir(),
       
   124             site_page_url   = request.get_page_prefix(),
       
   125             page            = p,
       
   126             menu            = menu.Menu(self, p),
       
   127         )
       
   128         
       
   129         # return the response
       
   130         return http.Response(response_data)
       
   131 
       
   132