Skip to content

Conversation

@Estartu
Copy link

@Estartu Estartu commented Mar 15, 2021

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

… 2.0 only calls callbacks with category='pyramid' by default.
@digitalresistor
Copy link
Member

👍

@cguardia
Copy link
Member

cguardia commented Oct 19, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants