Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exception avec datasets/paginator #139

Closed
freesoul opened this issue Jul 13, 2022 · 3 comments
Closed

Exception avec datasets/paginator #139

freesoul opened this issue Jul 13, 2022 · 3 comments

Comments

@freesoul
Copy link

freesoul commented Jul 13, 2022

Bonjour, j'aimerai partir de votre udata-front pour l'adapter a nos besoins.

Une fois deployé, il y a le google bot qui visite des pages comme /en/topics/regions-et-developement-local/datasets, ce qui produit cette exception:

[2022-07-13 10:06:50,870] ERROR in app: Exception on /en/topics/regions-et-developement-local/datasets [GET]
Traceback (most recent call last):
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/flask_cors/extension.py", line 161, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/flask_restplus/api.py", line 584, in error_router
    return original_handler(e)
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/flask_restplus/api.py", line 584, in error_router
    return original_handler(e)
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/srv/udata_workspace/udata-front/udata_front/views/topic.py", line 31, in datasets
    datasets=[]
  File "/srv/udata_workspace/udata-front/udata_front/theme/__init__.py", line 134, in render
    return render_theme_template(get_theme(theme), template, **context)
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/flask_themes2/__init__.py", line 138, in render_theme_template
    **context)
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/flask/templating.py", line 140, in render_template
    ctx.app,
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/flask/templating.py", line 120, in _render
    rv = template.render(context)
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/jinja2/asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "/srv/udata_workspace/udata-front/udata_front/theme/gouvfr/templates/topic/datasets.html", line 5, in top-level template code
    {% set meta = {
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/jinja2/environment.py", line 1005, in render
    return concat(self.root_render_func(self.new_context(vars)))
  File "/srv/udata_workspace/udata-front/udata_front/theme/gouvfr/templates/topic/datasets.html", line 28, in root
    <section class="default">
  File "/srv/udata_workspace/udata-front/udata_front/theme/gouvfr/templates/topic/display_base.html", line 35, in root
  File "/srv/udata_workspace/udata-front/udata_front/theme/gouvfr/templates/base.html", line 15, in root
    </div>
  File "/srv/udata_workspace/udata-front/udata_front/theme/gouvfr/templates/raw.html", line 36, in root
    <img src="https://cdn.public.lu/pictures/logos/gov/gov-light.png" srcset="https://cdn.public.lu/pictures/logos/gov/gov-light-hdpi.png 1.5x,
  File "/srv/udata_workspace/udata-front/udata_front/theme/gouvfr/templates/base.html", line 54, in block_body
  File "/srv/udata_workspace/udata-front/udata_front/theme/gouvfr/templates/topic/display_base.html", line 75, in block_content
  File "/srv/udata_workspace/udata-front/udata_front/theme/gouvfr/templates/topic/datasets.html", line 64, in block_main_content
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/jinja2/runtime.py", line 262, in call
    return __obj(*args, **kwargs)
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/jinja2/runtime.py", line 570, in __call__
    return self._invoke(arguments, autoescape)
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/jinja2/asyncsupport.py", line 110, in _invoke
    return original_invoke(self, arguments, autoescape)
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/jinja2/runtime.py", line 574, in _invoke
    rv = self._func(*arguments)
  File "/srv/udata_workspace/udata-front/udata_front/theme/gouvfr/templates/macros/paginator.html", line 35, in macro
    <li>
  File "/srv/udata_workspace/venv/lib/python3.7/site-packages/jinja2/runtime.py", line 630, in _fail_with_undefined_error
    raise self._undefined_exception(hint)
jinja2.exceptions.UndefinedError: 'list object' has no attribute 'pages'

J'ai vu dans le code de topic.py que en effet datasets est initialisé comme une liste vide [], mais ceci est passé dans le template du paginator.

J'essaye de comprendre comment résoudre ceci, mais en attendant je pense que je peux aller plus vitte si je vous demande :-) merci

@freesoul
Copy link
Author

Je pense que j'ai compris
les URLs finnisant par /dataset j'imagine ont été replacés par /dataset, voici ce que j'ai rajouté dans les redirects
rewrite ^/(.+)/topics/(.+)/datasets /$1/datasets/$2
avec ça ça remarche apparament

@nicolaskempf57
Copy link
Contributor

Bonjour,

Les topics ne sont plus maintenus et plus utilisés dans udata-front. Je prends note de l'erreur, nous allons la corriger ultérieurement.

En attendant, vous pouvez la résoudre en supprimant le paginator présent dans le template.

diff --git a/udata_front/theme/gouvfr/templates/topic/datasets.html b/udata_front/theme/gouvfr/templates/topic/datasets.html
index 7f3bd2bf..c21f14ec 100644
--- a/udata_front/theme/gouvfr/templates/topic/datasets.html
+++ b/udata_front/theme/gouvfr/templates/topic/datasets.html
@@ -37,7 +37,6 @@
                 </ul>
 
                 <div class="clearfix"></div>
-                {{ paginator(datasets) }}
             </div>
 
         </div>

@freesoul
Copy link
Author

Merci, c'est bon

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

No branches or pull requests

2 participants