Skip to content

Commit 6ec21db

Browse files
committed
fix scope support in page
1 parent 2cd9955 commit 6ec21db

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

pywebio/session/base.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010

1111
logger = logging.getLogger(__name__)
1212

13+
ROOT_SCOPE = 'ROOT'
14+
1315

1416
class Session:
1517
"""
@@ -62,7 +64,7 @@ def __init__(self, session_info):
6264
"""
6365
self.internal_save = dict(info=session_info) # some session related info, just for internal used
6466
self.save = {} # underlying implement of `pywebio.session.data`
65-
self.scope_stack = defaultdict(lambda: ['ROOT']) # task_id -> scope栈
67+
self.scope_stack = defaultdict(lambda: [ROOT_SCOPE]) # task_id -> scope栈
6668
self.page_stack = defaultdict(lambda: []) # task_id -> page id stack
6769
self.active_page = defaultdict(set) # task_id -> activate page set
6870

@@ -118,6 +120,7 @@ def get_page_id(self, check_active=True):
118120

119121
def pop_page(self):
120122
"""exit the current page in task"""
123+
self.pop_scope()
121124
task_id = type(self).get_current_task_id()
122125
try:
123126
page_id = self.page_stack[task_id].pop()
@@ -131,6 +134,7 @@ def pop_page(self):
131134
return page_id
132135

133136
def push_page(self, page_id):
137+
self.push_scope(ROOT_SCOPE)
134138
task_id = type(self).get_current_task_id()
135139
self.page_stack[task_id].append(page_id)
136140
self.active_page[task_id].add(page_id)

0 commit comments

Comments
 (0)