New upstream snapshot.
Debian Janitor
4 years ago
0 | # Wire up travis | |
1 | language: python | |
2 | sudo: false | |
3 | ||
4 | matrix: | |
5 | include: | |
6 | - python: 3.5 | |
7 | env: TOXENV=py35 | |
8 | ||
9 | env: | |
10 | - TOXENV=py27 | |
11 | - TOXENV=py33 | |
12 | - TOXENV=py34 | |
13 | - TOXENV=pypy | |
14 | - TOXENV=pypy3 | |
15 | - TOXENV=cover | |
16 | ||
17 | install: | |
18 | - travis_retry pip install tox | |
19 | ||
20 | script: | |
21 | - travis_retry tox | |
22 | ||
23 | notifications: | |
24 | email: | |
25 | - repoze-checkins@lists.repoze.org |
0 | 0 | Changelog |
1 | 1 | ========= |
2 | ||
3 | 2.1.1 (unreleased) | |
4 | ------------------ | |
5 | ||
6 | - TBD | |
7 | ||
8 | 2.1 (2016-06-03) | |
9 | ---------------- | |
10 | ||
11 | - Add support for Python 3.4, 3.5 and PyPy3. | |
12 | ||
13 | - Drop support for Python 2.6 and 3.2. | |
14 | ||
15 | - Add support for testing under Travis. | |
2 | 16 | |
3 | 17 | 2.0 (2013-06-26) |
4 | 18 | ---------------- |
0 | Metadata-Version: 1.1 | |
1 | Name: repoze.tm2 | |
2 | Version: 2.0 | |
3 | Summary: Per-request transactions via WSGI middleware | |
4 | Home-page: http://www.repoze.org | |
5 | Author: Agendaless Consulting | |
6 | Author-email: repoze-dev@lists.repoze.org | |
7 | License: BSD-derived (http://www.repoze.org/LICENSE.txt) | |
8 | Description: repoze.tm2 (Transaction Manager) | |
9 | ================================ | |
10 | ||
11 | Middleware which uses the ZODB transaction manager to wrap a call to | |
12 | its pipeline children inside a transaction. This is a fork of the | |
13 | ``repoze.tm`` package which depends only on the ``transaction`` | |
14 | package rather than the entirety of ZODB (for users who don't rely on ZODB). | |
15 | ||
16 | See docs/index.rst for documentation. | |
17 | ||
18 | ||
19 | Changelog | |
20 | ========= | |
21 | ||
22 | 2.0 (2013-06-26) | |
23 | ---------------- | |
24 | ||
25 | - Avoid swallowing the original exception while aborting the transaction | |
26 | in middleware. See PR #3. | |
27 | ||
28 | 2.0b1 (2013-04-05) | |
29 | ------------------ | |
30 | ||
31 | - Middleware is now a generator, to deal appropriately with application | |
32 | iterators which are themselves not lists. | |
33 | ||
34 | - Convert use of deprecated failIf/failUnless to assertFalse/assertTrue. | |
35 | ||
36 | - Add support for testing under supported Pythons using Tox. | |
37 | ||
38 | - Add explicit support for Python 3.2 ad 3.3. | |
39 | ||
40 | - Drop support for Python 2.4, 2.5. | |
41 | ||
42 | 1.0 (2012-03-24) | |
43 | ---------------- | |
44 | ||
45 | - Run OOTB under Python 2.4 / 2.5 (pin 'transaction' dependency to | |
46 | a supported version when running under 2.4 / 2.5). | |
47 | ||
48 | 1.0b2 (2011-07-18) | |
49 | ------------------ | |
50 | ||
51 | - A new header ``X-Tm`` is now honored by the ``default_commit_veto`` commit | |
52 | veto hook. If this header exists in the headerlist, its value must be a | |
53 | string. If its value is ``commit``, the transaction will be committed | |
54 | regardless of the status code or the value of ``X-Tm-Abort``. If the value | |
55 | of the ``X-Tm`` header is ``abort`` (or any other string value except | |
56 | ``commit``), the transaction will be aborted regardless of the status code | |
57 | or the value of ``X-Tm-Abort``. | |
58 | ||
59 | - Use of the ``X-Tm-Abort`` header is now deprecated. Instead use the | |
60 | ``X-Tm`` header with a value of ``abort`` instead. | |
61 | ||
62 | - Add API docs section. | |
63 | ||
64 | 1.0b1 (2011-01-19) | |
65 | ------------------ | |
66 | ||
67 | - Added ``repoze.tm.default_commit_veto`` commit veto hook. This commit veto | |
68 | hook aborts for 4XX and 5XX response codes, or if there's a header named | |
69 | ``X-Tm-Abort`` in the headerlist and allows a commit otherwise. | |
70 | ||
71 | - Documented commit veto hook. | |
72 | ||
73 | 1.0a5 (2009-09-07) | |
74 | ------------------ | |
75 | ||
76 | - Don't commit after aborting if the transaction was doomed or if the | |
77 | commit veto aborted. | |
78 | ||
79 | - Don't use "real" transaction module in tests. | |
80 | ||
81 | - 100% test coverage. | |
82 | ||
83 | 1.0a4 (2009-01-06) | |
84 | ------------------ | |
85 | ||
86 | - RESTify CHANGES, move docs in README.txt into Sphinx. | |
87 | ||
88 | - Remove ``setup.cfg`` (all dependencies available via PyPI). | |
89 | ||
90 | - Synchronization point with ``repoze.tm`` (0.9). | |
91 | ||
92 | 1.0a3 (2008-08-03) | |
93 | ------------------ | |
94 | ||
95 | Allow ``commit_veto`` hook to be specified within Paste config, ala:: | |
96 | ||
97 | [filter:tm] | |
98 | use = repoze.tm:make_tm | |
99 | commit_veto = some.package:myfunction | |
100 | ||
101 | ``myfunction`` should take three args: environ, status, headers and | |
102 | should return True if the txn should be aborted, False if it should be | |
103 | committed. | |
104 | ||
105 | Initial PyPI release. | |
106 | ||
107 | 1.0a2 (2008-07-15) | |
108 | ------------------ | |
109 | ||
110 | - Provide "commit_veto" hook point (contributed by Alberto Valverde). | |
111 | ||
112 | - Point easy_install at http://dist.repoze.org/tm2/dev/simple via setup.cfg. | |
113 | ||
114 | 1.0a1 (2008-01-09) | |
115 | ------------------ | |
116 | ||
117 | - Fork point: we've created repoze.tm2, which is repoze.tm that has a | |
118 | dependency only on the 'transaction' package instead of all of ZODB. | |
119 | ||
120 | - Better documentation for non-Zope usage in README.txt. | |
121 | ||
122 | 0.8 (2007-10-11) | |
123 | ---------------- | |
124 | ||
125 | - Relaxed requirement for ZODB 3.7.2, since we might need to use the | |
126 | package with other verions. Note that the tests which depend on | |
127 | transaction having "doom" semantics don't work with 3.7.2, anyway. | |
128 | ||
129 | 0.7 (2007-09-25) | |
130 | ---------------- | |
131 | ||
132 | - Depend on PyPI release of ZODB 3.7.2. Upgrade to this by doing | |
133 | bin/easy_install -U 'ZODB3 >= 3.7.1, < 3.8.0a' if necessary. | |
134 | ||
135 | 0.6 (2007-09-21) | |
136 | ---------------- | |
137 | ||
138 | - after_end.register and after_end.unregister must now be passed a | |
139 | transaction object rather than a WSGI environment to avoid the | |
140 | possibility that the WSGI environment used by a child participating | |
141 | in transaction management won't be the same one used by the | |
142 | repoze.tm package. | |
143 | ||
144 | - repoze.tm now inserts a key into the WSGI environment | |
145 | (``repoze.tm.active``) if it's active in the WSGI pipeline. An API | |
146 | function, repoze.tm:isActive can be called with a single argument, | |
147 | the WSGI environment, to check if the middleware is active. | |
148 | ||
149 | 0.5 (2007-09-18) | |
150 | ---------------- | |
151 | ||
152 | - Depend on rerolled ZODB 3.7.1 instead of zopelib. | |
153 | ||
154 | - Add license and copyright, change trove classifiers. | |
155 | ||
156 | 0.4 (2007-09-17) | |
157 | ---------------- | |
158 | ||
159 | - Depend on zopelib rather than ZODB 3.8.0b3 distribution, because the | |
160 | ZODB distribution pulls in various packages (zope.interface and ZEO | |
161 | most notably) that are incompatible with stock Zope 2.10.4 apps and | |
162 | older sandboxes. We'll need to revisit this. | |
163 | ||
164 | 0.3 (2007-09-14) | |
165 | ---------------- | |
166 | ||
167 | - Provide limited compatibility for older transaction package versions | |
168 | which don't support the 'transaction.isDoomed' API. | |
169 | ||
170 | 0.2 (2007-09-13) | |
171 | ---------------- | |
172 | ||
173 | - Provide after_end API for registering callbacks at transaction end. | |
174 | ||
175 | 0.1 (2007-09-10) | |
176 | ---------------- | |
177 | ||
178 | - Initial Release | |
179 | ||
180 | Keywords: web application server wsgi zope repoze | |
181 | Platform: UNKNOWN | |
182 | Classifier: Development Status :: 3 - Alpha | |
183 | Classifier: Intended Audience :: Developers | |
184 | Classifier: Programming Language :: Python | |
185 | Classifier: Programming Language :: Python :: 2.6 | |
186 | Classifier: Programming Language :: Python :: 2.7 | |
187 | Classifier: Programming Language :: Python :: 3 | |
188 | Classifier: Programming Language :: Python :: 3.2 | |
189 | Classifier: Programming Language :: Python :: 3.3 | |
190 | Classifier: Programming Language :: Python :: Implementation :: CPython | |
191 | Classifier: Programming Language :: Python :: Implementation :: PyPy | |
192 | Classifier: Topic :: Internet :: WWW/HTTP | |
193 | Classifier: Topic :: Internet :: WWW/HTTP :: WSGI | |
194 | Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware |
0 | 0 | repoze.tm2 (Transaction Manager) |
1 | 1 | ================================ |
2 | ||
3 | .. image:: https://travis-ci.org/repoze/repoze.tm2.png?branch=master | |
4 | :target: https://travis-ci.org/repoze/repoze.tm2 | |
5 | ||
6 | .. image:: https://readthedocs.org/projects/repozetm2/badge/?version=latest | |
7 | :target: http://repozetm2.readthedocs.org/en/latest/ | |
8 | :alt: Documentation Status | |
9 | ||
10 | .. image:: https://img.shields.io/pypi/v/repoze.tm2.svg | |
11 | :target: https://pypi.python.org/pypi/repoze.tm2 | |
12 | ||
13 | .. image:: https://img.shields.io/pypi/pyversions/repoze.tm2.svg | |
14 | :target: https://pypi.python.org/pypi/repoze.tm2 | |
2 | 15 | |
3 | 16 | Middleware which uses the ZODB transaction manager to wrap a call to |
4 | 17 | its pipeline children inside a transaction. This is a fork of the |
5 | 18 | ``repoze.tm`` package which depends only on the ``transaction`` |
6 | 19 | package rather than the entirety of ZODB (for users who don't rely on ZODB). |
7 | 20 | |
8 | See docs/index.rst for documentation. | |
21 | Installation | |
22 | ------------ | |
23 | ||
24 | Install using setuptools, e.g. (within a virtualenv):: | |
25 | ||
26 | $ easy_install repoze.tm2 | |
27 | ||
28 | or using pip:: | |
29 | ||
30 | $ pip install repoze.tm2 | |
31 | ||
32 | ||
33 | Usage | |
34 | ----- | |
35 | ||
36 | For details on using the various components, please see the | |
37 | documentation in ``docs/index.rst``. A rendered version of that documentation | |
38 | is also available online: | |
39 | ||
40 | - http://repozetm2.readthedocs.org/en/latest/ | |
41 | ||
42 | ||
43 | Reporting Bugs | |
44 | -------------- | |
45 | ||
46 | Please report bugs in this package to | |
47 | ||
48 | https://github.com/repoze/repoze.tm2/issues | |
49 | ||
50 | ||
51 | Obtaining Source Code | |
52 | --------------------- | |
53 | ||
54 | Download development or tagged versions of the software by visiting: | |
55 | ||
56 | https://github.com/repoze/repoze.tm2 | |
57 |
0 | python-repoze.tm2 (2.1+git20160603.16cede7-1) UNRELEASED; urgency=medium | |
1 | ||
2 | * New upstream snapshot. | |
3 | ||
4 | -- Debian Janitor <janitor@jelmer.uk> Thu, 07 Nov 2019 03:00:49 +0000 | |
5 | ||
0 | 6 | python-repoze.tm2 (2.0-2) unstable; urgency=medium |
1 | 7 | |
2 | 8 | * Team upload. |
0 | @import url('default.css'); | |
1 | body { | |
2 | background-color: #006339; | |
3 | } | |
4 | ||
5 | div.document { | |
6 | background-color: #dad3bd; | |
7 | } | |
8 | ||
9 | div.sphinxsidebar h3,h4,h5,li,a { | |
10 | color: #127c56 !important; | |
11 | } | |
12 | ||
13 | div.related { | |
14 | color: #dad3bd; | |
15 | background-color: #00744a; | |
16 | } | |
17 | ||
18 | div.related a { | |
19 | color: #dad3bd; | |
20 | } |
8 | 8 | # Internal variables. |
9 | 9 | PAPEROPT_a4 = -D latex_paper_size=a4 |
10 | 10 | PAPEROPT_letter = -D latex_paper_size=letter |
11 | ALLSPHINXOPTS = -d .build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . | |
11 | ALLSPHINXOPTS = -d _build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . | |
12 | 12 | |
13 | 13 | .PHONY: help clean html web pickle htmlhelp latex changes linkcheck |
14 | 14 | |
22 | 22 | @echo " linkcheck to check all external links for integrity" |
23 | 23 | |
24 | 24 | clean: |
25 | -rm -rf .build/* | |
25 | -rm -rf _build/* | |
26 | 26 | |
27 | 27 | html: |
28 | mkdir -p .build/html .build/doctrees | |
29 | $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) .build/html | |
28 | mkdir -p _build/html _build/doctrees | |
29 | $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) _build/html | |
30 | 30 | @echo |
31 | @echo "Build finished. The HTML pages are in .build/html." | |
31 | @echo "Build finished. The HTML pages are in _build/html." | |
32 | 32 | |
33 | 33 | pickle: |
34 | mkdir -p .build/pickle .build/doctrees | |
35 | $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) .build/pickle | |
34 | mkdir -p _build/pickle _build/doctrees | |
35 | $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) _build/pickle | |
36 | 36 | @echo |
37 | 37 | @echo "Build finished; now you can process the pickle files or run" |
38 | @echo " sphinx-web .build/pickle" | |
38 | @echo " sphinx-web _build/pickle" | |
39 | 39 | @echo "to start the sphinx-web server." |
40 | 40 | |
41 | 41 | web: pickle |
42 | 42 | |
43 | 43 | htmlhelp: |
44 | mkdir -p .build/htmlhelp .build/doctrees | |
45 | $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) .build/htmlhelp | |
44 | mkdir -p _build/htmlhelp _build/doctrees | |
45 | $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) _build/htmlhelp | |
46 | 46 | @echo |
47 | 47 | @echo "Build finished; now you can run HTML Help Workshop with the" \ |
48 | ".hhp project file in .build/htmlhelp." | |
48 | ".hhp project file in _build/htmlhelp." | |
49 | 49 | |
50 | 50 | latex: |
51 | mkdir -p .build/latex .build/doctrees | |
52 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) .build/latex | |
51 | mkdir -p _build/latex _build/doctrees | |
52 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) _build/latex | |
53 | 53 | @echo |
54 | @echo "Build finished; the LaTeX files are in .build/latex." | |
54 | @echo "Build finished; the LaTeX files are in _build/latex." | |
55 | 55 | @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \ |
56 | 56 | "run these through (pdf)latex." |
57 | 57 | |
58 | 58 | changes: |
59 | mkdir -p .build/changes .build/doctrees | |
60 | $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) .build/changes | |
59 | mkdir -p _build/changes _build/doctrees | |
60 | $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) _build/changes | |
61 | 61 | @echo |
62 | @echo "The overview file is in .build/changes." | |
62 | @echo "The overview file is in _build/changes." | |
63 | 63 | |
64 | 64 | linkcheck: |
65 | mkdir -p .build/linkcheck .build/doctrees | |
66 | $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) .build/linkcheck | |
65 | mkdir -p _build/linkcheck _build/doctrees | |
66 | $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) _build/linkcheck | |
67 | 67 | @echo |
68 | 68 | @echo "Link check complete; look for any errors in the above output " \ |
69 | "or in .build/linkcheck/output.txt." | |
69 | "or in _build/linkcheck/output.txt." |
Binary diff not shown
0 | @import url('default.css'); | |
1 | body { | |
2 | background-color: #006339; | |
3 | } | |
4 | ||
5 | div.document { | |
6 | background-color: #dad3bd; | |
7 | } | |
8 | ||
9 | div.sphinxsidebar h3,h4,h5,li,a { | |
10 | color: #127c56 !important; | |
11 | } | |
12 | ||
13 | div.related { | |
14 | color: #dad3bd; | |
15 | background-color: #00744a; | |
16 | } | |
17 | ||
18 | div.related a { | |
19 | color: #dad3bd; | |
20 | } |
0 | :mod:`repoze.tm` | |
1 | ---------------- | |
0 | :mod:`repoze.tm2` API | |
1 | --------------------- | |
2 | 2 | |
3 | 3 | .. automodule:: repoze.tm |
4 | 4 |
0 | :mod:`repoze.tm` Change History | |
1 | =============================== | |
0 | :mod:`repoze.tm2` Change History | |
1 | ================================ | |
2 | 2 | |
3 | 3 | .. include:: ../CHANGES.rst |
37 | 37 | extensions = ['sphinx.ext.autodoc'] |
38 | 38 | |
39 | 39 | # Add any paths that contain templates here, relative to this directory. |
40 | templates_path = ['.templates'] | |
40 | templates_path = ['_templates'] | |
41 | 41 | |
42 | 42 | # The suffix of source filenames. |
43 | 43 | source_suffix = '.rst' |
55 | 55 | # The short X.Y version. |
56 | 56 | version = '2.0' |
57 | 57 | # The full version, including alpha/beta/rc tags. |
58 | release = '2.0b1' | |
58 | release = '2.0' | |
59 | 59 | |
60 | 60 | # There are two options for replacing |today|: either, you set today to |
61 | 61 | # some non-false value, then it is used: |
107 | 107 | |
108 | 108 | # The name of an image file (within the static path) to place at the top of |
109 | 109 | # the sidebar. |
110 | html_logo = '.static/logo_hi.gif' | |
110 | html_logo = '_static/logo_hi.png' | |
111 | 111 | |
112 | 112 | # The name of an image file (within the static path) to use as favicon of |
113 | 113 | # the docs. This file should be a Windows icon file (.ico) being 16x16 or |
118 | 118 | # here, relative to this directory. They are copied after the builtin |
119 | 119 | # static files, so a file named "default.css" will overwrite the builtin |
120 | 120 | # "default.css". |
121 | html_static_path = ['.static'] | |
121 | html_static_path = ['_static'] | |
122 | 122 | |
123 | 123 | # If not '', a 'Last updated on:' timestamp is inserted at every page |
124 | 124 | # bottom, using the given strftime format. |
179 | 179 | |
180 | 180 | # The name of an image file (relative to this directory) to place at the |
181 | 181 | # top of the title page. |
182 | latex_logo = '.static/logo_hi.gif' | |
182 | latex_logo = '_static/logo_hi.png' | |
183 | 183 | |
184 | 184 | # For "manual" documents, if this is true, then toplevel headings are |
185 | 185 | # parts, not chapters. |
407 | 407 | transaction-aware database connector that uses this module in non-Zope |
408 | 408 | applications: |
409 | 409 | |
410 | - http://svn.zope.org/ZODB/branches/3.7/src/transaction/ | |
411 | ||
412 | - http://svn.zope.org/ZODB/branches/3.8/src/transaction/ | |
410 | - http://www.zodb.org/en/latest/documentation/guide/transactions.html | |
413 | 411 | |
414 | 412 | - http://mysql-python.sourceforge.net/ (ZMySQLDA) |
415 | 413 | |
422 | 420 | <http://lists.repoze.org/mailman/listinfo/repoze-dev>`_ should be used |
423 | 421 | for communications about this software. |
424 | 422 | |
423 | Report bugs on Github: https://github.com/repoze/repoze.tm2/issues | |
424 | ||
425 | Fork it on Github: https://github.com/repoze/repoze.tm2/ | |
426 | ||
425 | 427 | API Docs |
426 | 428 | ------------------------ |
427 | 429 |
173 | 173 | """ Paste filter_app_factory entry point for creation of a TM middleware.""" |
174 | 174 | from pkg_resources import EntryPoint |
175 | 175 | if commit_veto is not None: |
176 | commit_veto = EntryPoint.parse('x=%s' % commit_veto).load(False) | |
176 | commit_veto = EntryPoint.parse('x=%s' % commit_veto).resolve() | |
177 | 177 | return TM(app, commit_veto) |
178 | 178 |
0 | Metadata-Version: 1.1 | |
1 | Name: repoze.tm2 | |
2 | Version: 2.0 | |
3 | Summary: Per-request transactions via WSGI middleware | |
4 | Home-page: http://www.repoze.org | |
5 | Author: Agendaless Consulting | |
6 | Author-email: repoze-dev@lists.repoze.org | |
7 | License: BSD-derived (http://www.repoze.org/LICENSE.txt) | |
8 | Description: repoze.tm2 (Transaction Manager) | |
9 | ================================ | |
10 | ||
11 | Middleware which uses the ZODB transaction manager to wrap a call to | |
12 | its pipeline children inside a transaction. This is a fork of the | |
13 | ``repoze.tm`` package which depends only on the ``transaction`` | |
14 | package rather than the entirety of ZODB (for users who don't rely on ZODB). | |
15 | ||
16 | See docs/index.rst for documentation. | |
17 | ||
18 | ||
19 | Changelog | |
20 | ========= | |
21 | ||
22 | 2.0 (2013-06-26) | |
23 | ---------------- | |
24 | ||
25 | - Avoid swallowing the original exception while aborting the transaction | |
26 | in middleware. See PR #3. | |
27 | ||
28 | 2.0b1 (2013-04-05) | |
29 | ------------------ | |
30 | ||
31 | - Middleware is now a generator, to deal appropriately with application | |
32 | iterators which are themselves not lists. | |
33 | ||
34 | - Convert use of deprecated failIf/failUnless to assertFalse/assertTrue. | |
35 | ||
36 | - Add support for testing under supported Pythons using Tox. | |
37 | ||
38 | - Add explicit support for Python 3.2 ad 3.3. | |
39 | ||
40 | - Drop support for Python 2.4, 2.5. | |
41 | ||
42 | 1.0 (2012-03-24) | |
43 | ---------------- | |
44 | ||
45 | - Run OOTB under Python 2.4 / 2.5 (pin 'transaction' dependency to | |
46 | a supported version when running under 2.4 / 2.5). | |
47 | ||
48 | 1.0b2 (2011-07-18) | |
49 | ------------------ | |
50 | ||
51 | - A new header ``X-Tm`` is now honored by the ``default_commit_veto`` commit | |
52 | veto hook. If this header exists in the headerlist, its value must be a | |
53 | string. If its value is ``commit``, the transaction will be committed | |
54 | regardless of the status code or the value of ``X-Tm-Abort``. If the value | |
55 | of the ``X-Tm`` header is ``abort`` (or any other string value except | |
56 | ``commit``), the transaction will be aborted regardless of the status code | |
57 | or the value of ``X-Tm-Abort``. | |
58 | ||
59 | - Use of the ``X-Tm-Abort`` header is now deprecated. Instead use the | |
60 | ``X-Tm`` header with a value of ``abort`` instead. | |
61 | ||
62 | - Add API docs section. | |
63 | ||
64 | 1.0b1 (2011-01-19) | |
65 | ------------------ | |
66 | ||
67 | - Added ``repoze.tm.default_commit_veto`` commit veto hook. This commit veto | |
68 | hook aborts for 4XX and 5XX response codes, or if there's a header named | |
69 | ``X-Tm-Abort`` in the headerlist and allows a commit otherwise. | |
70 | ||
71 | - Documented commit veto hook. | |
72 | ||
73 | 1.0a5 (2009-09-07) | |
74 | ------------------ | |
75 | ||
76 | - Don't commit after aborting if the transaction was doomed or if the | |
77 | commit veto aborted. | |
78 | ||
79 | - Don't use "real" transaction module in tests. | |
80 | ||
81 | - 100% test coverage. | |
82 | ||
83 | 1.0a4 (2009-01-06) | |
84 | ------------------ | |
85 | ||
86 | - RESTify CHANGES, move docs in README.txt into Sphinx. | |
87 | ||
88 | - Remove ``setup.cfg`` (all dependencies available via PyPI). | |
89 | ||
90 | - Synchronization point with ``repoze.tm`` (0.9). | |
91 | ||
92 | 1.0a3 (2008-08-03) | |
93 | ------------------ | |
94 | ||
95 | Allow ``commit_veto`` hook to be specified within Paste config, ala:: | |
96 | ||
97 | [filter:tm] | |
98 | use = repoze.tm:make_tm | |
99 | commit_veto = some.package:myfunction | |
100 | ||
101 | ``myfunction`` should take three args: environ, status, headers and | |
102 | should return True if the txn should be aborted, False if it should be | |
103 | committed. | |
104 | ||
105 | Initial PyPI release. | |
106 | ||
107 | 1.0a2 (2008-07-15) | |
108 | ------------------ | |
109 | ||
110 | - Provide "commit_veto" hook point (contributed by Alberto Valverde). | |
111 | ||
112 | - Point easy_install at http://dist.repoze.org/tm2/dev/simple via setup.cfg. | |
113 | ||
114 | 1.0a1 (2008-01-09) | |
115 | ------------------ | |
116 | ||
117 | - Fork point: we've created repoze.tm2, which is repoze.tm that has a | |
118 | dependency only on the 'transaction' package instead of all of ZODB. | |
119 | ||
120 | - Better documentation for non-Zope usage in README.txt. | |
121 | ||
122 | 0.8 (2007-10-11) | |
123 | ---------------- | |
124 | ||
125 | - Relaxed requirement for ZODB 3.7.2, since we might need to use the | |
126 | package with other verions. Note that the tests which depend on | |
127 | transaction having "doom" semantics don't work with 3.7.2, anyway. | |
128 | ||
129 | 0.7 (2007-09-25) | |
130 | ---------------- | |
131 | ||
132 | - Depend on PyPI release of ZODB 3.7.2. Upgrade to this by doing | |
133 | bin/easy_install -U 'ZODB3 >= 3.7.1, < 3.8.0a' if necessary. | |
134 | ||
135 | 0.6 (2007-09-21) | |
136 | ---------------- | |
137 | ||
138 | - after_end.register and after_end.unregister must now be passed a | |
139 | transaction object rather than a WSGI environment to avoid the | |
140 | possibility that the WSGI environment used by a child participating | |
141 | in transaction management won't be the same one used by the | |
142 | repoze.tm package. | |
143 | ||
144 | - repoze.tm now inserts a key into the WSGI environment | |
145 | (``repoze.tm.active``) if it's active in the WSGI pipeline. An API | |
146 | function, repoze.tm:isActive can be called with a single argument, | |
147 | the WSGI environment, to check if the middleware is active. | |
148 | ||
149 | 0.5 (2007-09-18) | |
150 | ---------------- | |
151 | ||
152 | - Depend on rerolled ZODB 3.7.1 instead of zopelib. | |
153 | ||
154 | - Add license and copyright, change trove classifiers. | |
155 | ||
156 | 0.4 (2007-09-17) | |
157 | ---------------- | |
158 | ||
159 | - Depend on zopelib rather than ZODB 3.8.0b3 distribution, because the | |
160 | ZODB distribution pulls in various packages (zope.interface and ZEO | |
161 | most notably) that are incompatible with stock Zope 2.10.4 apps and | |
162 | older sandboxes. We'll need to revisit this. | |
163 | ||
164 | 0.3 (2007-09-14) | |
165 | ---------------- | |
166 | ||
167 | - Provide limited compatibility for older transaction package versions | |
168 | which don't support the 'transaction.isDoomed' API. | |
169 | ||
170 | 0.2 (2007-09-13) | |
171 | ---------------- | |
172 | ||
173 | - Provide after_end API for registering callbacks at transaction end. | |
174 | ||
175 | 0.1 (2007-09-10) | |
176 | ---------------- | |
177 | ||
178 | - Initial Release | |
179 | ||
180 | Keywords: web application server wsgi zope repoze | |
181 | Platform: UNKNOWN | |
182 | Classifier: Development Status :: 3 - Alpha | |
183 | Classifier: Intended Audience :: Developers | |
184 | Classifier: Programming Language :: Python | |
185 | Classifier: Programming Language :: Python :: 2.6 | |
186 | Classifier: Programming Language :: Python :: 2.7 | |
187 | Classifier: Programming Language :: Python :: 3 | |
188 | Classifier: Programming Language :: Python :: 3.2 | |
189 | Classifier: Programming Language :: Python :: 3.3 | |
190 | Classifier: Programming Language :: Python :: Implementation :: CPython | |
191 | Classifier: Programming Language :: Python :: Implementation :: PyPy | |
192 | Classifier: Topic :: Internet :: WWW/HTTP | |
193 | Classifier: Topic :: Internet :: WWW/HTTP :: WSGI | |
194 | Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware |
0 | .gitignore | |
1 | CHANGES.rst | |
2 | CONTRIBUTORS.txt | |
3 | COPYRIGHT.txt | |
4 | LICENSE.txt | |
5 | README.rst | |
6 | TODO.txt | |
7 | setup.cfg | |
8 | setup.py | |
9 | tox.ini | |
10 | docs/Makefile | |
11 | docs/api.rst | |
12 | docs/changes.rst | |
13 | docs/conf.py | |
14 | docs/index.rst | |
15 | docs/.static/logo_hi.gif | |
16 | docs/.static/repoze.css | |
17 | repoze/__init__.py | |
18 | repoze.tm2.egg-info/PKG-INFO | |
19 | repoze.tm2.egg-info/SOURCES.txt | |
20 | repoze.tm2.egg-info/dependency_links.txt | |
21 | repoze.tm2.egg-info/entry_points.txt | |
22 | repoze.tm2.egg-info/namespace_packages.txt | |
23 | repoze.tm2.egg-info/not-zip-safe | |
24 | repoze.tm2.egg-info/requires.txt | |
25 | repoze.tm2.egg-info/top_level.txt | |
26 | repoze/tm/__init__.py | |
27 | repoze/tm/tests.py⏎ |
0 | 0 | [nosetests] |
1 | match = ^test | |
2 | where = repoze/tm | |
3 | nocapture = 1 | |
4 | cover-package = repoze.tm | |
5 | cover-erase = 1 | |
1 | match=^test | |
2 | where=repoze/tm | |
3 | nocapture=1 | |
4 | cover-package=repoze.tm | |
5 | cover-erase=1 | |
6 | 6 | |
7 | 7 | [aliases] |
8 | 8 | dev = develop easy_install repoze.tm2[testing] |
9 | 9 | docs = develop easy_install repoze.tm2[docs] |
10 | ||
11 | [egg_info] | |
12 | tag_build = | |
13 | tag_date = 0 | |
14 | tag_svn_revision = 0 | |
15 |
7 | 7 | docs_extras = install_requires + ['Sphinx'] |
8 | 8 | |
9 | 9 | here = os.path.abspath(os.path.dirname(__file__)) |
10 | README = open(os.path.join(here, 'README.rst')).read() | |
11 | CHANGES = open(os.path.join(here, 'CHANGES.rst')).read() | |
10 | def _read_file(filename): | |
11 | try: | |
12 | with open(os.path.join(here, filename)) as f: | |
13 | return f.read() | |
14 | except IOError: # Travis??? | |
15 | return '' | |
16 | README = _read_file('README.rst') | |
17 | CHANGES = _read_file('CHANGES.rst') | |
12 | 18 | |
13 | 19 | setup(name='repoze.tm2', |
14 | version='2.0', | |
20 | version='2.1.1.dev0', | |
15 | 21 | description='Per-request transactions via WSGI middleware', |
16 | 22 | long_description=README + "\n\n" + CHANGES, |
17 | 23 | classifiers=[ |
18 | "Development Status :: 3 - Alpha", | |
24 | "Development Status :: 5 - Production/Stable", | |
19 | 25 | "Intended Audience :: Developers", |
20 | 26 | "Programming Language :: Python", |
21 | "Programming Language :: Python :: 2.6", | |
27 | "Programming Language :: Python :: 2", | |
22 | 28 | "Programming Language :: Python :: 2.7", |
23 | 29 | "Programming Language :: Python :: 3", |
24 | "Programming Language :: Python :: 3.2", | |
25 | 30 | "Programming Language :: Python :: 3.3", |
31 | "Programming Language :: Python :: 3.4", | |
32 | "Programming Language :: Python :: 3.5", | |
26 | 33 | "Programming Language :: Python :: Implementation :: CPython", |
27 | 34 | "Programming Language :: Python :: Implementation :: PyPy", |
28 | 35 | "Topic :: Internet :: WWW/HTTP", |
0 | 0 | [tox] |
1 | 1 | envlist = |
2 | py26,py27,py32,py33,pypy,cover,docs | |
2 | py27,pypy,py33,py34,py35,pypy3,cover,docs | |
3 | 3 | |
4 | 4 | [testenv] |
5 | 5 | commands = |
6 | python setup.py test -q | |
6 | python setup.py -q test -q | |
7 | 7 | deps = |
8 | 8 | zope.interface |
9 | 9 | transaction |
10 | 10 | |
11 | 11 | [testenv:cover] |
12 | 12 | basepython = |
13 | python2.6 | |
13 | python2.7 | |
14 | 14 | commands = |
15 | 15 | nosetests --with-xunit --with-xcoverage |
16 | 16 | deps = |
26 | 26 | |
27 | 27 | [testenv:docs] |
28 | 28 | basepython = |
29 | python2.6 | |
29 | python2.7 | |
30 | 30 | commands = |
31 | 31 | sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html |
32 | 32 | deps = |