Pylons / pyramid_layout

Pyramid add-on for managing UI layouts.
Other
24 stars 26 forks source link

Change venusian callback to category 'pyramid' #35

Open Estartu opened 3 years ago

Estartu commented 3 years ago

Changed the category of the venusian callback to 'pyramid' as pyramid 2.0 only calls callbacks with category='pyramid' by default.

Michael Merickel explained the change: My main reason for changing it is that each scan() does have a contract with the decorator that needs to be satisfied. All pyramid-compatible decorators expect the scanner to have a "config" attribute that is a Pyramid Configurator object. That is the contract you get when you use "config.scan()". So if a decorator wants the config object, shouldn't it register as the "pyramid" category or another custom category passed to scan to guarantee it gets what it needs? This seems to be the only safe way to do it with the scan api that is an umbrella search through the code.

If you see the category as a way to specify requirements to the callback, pyramid_layout should use 'pyramid' as well as it requires the config object to be there as well

digitalresistor commented 3 years ago

:+1:

cguardia commented 11 months ago

Note that as long as this PR is not merged, layout configurations will not work out of the box with the current category of pyramid_layout. However, you can still make them work by adding this category to the scan call in your code: config.scan('layout', categories=('pyramid', 'pyramid_layout')).