commit | author | age
|
051143
|
1 |
Pyramid TODOs |
CM |
2 |
============= |
69364d
|
3 |
|
699da1
|
4 |
Should-Have |
CM |
5 |
----------- |
63c1e0
|
6 |
|
CM |
7 |
- https://github.com/Pylons/pyramid/issues#issue/67 (fixing would make it |
|
8 |
possible to render a static site from a static dir). |
14e91b
|
9 |
|
9afa52
|
10 |
- Consider per-form_id CSRF instead of per-session global CSRF token. |
CM |
11 |
|
ddf07e
|
12 |
- I18N support for pyramid_jinja2. See also - |
CM |
13 |
http://groups.google.com/group/pylons-devel/msg/ab58353594b135c9 and |
|
14 |
https://github.com/Pylons/pyramid_jinja2/pull/14 |
|
15 |
|
019ece
|
16 |
- Speed up startup time (defer _bootstrap and registerCommonDirectives() |
CM |
17 |
until needed by ZCML, as well as unfound speedups). |
|
18 |
|
38ddde
|
19 |
- Reversing (context, request) in function view callable arglist produces |
CM |
20 |
incomprehensible traceback:: |
|
21 |
|
|
22 |
def aview(request, context): |
|
23 |
return {} |
|
24 |
|
|
25 |
if __name__ == '__main__': |
|
26 |
from pyramid.config import Configurator |
|
27 |
from paste.httpserver import serve |
|
28 |
c = Configurator() |
|
29 |
c.add_view(aview, renderer='__main__:foo.pt') |
|
30 |
serve(c.make_wsgi_app()) |
|
31 |
|
|
32 |
File "/home/chrism/projects/pyramid/pyramid/config.py", line 2981, in map_nonclass |
|
33 |
ronly = requestonly(view, self.attr) |
|
34 |
File "/home/chrism/projects/pyramid/pyramid/config.py", line 3071, in requestonly |
|
35 |
if len(args) - len(defaults) == 1: |
|
36 |
zope.configuration.config.ConfigurationExecutionError: <type 'exceptions.TypeError'>: object of type 'NoneType' has no len() in: |
|
37 |
('reversed.py', 14, '<module>', "c.add_view(aview, renderer='__main__:foo.pt')") |
6aa2b1
|
38 |
|
4ceb43
|
39 |
- Fix misleading conflict error reports for static views ala |
CM |
40 |
http://cluebin.appspot.com/pasted/7242843 |
|
41 |
|
cf0c36
|
42 |
- Nicer Mako exceptions in WebError. |
CM |
43 |
|
13d0e1
|
44 |
- Consider adding a default exception view for HTTPException and attendant |
CM |
45 |
``redirect`` and ``abort`` functions ala Pylons. |
|
46 |
|
e36332
|
47 |
- Add notes about renderer response attrs to request docs. |
CM |
48 |
|
8a93b2
|
49 |
- Add an example of using a cascade to serve static assets from the root. |
CM |
50 |
|
c93208
|
51 |
- Explore static file return from handler action using wsgiapp2 + fileapp. |
83efb2
|
52 |
|
dc475b
|
53 |
- Static (URL-generation only) routes. |
485ef6
|
54 |
|
3283ef
|
55 |
- Add narrative docs for wsgiapp and wsgiapp2. |
165020
|
56 |
|
485ef6
|
57 |
- translationdir ZCML directive use of ``path_spec`` should maybe die. |
8a93b2
|
58 |
|
CM |
59 |
- Provide a response_set_cookie method on the request for rendered responses |
|
60 |
that can be used as input to response.set_cookie? |
98b0af
|
61 |
|
4c929e
|
62 |
- Make it possible to get at ACLDenied data from Forbidden response in |
CM |
63 |
exceptionview. |
206188
|
64 |
|
CM |
65 |
Nice-to-Have |
|
66 |
------------ |
75ca58
|
67 |
|
d1432f
|
68 |
- Better "Extending" chapter. |
CM |
69 |
|
94a527
|
70 |
- Try to make test suite pass on IronPython. |
CM |
71 |
|
f765a6
|
72 |
- Non-bwcompat use of threadlocals that need to be documented or ameliorated: |
CM |
73 |
|
|
74 |
security.principals_allowed_by_permission |
|
75 |
|
|
76 |
resource.OverrideProvider._get_overrides: can't credibly be removed, |
|
77 |
because it stores an overrideprovider as a module-scope global. |
|
78 |
|
|
79 |
traversal.traverse: this API is a stepchild, and needs to be changed. |
|
80 |
|
|
81 |
Configurator.add_translation_dirs: not passed any context but a message, |
|
82 |
can't credibly be removed. |
|
83 |
|
69364d
|
84 |
- Supply ``X-Vhm-Host`` support. |
6fd5e1
|
85 |
|
9ec2d6
|
86 |
- Basic WSGI documentation (pipeline / app / server). |
ff1213
|
87 |
|
0b3260
|
88 |
- Fix message catalog extraction / compilation documentation. |
CM |
89 |
|
84c5ec
|
90 |
- Change docs about creating a venusian decorator to not use ZCA. |
a91594
|
91 |
|
250c02
|
92 |
- Try to better explain the relationship between a renderer and a |
CM |
93 |
template in the templates chapter and elsewhere. Scan the |
|
94 |
documentation for reference to a renderer as *only* view |
|
95 |
configuration (it's a larger concept now). |
388f9d
|
96 |
|
f07765
|
97 |
- Create a ``render_view`` that works by using config.derive_view |
CM |
98 |
against an existing view instead of querying the registry. |
|
99 |
|
|
100 |
- Create a function which performs a recursive request. |
|
101 |
|
baa634
|
102 |
- Debug option to print view matching decision. |
303c16
|
103 |
|
345474
|
104 |
- Script or paster command that prints, for a given URL, the views |
CM |
105 |
that might match. Underneath each potentially matching route, list |
|
106 |
the predicates required. Underneath each route+predicate set, print |
|
107 |
each view that might match and its predicates. E.g. with the input |
|
108 |
URL ``/foo``:: |
|
109 |
|
|
110 |
'/foo' (foo_xhr) |
|
111 |
xhr = True |
|
112 |
(no view predicates) |
|
113 |
mypackage.views.MyXHRFooView.__call__ |
|
114 |
|
|
115 |
'/{action}' (action_route) |
|
116 |
request_method = 'POST' |
|
117 |
action = '^foo$' |
|
118 |
mypackage.views.MyView.foo_POST |
|
119 |
request_method = 'GET' |
|
120 |
action = '^foo$' |
|
121 |
mypackage.views.MyView.foo_GET |
5951ab
|
122 |
|
6d9191
|
123 |
- Raise an exception when a value in response_headerlist is not a |
CM |
124 |
string or decide to encode. |
|
125 |
|
485ef6
|
126 |
- Update App engine chapter with less creaky directions. |
d89aee
|
127 |
|
485ef6
|
128 |
- Add functionality that mocks the behavior of ``repoze.browserid``. |
c8e78c
|
129 |
|
5f3fc0
|
130 |
- Consider implementing the API outlined in |
CM |
131 |
http://plope.com/pyramid_auth_design_api_postmortem, phasing out the |
|
132 |
current auth-n-auth abstractions in a backwards compatible way. |
|
133 |
|
9d3bd8
|
134 |
- Add doc string for BeforeRender event with more details. |
BB |
135 |
|