Commit Graph

96 Commits

Author SHA1 Message Date
Neil Schemenauer 34d4762fa9 Handle docstring AST attribute (new in Python 3.7). 2017-11-26 12:37:23 -08:00
Neil Schemenauer 8568b3f1bb Update version to 3.0. 2017-11-24 11:14:28 -08:00
Neil Schemenauer 7aec664861 Add 'chunked' demo page. 2017-11-24 11:07:07 -08:00
Neil Schemenauer f31d493e36 Add dump of HTTP request to form demo page. 2017-11-24 11:06:02 -08:00
Neil Schemenauer 8db6c1b1e4 If available, use 'secrets' module for randbytes(). 2017-11-24 11:04:39 -08:00
Neil Schemenauer 610cd9c30d Update sendmail.py to allow SMTP AUTH and SSL/TLS. 2017-09-15 11:15:11 -07:00
Neil Schemenauer c68fcae33f Update version to 3.0b2. 2017-08-15 12:43:53 -07:00
Neil Schemenauer 079b9b11d3 Remove use of utest.py module from test_ptl, use py.test. 2017-08-11 14:56:16 -07:00
Neil Schemenauer d955d01d2f Fix _q_format() test for 'r' conversion, add 'a' conversion test. 2017-08-11 14:53:57 -07:00
Neil Schemenauer 00cf6af51f Add unit test for PTL f-string support. 2017-08-11 12:37:51 -07:00
Neil Schemenauer fad65207ef Add support for f-strings to PTL compiler. 2017-08-11 12:37:51 -07:00
Neil Schemenauer 5e147894d4 Update version to 3.0b1. 2017-03-07 13:31:15 -08:00
Neil Schemenauer bf23e8deed Remove unmaintained and probably broken server modules. 2016-12-09 12:55:07 -08:00
Neil Schemenauer b607a2b9af Enable 'OPTIONS' method for simple_server.
You still need to set the config option to allow the method but
if it is enabled then Quixote will allow it.  Implementation of
the method is up to the application, not Quixote.
2016-10-17 13:57:38 -07:00
Neil Schemenauer 056e066524 Restore ptl.ptl_compile.compile_template() function. 2016-10-04 13:11:38 -07:00
Neil Schemenauer b59e32042e Avoid mixed-type comparision in _py_htmltext. 2016-10-04 13:11:02 -07:00
Neil Schemenauer 9352cfe80e Modify tests to run with py.test.
This removes a dependancy on Sancho for running tests.
2016-10-04 13:07:07 -07:00
Neil Schemenauer 7dc58b8c88 Make url_with_query() sort parameters. 2016-10-04 13:05:25 -07:00
Neil Schemenauer 7a7abbc30a Make 'scgi' package optional.
Add try/except around 'scgi' import so we don't require it.
2016-09-12 17:01:39 +00:00
Neil Schemenauer cb788a75c8 Use sort(key=...) to sort widget options.
The decorate/undecorate pattern is no longer necessary and
can cause comparision errors in Python 3 (e.g. comparing distinct
types).
2016-07-14 21:58:48 +00:00
Neil Schemenauer 0e9b73be39 For simple_server.py, inherit listening socket if present.
This adds support for getting the listening socket from
systemd.
2016-06-24 18:08:22 +00:00
Neil Schemenauer 74b3b3750f Add --session-affinity option to scgi_server.py module.
The Python 3 version of the scgi_server package will provide
this feature so allow Quixote apps to use it.
2016-05-26 18:10:08 +00:00
Neil Schemenauer 641f5e9bb3 Refactor QuixoteHandler(), remove conn.close() call.
We should not close the connection inside the handle_connection()
method, the caller will call shutdown() and then close().  Refactor
so that 'input' and 'output' file descriptors are closed on errors.
2016-05-26 18:08:04 +00:00
Neil Schemenauer f9651c3957 Remove erroneous 'self' parameter for source_to_code()
PTLFileLoader.source_to_code() is a static method and should
not have a 'self' parameter.  Use absolute imports in ptl_compile.py
so it can be run as a script.
2016-05-26 18:04:27 +00:00
Neil Schemenauer e27b7fa03c Update version to 3.0a1. 2016-05-24 21:02:50 +00:00
Neil Schemenauer ed79e11d88 Overhaul sendmail.py module to handle Unicode text.
The built-in smtp module requires byte strings.  Change
quixote.sendmail to accept Unicode strings and apply the correct
encoding and charset declarations to produce proper messages.
2016-05-24 17:25:27 +00:00
Neil Schemenauer 334301fded Rewrite ptl_compile to work with Python 3.
Support new compiled module layout (__pycache__).  Fix
compile_package() so it can be used for backwards compatibility
with Quixote applications using it.
2016-05-24 17:24:45 +00:00
Neil Schemenauer 0911f3761b Properly handle __future__ statements if there is a docstring. 2016-04-20 21:43:10 +00:00
Neil Schemenauer b70d6a275c Use byte literal in a few places as needed. 2016-04-08 16:14:20 +00:00
Neil Schemenauer 8420d45452 Remove stray characters. 2016-04-05 16:14:42 +00:00
Neil Schemenauer 952aa2748e Port _c_htmltext module to Python 3. 2016-04-05 16:13:58 +00:00
Neil Schemenauer 7f7620e7f4 Fix make_safe_filename() to work with unicode strings. 2016-04-04 17:47:00 +00:00
Neil Schemenauer 77ff7b370d Use 'encoding' parameter of unquote_plus(), catch errors. 2016-04-04 17:46:27 +00:00
Neil Schemenauer e918906921 Replace use of has_key() with 'in'. 2016-04-04 17:45:47 +00:00
Neil Schemenauer 3cecc0b83d Return a str() from _encode_base64(), not bytes(). 2016-04-04 17:03:50 +00:00
Neil Schemenauer c049096369 Detect source code encoding in .ptl files. 2016-04-04 17:00:49 +00:00
Neil Schemenauer f3a9812a27 Add 'errors' parameter to _open_log(), handle strange characters. 2016-04-04 16:11:56 +00:00
Neil Schemenauer 31dceaf37d Python 3 changes: use ast module to compile, importlib hooks. 2016-03-31 21:17:39 +00:00
Neil Schemenauer 2b7b5a8f0e More Python 3 fixes. 2016-03-31 21:17:06 +00:00
Neil Schemenauer 574b9b1088 Changes for Python 3: str/bytes fixes mostly. 2016-03-31 20:40:32 +00:00
Neil Schemenauer 9c12cd7b1a Remove insecure randbytes() fallbacks, str/bytes fixes. 2016-03-31 16:30:32 +00:00
Neil Schemenauer bfd680c721 Python 3 support: use base64 module. 2016-03-31 16:29:35 +00:00
Neil Schemenauer 660d72d1f2 Trival changes to support Python 3. 2016-03-24 22:25:53 +00:00
Neil Schemenauer efe8e3d235 Prepare 2.9 release.
There was a packaging error for 2.8.  It included files not intended
to be released which broke the 'ptl' package.  This release repairs
that error and includes a small change to random session tokens.
2015-12-08 11:25:25 -08:00
Neil Schemenauer 410c030b50 Use 128-bit random tokens for session keys and form tokens.
Our previous 64-bit values should still be more than secure
for web applications but recommended best practice is currently
128-bit.  We use URL-safe base64 encoding so the length of
the tokens is only a bit longer.
2015-12-08 11:16:30 -08:00
Neil Schemenauer 662c99f3e1 Use base64 instead of hex encoding for util.randbytes() 2015-12-08 11:16:05 -08:00
Neil Schemenauer c40fbfc433 Update version number to 2.8. 2014-01-17 15:27:42 -06:00
Neil Schemenauer 9448e19e53 Don't set duplicate ID attributes on radio inputs. 2013-08-25 08:42:32 -06:00
Patrik Simons b1e805d7c5 ptl_import recompiles ptl files
Since stat.st_mtime is a float in linux, _load_pyc will almost always
recompile the ptl files.  Here's a patch to make the logic follow
compile.c in python.
2013-08-25 08:33:02 -06:00
Neil Schemenauer 271678da41 Update version to 2.8b2. 2013-07-20 14:28:29 -06:00