Re: [Trac] Re: How to get all the menus of a user through program?

2020-01-17 Thread Ryan Ollos
On Fri, Jan 17, 2020 at 2:18 AM Velu Narasimman 
wrote:

> I want to achieve this without making a HTTP request from browser. I guess
> the chrome.get_navigation_items will work only if there is a web request.
> Isn't it? Otherwise, I wish to make it without authenticating/bypassing
> authentication and everything within a python script file. Is this
> possible? Please share me your ideas.
>

Yes, you can use from Python. The samples shown are part of the Trac API.
You'll need to Mock out the Request object.

-- 
You received this message because you are subscribed to the Google Groups "Trac 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to trac-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/trac-users/CA%2BBGpn9OqFziTusTE0_LaVUxc1VRbb1k6e3_XF6yQKxOa9P8uQ%40mail.gmail.com.


[Trac] Re: How to get all the menus of a user through program?

2020-01-17 Thread Velu Narasimman
I want to achieve this without making a HTTP request from browser. I guess 
the chrome.get_navigation_items will work only if there is a web request. 
Isn't it? Otherwise, I wish to make it without authenticating/bypassing 
authentication and everything within a python script file. Is this 
possible? Please share me your ideas.

On Friday, January 17, 2020 at 12:59:21 AM UTC+5:30, RjOllos wrote:
>
>
>
> On Wednesday, January 15, 2020 at 10:34:32 PM UTC-8, Velu Narasimman wrote:
>>
>> Well, I am getting menu as a dictionary as shown below,
>>
>> {'mainnav': [{'active': False, 'name': 'project', 'label': > >}, {'active': False, 'name': 'added_common', 'label': }, {
>> 'active': False, 'name': 'admin', 'label': }, {'active': 
>> False, 'name': 'reports', 'label': }, {'active': False, 
>> 'name': 'metrics', 'label': }, {'active': False, 'name': 
>> 'mytimesheet', 'label': }, {'active': True, 'name': 
>> 'myprojects', 'label': }, {'active': False, 'name': 
>> 'timesheetapproval', 'label': }], 'metanav': [{'active': 
>> False, 'name': 'login', 'label': u'logged in as karthikeyan.nagaraja'}, {
>> 'active': False, 'name': 'logout', 'label': }, {'active': 
>> False, 'name': 'prefs', 'label': }, {'active': False, 'name'
>> : 'about', 'label': }]}
>>
>> I get this, when I refresh the web page in my browser. These menus are 
>> dynamic, differs among different users based on the permissions that they 
>> have in system. But I wish to generate this without using a browser. So how 
>> can I make a web request handling in program itself and the above menus?
>>
>
> Are you calling Chrome.get_navigation_items?
> https://trac.edgewall.org/browser/tags/trac-1.4/trac/web/chrome.py#L862 
> 
>
> You'll need to make a MockRequest. For examples, I believe this is done in 
> a few plugins, but I don't recall which off-hand.
>
> I suppose you could use MockRequest from the test module:
> https://trac.edgewall.org/browser/tags/trac-1.4/trac/test.py#L151
>
> - Ryan
>

-- 
You received this message because you are subscribed to the Google Groups "Trac 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to trac-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/trac-users/1adbf833-e133-4f07-a2a6-961a57a43fe2%40googlegroups.com.