bloodhound-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anoop Nayak <anoopkna...@gmail.com>
Subject Re: [ASF-ICFOSS MENTORING COMDEV-92] Regarding Live Syntax Highlighting
Date Wed, 18 Sep 2013 07:40:28 GMT
Hi Ryan,

I have been trying to make the plugin for a couple of hours before but seem
to have come across this error:

TypeError: pre_process_request() takes exactly 2 arguments (3 given)

But I have used only 2 arguments in the code i.e as follows
def pre_process_request(req, handler):
        return req, handler

Could you please help me with this?

Thanks & Regards,

Anoop


On Tue, Sep 17, 2013 at 10:48 PM, Ryan Ollos <ryan.ollos@wandisco.com>wrote:

> On Tue, Sep 17, 2013 at 9:51 AM, Anoop Nayak <anoopknayak@gmail.com>
> wrote:
>
> > Hi Gary,
> >
> > Is the post_process_request acting like a signal. And I just read through
> > the trac plugin documentation. So basically we are making a trac plugin.
> I
> > assumed it to be integrated into trac. Sorry for the misunderstanding.
> Let
> > me try making a plugin. I just made a branch as you suggested and will
> soon
> > update the more neater code into it :)
> >
> > Thanks & Regards,
> >
> > Anoop Nayak
> >
>
> `post_process_request` will get called after each request is handled:
>
> http://trac.edgewall.org/browser/tags/trac-1.0.1/trac/web/main.py?marks=214,223-224#L212
>
> You'll need to determine inside of `post_process_request` whether your code
> should be executed for this request. For example, you don't need or want
> your code to be executed if the request is a GET on the timeline.
> Generally, you use the `template`, `data` and `req.path_info` parameters to
> determine if this is a request for which you want to execute your code.
> Probably the `req.path_info` parameter will be most useful to you to get
> started, but it seems like you want to add your syntax highlighting on any
> page that wiki markup is allowed, and this would include the milestone edit
> page and any plugins, so we'll probably need to come up with a better way
> to determine for which requests your code should be added.
>
> I think what Gary was suggesting is to put your JavaScript code in a file,
> and add it to the template using `trac.web.chrome:add_script` after
> matching for the appropriate requests. Similarly for your CSS with
> `trac.web.chrome:add_stylesheet`. The modifications you are making to the
> Genshi templates can either be done in JavaScript, or in an
> ITemplateStreamFilter implementation. The latter is a bit challenging, so I
> wouldn't worry about that for now. Any changes you make to the templates
> now can be moved into JavaScript or an ITemplateStreamFilter implementation
> after you get the plugin working correctly.
>



-- 
Anoop

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message