diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..32b9060 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +version: 2 +updates: +- package-ecosystem: pip + directory: "/" + schedule: + interval: monthly + time: '08:00' + timezone: US/Pacific + open-pull-requests-limit: 10 + target-branch: mpcontribs diff --git a/.travis.yml b/.travis.yml index 78ec0f2..3278668 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,11 @@ +arch: + - amd64 + - ppc64le language: python python: - "2.7" - - "3.2" - "3.4" + - "3.8" - "pypy" install: - python setup.py install diff --git a/src/mimerender.py b/src/mimerender.py index c7a2dca..be87373 100644 --- a/src/mimerender.py +++ b/src/mimerender.py @@ -207,7 +207,11 @@ def wrapper(*args, **kwargs): shortmime = args[override_arg_idx] if not shortmime and override_input_key: shortmime = self._get_request_parameter(override_input_key) - if shortmime: mime = _get_mime_types(shortmime)[0] + if shortmime: + try: + mime = _get_mime_types(shortmime)[0] + except MimeRenderException as e: + return self._make_response(str(e), (('Content-Type', 'text/plain'),), '400 Bad Request') accept_header = self._get_accept_header() if not mime: if accept_header: @@ -341,7 +345,9 @@ def _make_response(self, content, headers, status): import flask class FlaskMimeRender(MimeRenderBase): def _get_request_parameter(self, key, default=None): - return flask.request.values.get(key, default) + return flask.request.values.get( + key, flask.request.view_args.get(key, default) + ) def _get_accept_header(self, default=None): return flask.request.headers.get('Accept', default) @@ -451,7 +457,7 @@ def _make_response(self, content, headers, status): def WSGIMimeRender(*args, **kwargs): ''' - A wrapper for _WSGIMimeRender that wrapps the + A wrapper for _WSGIMimeRender that wraps the inner callable with wsgi_wrap first. ''' def wrapper(*args2, **kwargs2):