Merge pull request #2825 from eso31/fix-2824-issue

Fixes issue #2824 flask --version
This commit is contained in:
David Lord 2019-01-06 16:30:11 -08:00 committed by GitHub
commit 232e5c81bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 8 deletions

View file

@ -14,9 +14,12 @@ Unreleased
stricter about header encodings than PEP 3333. (`#2766`_)
- Allow custom CLIs using ``FlaskGroup`` to set the debug flag without
it always being overwritten based on environment variables. (`#2765`_)
- ``flask --version`` outputs Werkzeug's version and simplifies the
Python version. (`#2825`_)
.. _#2766: https://github.com/pallets/flask/issues/2766
.. _#2765: https://github.com/pallets/flask/pull/2765
.. _#2825: https://github.com/pallets/flask/pull/2825
Version 1.0.2

View file

@ -14,6 +14,7 @@ from __future__ import print_function
import ast
import inspect
import os
import platform
import re
import ssl
import sys
@ -259,10 +260,16 @@ def locate_app(script_info, module_name, app_name, raise_if_not_found=True):
def get_version(ctx, param, value):
if not value or ctx.resilient_parsing:
return
message = 'Flask %(version)s\nPython %(python_version)s'
import werkzeug
message = (
'Python %(python)s\n'
'Flask %(flask)s\n'
'Werkzeug %(werkzeug)s'
)
click.echo(message % {
'version': __version__,
'python_version': sys.version,
'python': platform.python_version(),
'flask': __version__,
'werkzeug': werkzeug.__version__,
}, color=ctx.color)
ctx.exit()

View file

@ -241,9 +241,9 @@ def test_locate_app_suppress_raise():
def test_get_version(test_apps, capsys):
"""Test of get_version."""
from flask import __version__ as flask_ver
from sys import version as py_ver
from flask import __version__ as flask_version
from werkzeug import __version__ as werkzeug_version
from platform import python_version
class MockCtx(object):
resilient_parsing = False
@ -254,8 +254,9 @@ def test_get_version(test_apps, capsys):
ctx = MockCtx()
get_version(ctx, None, "test")
out, err = capsys.readouterr()
assert flask_ver in out
assert py_ver in out
assert "Python " + python_version() in out
assert "Flask " + flask_version in out
assert "Werkzeug " + werkzeug_version in out
def test_scriptinfo(test_apps, monkeypatch):