ah. I wrote this package to adapt the @validate decorator and form reprint 
concepts from pylons into pyramid 
https://github.com/jvanasco/pyramid_formencode_classic

it helped me migrate apps fairly quickly. 
On Wednesday, April 2, 2025 at 2:22:31 PM UTC-4 Mike Orr wrote:

> I just use the regular Formencode library in Pyramid in case that
> wasn't clear. I didn't know about 'pyramid_formencode'.
>
> For the settings I have a Schema. Since setting names have dots in
> them I can't use attribute-based definitions, so I do it in init,
> setting `self.fields[name] = myvalidator`. My `main()` routine calls a
> function `process_settings(settings)` that instantiates the schema,
> validates them and coerces their types, and returns the resulting
> dict. If they're invalid I get a formencode.Invalid exception. Then I
> think I do something to display the invalid settings. I originally had
> several settings required, but I'm now moving away from that gradually
> to allow an incomplete configuration file, with deployment-specific
> values of some "required" settings coming from environment variables.
>
> On Wed, Apr 2, 2025 at 10:22 AM Jonathan Vanasco <[email protected]> 
> wrote:
> >
> > I'm actually in the process of new release to fix some issues and 
> simplify the API; I've been dealing with testing and regressions across a 
> handful of deployments for the past week. I'm nearly there and will finally 
> hit a 1.0 release once this looks good. There are some breaking changes but 
> the API is significantly simpler and more consistent. I'm just dealing with 
> small issues about handling "special errors" correctly (like controlling 
> how "nothing submitted" is handled).
> >
> > I just pushed a 0.9.2 release out for testing across some CI systems, 
> and that seems to be the direction things are going in. I tried a few other 
> minor releases with slightly different breaking changes.
> > On Tuesday, April 1, 2025 at 6:36:15 PM UTC-4 Mike Orr wrote:
> >>
> >> I've been using Formencode throughout for both form validation and
> >> config settings validation. Thanks for porting it to Pyramid and
> >> Python 3 and dealing with changes within Python 3: I remember all of
> >> those broke functionality until Formencode was patched.
> >>
> >> On Tue, Apr 1, 2025 at 2:20 PM Jonathan Vanasco <[email protected]> 
> wrote:
> >> >
> >> > i forgot to mention - if your app uses formencode for validation, I 
> ported the pylons validation to pyramid a long time ago and still actively 
> use and maintain it - 
> https://github.com/jvanasco/pyramid_formencode_classic
> >> >
> >> >
> >> > On Tuesday, April 1, 2025 at 1:14:08 PM UTC-4 Jonathan Vanasco wrote:
> >> >>
> >> >> Pyramid offers a few ways to implement the routes/controllers.
> >> >>
> >> >> The easiest when porting from Pylons is to use classes with 
> @viewconfig, that can mimic the pylons handler classes.
> >> >>
> >> >> This is a good example of that approach in the regular pyramid docs: 
> https://docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/pylons/views.html
> >> >>
> >> >> Pretty much everything can be supported and migrated with not too 
> much work, except for the globals. IIRC Pylons did some weird stuff with 
> globals that wasn't necessarily threadsafe. When moving to pyramid you can 
> use events to define/translate "globals" into templates. For the python 
> code, you can also update code to not use globals and take a context object 
> as the first argument. The context object could be a request, or an object 
> that wraps a request.
> >> >>
> >> >> In terms of templating - if there isn't a genshi package you could 
> probably model one after pyramid_mako and port the pylons package over. It 
> might be much faster to do that, and then lightly adapt the templates, then 
> reinvent everything.
> >> >>
> >> >>
> >> >> On Tuesday, April 1, 2025 at 6:48:01 AM UTC-4 Milan Kelesi wrote:
> >> >>>
> >> >>> Hello,
> >> >>>
> >> >>> We are planning to migrate an existing project from Pylons 1.0.2 to 
> Pyramid 2.x.
> >> >>> What would be the best approach to start?
> >> >>> I understand we need to rewrite all the controllers.
> >> >>> We are using Genshi templates and this does not seem to be 
> supported in Pyramid 2. What would be the easiest template engine to 
> migrate to from Genshi (Mako, Jinja2, Chameleon, ..)
> >> >>> Is there an easy way to reuse the existing routes, globals, 
> application setup?
> >> >>> I am currently a bit overwhelmed and not sure where to start.
> >> >>> I would like to get a quick win and get one simple route/controller 
> without authentication to work under pyramid.
> >> >>>
> >> >>> Thanks for any advice.
> >> >
> >> > --
> >> > You received this message because you are subscribed to the Google 
> Groups "pylons-discuss" group.
> >> > To unsubscribe from this group and stop receiving emails from it, 
> send an email to [email protected].
> >> > To view this discussion visit 
> https://groups.google.com/d/msgid/pylons-discuss/7411399e-9ec1-4411-9e45-5b53fcc823ebn%40googlegroups.com
> .
> >>
> >>
> >>
> >> --
> >> Mike Orr <[email protected]>
> >
> > --
> > You received this message because you are subscribed to the Google 
> Groups "pylons-discuss" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to [email protected].
> > To view this discussion visit 
> https://groups.google.com/d/msgid/pylons-discuss/6223811b-7edd-44ad-b5c6-ce92fb135a61n%40googlegroups.com
> .
>
>
>
> -- 
> Mike Orr <[email protected]>
>

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/pylons-discuss/c4c5f0ab-6753-4ff2-8b27-0c17e00726ban%40googlegroups.com.

Reply via email to