David Lord
26bb6b1c56
move send_file and send_from_directory to Werkzeug
...
The implementations were moved to Werkzeug, Flask's functions become
wrappers around Werkzeug to pass some Flask-specific values.
cache_timeout is renamed to max_age. SEND_FILE_MAX_AGE_DEFAULT,
app.send_file_max_age_default, and app.get_send_file_max_age defaults
to None. This tells the browser to use conditional requests rather than
a 12 hour cache.
attachment_filename is renamed to download_name, and is always sent if
a name is known.
Deprecate helpers.safe_join in favor of werkzeug.utils.safe_join.
Removed most of the send_file tests, they're tested in Werkzeug.
In the file upload example, renamed the uploaded_file view to
download_file to avoid a common source of confusion.
2020-11-05 09:27:52 -08:00
David Lord
91e1437ba6
move json tests to separate file
2020-10-31 20:16:24 -07:00
Paul Sanders
106f6ba7e5
parametrize some tests ( #3786 )
2020-10-11 19:16:17 -07:00
Martin Thoma
090c9e9a81
DOC: Remove unnecessary docstrings
2020-07-26 15:47:12 +02:00
David Lord
1039d7834b
deprecate JSON encoding options
...
make consistent with built-in json module
2020-04-07 12:32:27 -07:00
David Lord
187cfe90b8
remove simplejson
...
- remove encoding detection backport, json.loads supports it directly
- use str.translate instead of multiple str.replace
2020-04-07 09:55:39 -07:00
David Lord
296ef35943
remove unused module docstrings
2020-04-04 12:28:08 -07:00
David Lord
f5038c4c39
f-strings everywhere
2020-04-04 12:10:00 -07:00
David Lord
67bb43b738
apply pyupgrade
2020-04-04 12:10:00 -07:00
David Lord
1e5e3aae8a
remove more compat code
2020-04-04 12:10:00 -07:00
David Lord
24723fa6e8
remove _compat module
2020-04-04 12:10:00 -07:00
David Lord
46c3d4656d
send_file doesn't allow StringIO
2019-11-19 08:52:12 -08:00
Fernanda Guimarães
7806be9784
Test test_send_from_directory_bad_request no longer fails in Python 3.8.
2019-10-28 21:37:25 -03:00
David Lord
1ee9405ff3
Merge branch '1.0.x'
2019-07-01 10:54:31 -07:00
Anthony Sottile
f65c6d3860
Fixes for PEP451 import loaders and pytest 5.x
...
- pytest 5.x drops python2 compatibility and therefore only implements PEP 451
- pytest 5.x made the repr of `ExcInfo` less confusing (fixed tests depending
on the old format)
2019-07-01 10:43:06 -07:00
David Lord
7b4f294465
Merge branch '1.0.x'
2019-07-01 09:52:06 -07:00
David Lord
158db956a3
send_file quotes ":/" in UTF-8 filename
2019-06-27 07:55:22 -07:00
David Lord
ff0c92a1c7
Merge branch '1.0.x'
2019-06-23 16:57:52 -07:00
David Lord
e066e9f9e3
standardize license and copyright
2019-06-22 13:09:09 -07:00
David Lord
43f66251ad
Merge branch '1.0.x'
2019-06-12 10:41:11 -07:00
David Lord
090bc4470e
fix tests failing with server name warnings
...
After pallets/werkzeug#1577 , mismatched configured and real server
names will show a warning in addition to raising 404. This caused
tests that did this deliberately to fail.
This patch removes the pytest fixture we were using to fail on
warnings, instead using the standard `-Werror` option. This speeds
up the tests by ~3x.
2019-06-10 14:05:33 -07:00
David Lord
e66fe2e8e7
apply reorder-python-imports pre-commit config
2019-06-01 09:07:20 -07:00
Jon S. Stumpf
4dc9c68d19
address flake8 issues
2019-06-01 06:31:35 -07:00
Daniel Pope
ad9807891d
Fix style issues on master using Black
2019-05-31 11:57:28 +01:00
EtiennePelletier
1a9616d581
Use Werkzeug's JSONMixin class and update tests
...
Flask's JSONMixin class was moved to Werkzeug>=0.15
Co-authored-by: Jeffrey Eliasen <jeff@jke.net>
2019-05-18 20:57:26 -07:00
David Lord
371d1ab40d
clean up open_resource and tests
2019-05-17 13:23:27 -07:00
icreatedanaccount
07a177043f
Allow mode='rt' on open_resource() helper
2019-05-17 13:22:13 -07:00
David Baumgold
85ce588b3b
Reformat with black
...
https://github.com/python/black
2019-05-06 16:28:58 -04:00
David Lord
39e9ebaaee
Merge remote-tracking branch 'origin/1.0-maintenance'
2019-01-07 10:00:10 -08:00
garenchan
0b182de99a
Make sure the attachment filename is text type.
...
If attachment filename is bytes type and contains non-ascii coded bytes,
then the following ASCII encoding process will trigger
UnicodeDecodeError exception.
Fix issue #2933 .
2019-01-07 07:17:33 -08:00
David Lord
fd3c2dd2f8
add changelog for GH-2957
2019-01-07 06:56:20 -08:00
Ignasi Bosch
45fbf751bc
Allow partial content on bytesio
2019-01-07 06:17:36 -08:00
Matt Robenolt
0b88fbd5eb
Add support for PathLike objects in static file helpers
...
See: https://www.python.org/dev/peps/pep-0519/
This is mostly encountered with pathlib in python 3, but this API
suggests any PathLike object can be treated like a filepath with
`__fspath__` function.
2019-01-05 15:23:47 -08:00
David Lord
40a2cecdf7
encode filenames as ascii instead of latin-1
...
latin-1 is allowed by pep3333, but that breaks gunicorn
2018-05-28 06:36:47 -07:00
David Lord
056c62e0b0
detect UTF encodings when loading json
2018-04-10 09:34:59 -07:00
fphonor
df23942df2
get_json separate cache depending on silent arg
2018-04-09 02:52:40 -07:00
David Lord
aa4db37a7f
revert copyright year to project start
...
add copyright header to files
2018-02-08 12:43:30 -08:00
Armin Ronacher
a1afc8f1a7
Add Support for FLASK_ENV ( #2570 )
...
This introduces environments to Flask
2018-01-06 17:07:56 +01:00
Adrian Moennich
26cc8fba36
Fix broken test
2017-11-25 00:53:43 +01:00
Adrian Moennich
875c30bad1
Merge remote-tracking branch 'upstream/0.12-maintenance'
2017-11-25 00:44:07 +01:00
ThiefMaster
dd8adc11be
Fix ValueError for some invalid Range requests
...
fixes #2526
2017-11-25 00:37:49 +01:00
David Lord
9acb1d2412
simplify logging configuration
...
single default handler and formatter
don't remove handlers
configure level once using setLevel
document logging
reorganize logging tests
2017-07-31 12:49:03 -07:00
Eugene M. Kim
015440ded5
Actually hand-spin and use a tzinfo subclass
...
This is for Python 2.x compatibility.
Suggested-by: David Lord <davidism@gmail.com>
2017-06-14 14:23:13 -07:00
Eugene M. Kim
fee894e9e8
Re-revert to not using pytz
...
Will spin a tzinfo subclass.
2017-06-14 14:14:18 -07:00
Eugene M. Kim
e8113c4b77
Skip aware datetime tests if pytz is unavailable
2017-06-14 14:08:42 -07:00
Eugene M. Kim
ed5ff89800
Use pytz again for tests
...
This is because datetime.timezone is Python 3 only. The only
alternative would be to hand-spin a datetime.tzinfo subclass, an
overkill.
This reverts commit 0e6cab3576 .
2017-06-14 13:57:40 -07:00
Eugene M. Kim
45bfd49231
Rewrite test_jsonify_aware_datetimes without pytz
2017-06-14 13:06:26 -07:00
Eugene M. Kim
8b3fb19a0a
Add UTs for #2372
...
test_encode_aware_datetime() fails for non-UTC timezones due to the bug.
2017-06-14 12:22:09 -07:00
David Lord
f542c5f599
failing test for streaming session
2017-06-02 11:07:53 -07:00
David Lord
1fbe779fd2
make debugging bad key errors easier
...
* TRAP_BAD_REQUEST_ERRORS is enabled by default in debug mode
* BadRequestKeyError has the key in the description in debug mode
closes #382
2017-05-29 19:08:25 -07:00