Changeset 4366
- Timestamp:
- Oct 1, 2008, 10:47:15 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tocmacro/0.11/tractoc/macro.py
r3418 r4366 104 104 105 105 def expand_macro(self, formatter, name, args): 106 self.formatter = formatter 107 self.context = formatter.context 108 self.resource = formatter.context.resource 106 context = formatter.context 107 resource = formatter.context.resource 109 108 110 109 # Bail out if we are in a no-float zone … … 113 112 return '' 114 113 115 current_page = self.resource.id114 current_page = resource.id 116 115 117 116 # Split the args … … 185 184 active = len(pagenames) > 1 186 185 for pagename in pagenames: 187 page_resource = self.resource(id=pagename)188 if not 'WIKI_VIEW' in self.context.perm(page_resource):186 page_resource = resource(id=pagename) 187 if not 'WIKI_VIEW' in context.perm(page_resource): 189 188 # Not access to the page, so should not be included 190 189 continue 191 190 if 'title_index' in params: 192 self._render_title_index( ol, page_resource, active and \193 pagename == current_page,191 self._render_title_index(formatter, ol, page_resource, 192 active and pagename == current_page, 194 193 params['min_depth'] < 2) 195 194 else: 196 self._render_page_outline(ol, page_resource, active, params) 195 self._render_page_outline(formatter, ol, page_resource, 196 active, params) 197 197 return base 198 198 199 def get_page_text(self, page_resource):199 def get_page_text(self, formatter, page_resource): 200 200 """Return a tuple of `(text, exists)` for the given page (resource).""" 201 if page_resource.id == self.resource.id:202 return ( self.formatter.source, True)201 if page_resource.id == formatter.context.resource.id: 202 return (formatter.source, True) 203 203 else: 204 204 page = WikiPage(self.env, page_resource) 205 205 return (page.text, page.exists) 206 206 207 def _render_title_index(self, ol, page_resource, active, show_title):208 page_text, page_exists = self.get_page_text( page_resource)207 def _render_title_index(self, formatter, ol, page_resource, active, show_title): 208 page_text, page_exists = self.get_page_text(formatter, page_resource) 209 209 if not page_exists: 210 210 ol.append(system_message('Error: No page matching %s found' % 211 211 page_resource.id)) 212 212 return 213 ctx = self.context(page_resource)213 ctx = formatter.context(page_resource) 214 214 fmt = OutlineFormatter(self.env, ctx) 215 215 fmt.format(page_text, NullOut()) … … 222 222 class_= active and 'active' or None))) 223 223 224 def _render_page_outline(self, ol, page_resource, active, params):224 def _render_page_outline(self, formatter, ol, page_resource, active, params): 225 225 page = params.get('root', '') + page_resource.id 226 page_text, page_exists = self.get_page_text( page_resource)226 page_text, page_exists = self.get_page_text(formatter, page_resource) 227 227 if page_exists: 228 ctx = self.context(page_resource)228 ctx = formatter.context(page_resource) 229 229 fmt = OutlineFormatter(self.env, ctx) 230 230 fmt.format(page_text, NullOut()) 231 231 outline_tree(self.env, ol, fmt.outline, ctx, 232 active and page_resource.id == self.resource.id,233 232 active and page_resource.id == formatter.context.resource.id, 233 params['min_depth'], params['max_depth']) 234 234 else: 235 235 ol.append(system_message('Error: Page %s does not exist' %
Note: See TracChangeset
for help on using the changeset viewer.