22# coding=utf-8
33# ------------------------------------------------------------------------
44
5+ import re
56try :
67 from email .utils import parsedate
78except ImportError : # py 2.4 compat
1617
1718
1819def applicationcontent_request_processor (page , request ):
19- if not hasattr (request , '_feincms_appcontent_parameters' ):
20- request ._feincms_appcontent_parameters = dict (in_appcontent_subpage = False )
20+ request ._feincms_extra_context ['in_appcontent_subpage' ] = False
2121
2222 if request .path != page .get_absolute_url ():
2323 # The best_match logic kicked in. See if we have at least one
@@ -26,22 +26,16 @@ def applicationcontent_request_processor(page, request):
2626 if not settings .FEINCMS_ALLOW_EXTRA_PATH :
2727 raise Http404
2828 else :
29- request ._feincms_appcontent_parameters ['in_appcontent_subpage' ] = True
29+ request ._feincms_extra_context ['in_appcontent_subpage' ] = True
3030
31- extra_path = request .path [len (page .get_absolute_url ()):]
32- extra = extra_path .strip ('/' ).split ('/' )
33- request ._feincms_appcontent_parameters ['page_extra_path' ] = extra
34- request .extra_path = extra_path
35- else :
36- request .extra_path = ""
31+ request ._feincms_extra_context ['extra_path' ] = re .sub (
32+ '^' + re .escape (page .get_absolute_url ()[:- 1 ]), '' , request .path )
3733
3834Page .register_request_processors (applicationcontent_request_processor )
3935
4036
4137class ApplicationContentHandler (Handler ):
4238 def __call__ (self , request , path = None ):
43- request ._feincms_appcontent_parameters = {}
44-
4539 return self .build_response (request ,
4640 Page .objects .best_match_for_path (path or request .path , raise404 = True ))
4741
0 commit comments