On Jan 27, 9:49 am, sbamford <[email protected]> wrote: > Hi > > I have previously posted about this but I thought I would start a new > thread as the other is two months old now. > I am trying to make a plugin that takes the values in a custom ticket > field and turns them into links to our review board server. I have > started work on that, borrowing heavily from [1], that was pointed out > to me by Torbjörn Svensson. > However, I can't find the documentation for what exactly filter_stream > is dealing with. So far I have deleted the code that doesn't deal with > tickets, and I have changed the secondary method. However, I'm working > on the assumption that what is being returned by > "data['ticket'][self.field_name]" > is the comma separated list of numbers that is stored in the database. > In which case, is that were I should be saving my results back to, > since it is currently being stored in field['rendered']? > So where can I find useful documentation about the data-structure of > data? Am I anywhere near the fields that I want to be using? And also, > is my plugin at the moment going to be doing what I want it to be > doing (assuming I have wiki formatting turned on for the field)? > > Thanks > Scott
Sorry, I'm obviously not awake. The link to the original plugin. [1] https://gist.github.com/37173002bed7959252ad > > class InterLinksPlugin(Component): > implements(ITemplateStreamFilter) > > field_name = 'reviewno' > > # ITemplateStreamFilter methods > def filter_stream(self, req, method, filename, stream, data): > # this is shamelessly stollen from MasterTickets and modified > for one field only > > # We try all at the same time to maybe catch also changed or > processed templates > if data and filename in ["report_view.html", > "query_results.html", "ticket.html", "query.html"]: > # For ticket.html > if 'fields' in data and isinstance(data['fields'], list): > for field in data['fields']: > if field['name'] == self.field_name and > data['ticket'][self.field_name]: > field['rendered'] = > self._make_link(data['ticket'][self.field_name]) > return stream > > def _make_link(self, val): > list = [] > list.extend(re.findall(r'\d+', val)) > return string = "".join("[http://reviews.sw/r"+x+" "+x+"] " > for str(x) in list) -- You received this message because you are subscribed to the Google Groups "Trac Users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/trac-users?hl=en.
