On Saturday, September 2, 2017 at 1:35:38 AM UTC-7, Patrick Schaaf wrote: > > Hi trac devs, > > quick question: what's the best way for a plugin to store some state > with per-request lifetime? Ideally for whatever trac version that's > running? :-) > > concretely, I just noticed the IncludePages macro from trac-hacks, on > my 0.11 install (yes, I know, ancient), going into a neverending CPU > burning loop when used on a page X and including page X itself..... so > I want to put some recursion protection (a dict of pages walked during > the current request) into the code. This has to go into the " def > expand_macro(self, formatter, name, txt):" and work with state > available there. > > So, is there such a best way to do it? >
You could just add an attribute to the request object. req = formatter.req if not hasattr(req, 'pages_walked'): req.pages_walked = {} - Ryan -- You received this message because you are subscribed to the Google Groups "Trac Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to trac-dev+unsubscr...@googlegroups.com. To post to this group, send email to trac-dev@googlegroups.com. Visit this group at https://groups.google.com/group/trac-dev. For more options, visit https://groups.google.com/d/optout.