Don't worry. I got it from: https://stackoverflow.com/questions/19656001/how-can-i-access-a-custom-section-in-a-pyramid-ini-file
Thanks On Thursday, 13 May 2021 at 07:43:07 UTC-4 QLands Software wrote: > Hi Michael, > > Thanks for the answer. It works. > > Now I have a follow-up question: How can at that moment get the host and > port used? Instead of a fixed string. I have that in the config in a > section called [server:main] but is not available at > config.registry.settings > > Cheers > > On Wednesday, 12 May 2021 at 16:26:48 UTC-4 mmer...@gmail.com wrote: > >> At that config-time in the application there is no active request and no >> server running. In Pyramid, all url-generation APIs rely on creating a url >> "relative to the wsgi environ" or "relative to the current request". This >> keeps the app itself easy to mount into complex existing url hierarchies. >> This is done using properties of the request (script_name, port, host, >> scheme). >> >> The way to construct a full URL is to create a dummy request object: >> >> from pyramid.request import Request >> >> request = Request.blank(base_url='http://localhost:5900') >> request.registry = config.registry >> assert request.route_url('home') == 'http://localhost:5900/' >> >> The Request.blank() api constructs a wsgi environ with enough information >> for Pyramid to generate a url relative to it similar to what it would do if >> a request was coming from an actual wsgi server. >> >> - Michael >> >> On May 12, 2021, at 15:01, QLands Software <qlands....@gmail.com> wrote: >> >> I have a Pyramid application that adds routes using: >> >> config.add_route("home", "/") >> config.add_view( >> homeView, >> route_name="home", >> "home.jinja2", >> ) >> >> The application uses PCA https://github.com/PyUtilib/pyutilib therefore >> plug-ins can add routes to the main application. >> >> After the main app and the plugins add the routes I would like to get the >> URL of a route for example "home". In views I use "request.route_url()" but >> I need to get the same during the initialization of the App, meaning just >> after >> >> config.make_wsgi_app() >> >> I tried to use the registry introspection: >> >> config.add_route("home", "/") >> config.add_view( >> homeView, >> route_name="home", >> "home.jinja2", >> ) >> config.make_wsgi_app() >> introspector = config.registry.introspector >> route_intr = introspector.get('routes', "home") >> print(route_intr) >> >> But I get a route object with path and name but not with host, port, etc. >> I also tried: >> >> from pyramid.interfaces import IRoutesMapper >> mapper = config.registry.getUtility(IRoutesMapper) >> route = mapper.get_route("home") >> >> I saw some code in Flask one can do something like this: >> >> from flask.helpers import url_for >> >> app.register_blueprint(views) >> url = url_for("home") >> >> Is there something like that for Pyramid? Basically, I need to get for >> the route "home" the same result as if I would do request.route_url("home") >> which is "http://localhost:5900/" >> >> -- >> 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 pylons-discus...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/pylons-discuss/40b8550f-f57a-4152-a744-0bb4304251een%40googlegroups.com >> >> <https://groups.google.com/d/msgid/pylons-discuss/40b8550f-f57a-4152-a744-0bb4304251een%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> >> -- 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 pylons-discuss+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/pylons-discuss/9c6d1075-a936-4ead-83d3-67f2c8513132n%40googlegroups.com.