File tree Expand file tree Collapse file tree
src/wagtail_personalisation Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -144,6 +144,15 @@ def add_page_visit(self, page):
144144 'count' : 1 ,
145145 })
146146
147+ def get_visit_count (self , page = None ):
148+ """Return the number of visits on the current request or given page"""
149+ path = page .path if page else self .request .path
150+ visit_count = self .request .session .setdefault ('visit_count' , [])
151+ for visit in visit_count :
152+ if visit ['path' ] == path :
153+ return visit ['count' ]
154+ return 0
155+
147156 def update_visit_count (self ):
148157 """Update the visit count for all segments in the request session."""
149158 segments = self .request .session ['segments' ]
Original file line number Diff line number Diff line change @@ -226,23 +226,12 @@ def test_user(self, request):
226226 operator = self .operator
227227 segment_count = self .count
228228
229- def get_visit_count (request ):
230- """Search through the request sessions to get the page visit count
231- corresponding to the request.
229+ # Local import for cyclic import
230+ from wagtail_personalisation .adapters import get_segment_adapter
232231
233- :param request: The http request
234- :type request: django.http.HttpRequest
235- :returns: A number indicating the amount of visits
236- to the requested page
237- :rtype: int
238-
239- """
240- for page in request .session ['visit_count' ]:
241- if page ['path' ] == request .path :
242- return page ['count' ]
243-
244- visit_count = get_visit_count (request )
232+ adapter = get_segment_adapter (request )
245233
234+ visit_count = adapter .get_visit_count ()
246235 if visit_count and operator == "more_than" :
247236 if visit_count > segment_count :
248237 return True
You can’t perform that action at this time.
0 commit comments