On Mon, Dec 5, 2011 at 7:57 AM, Chris Nelson <[email protected]> wrote:
>
> On 12/04/2011 12:59 AM, Olemis Lang wrote:
>>
>> On Sat, Dec 3, 2011 at 8:26 AM, Chris Nelson <[email protected]
>> <mailto:[email protected]>> wrote:
>>    On 12/02/2011 06:18 PM, osimons wrote:
>>        On Dec 2, 9:55 pm, Chris Nelson<[email protected]__> wrote:
>>
>>            I can set up an extension point but my question is "where do
>>            I get the
>>
>>            name from that I put in trac.ini to enable/disable each
>>            instance?
>>            Presumably, I'd use the same name in an ExtensionOption.
>>
>>            trac.ini:
>>
>>            teamcalendar.calendar.__TeamCalendar = enabled
>>            tracjsgantt.tracpm.__SimpleCalendar = disabled
>>
>>
>>            or in my source:
>>
>>            cal = ExtensionOption('TracPM',
>>            'calendar',
>>            IResourceCalendar,
>>            'teamcalendar.calendar.TeamCalendar')
>>
>>            But those names are an educated guess and I'd rather know how to
>>            derive/create them than hope I'm right.
>>
>> ExtensionPoint makes the magic by itself and loads the components for
>> you, ...
>
>
> But what about ExtensionOption?  My example above fails though that seems the 
> right path by code inspection.
>
>

I think you are missing the point here that ExtensionOption offers a
way to instantiate Components by relying on Python descriptors magic .
Hence that's not the way to go if you want to list the entries under
[components] section in trac.ini . I mentioned before you have
basically two ways to go :

- Use `env.config` object so as to read information in trac.ini file directly
- Use  `ComponentMeta._registry` to list the classes implementing a
given interface
  (review the code for `ExtensionPoint.extensions` method for further details ;)
  and then invoke `ComponentManager.is_component_enabled` so as to
  know whether that particular class is enabled/disabled in that particular
  Trac environment.

Hope this will help.

--
Regards,

Olemis

Facebook => http://www.facebook.com/olemis
Twitter => http://www.twitter.com/olemislc (@olemislc)
Blog ES => http://simelo-es.blogspot.com
Blog EN => http://simelo-en.blogspot.com
Quora => http://www.quora.com/olemis
Youtube => http://youtube.com/user/greatsoftw

Get a signature like this. CLICK HERE.

-- 
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.

Reply via email to