Mercurial > p > roundup > code
annotate roundup/__init__.py @ 5639:f576957cbb1f
Add support for prev/next/self links when returning paginated results.
To do this:
1) change "data" envelope from an array to a dict
2) move the "data" array to the "collection" property,
which is an array of elements in the collection.
3) add @links dict keyed by link relation: self, next, prev.
Each relation is an array of dicts with uri and rel keys.
In this case there is only one element, but there is nothing
preventing a relation from having multiple url's. So this follows
the formatting needed for the general case.
Relations are present only if it makes sense. So first page has no
prev and last page has no next.
4) add @total_size with number of element selected if they were
not paginated. Replicates data in X-Count-Total header.
Changed index to start at 1. So the first page is page_index 1 and not
page_index 0. (So I am no longer surprised when I set page_index to 1
and am missing a bunch of records 8-)).
Also a small fixup, json response ends with a newline so printing
the data, or using curl makes sure that anything printing after the
json output (like shell prompts) is on a new line.
Tests added for all cases.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sat, 09 Mar 2019 11:06:10 -0500 |
| parents | 70f6a3ede190 |
| children | b68d3d8531d5 573b688fffeb |
| rev | line source |
|---|---|
|
213
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
1 # |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
2 # Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/) |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
3 # This module is free software, and you may redistribute it and/or modify |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
4 # under the same terms as Python, so long as this copyright message and |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
5 # disclaimer are retained in their original form. |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
6 # |
| 214 | 7 # IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR |
|
213
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
8 # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
9 # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
10 # POSSIBILITY OF SUCH DAMAGE. |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
11 # |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
12 # BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
|
3938
083e280165a8
Pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
3819
diff
changeset
|
17 # |
|
106
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
18 |
|
2005
fc52d57c6c3e
documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
1980
diff
changeset
|
19 '''Roundup - issue tracking for knowledge workers. |
|
1244
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
20 |
|
106
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
21 This is a simple-to-use and -install issue-tracking system with |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
22 command-line, web and e-mail interfaces. |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
23 |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
24 Roundup manages a number of issues (with properties such as |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
25 "description", "priority", and so on) and provides the ability to (a) submit |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
26 new issues, (b) find and edit existing issues, and (c) discuss issues with |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
27 other participants. The system will facilitate communication among the |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
28 participants by managing discussions and notifying interested parties when |
|
3938
083e280165a8
Pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
3819
diff
changeset
|
29 issues are edited. |
|
106
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
30 |
|
1244
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
31 Roundup's structure is that of a cake:: |
|
26
c7c14960f413
Final commit of Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
25
diff
changeset
|
32 |
|
1244
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
33 _________________________________________________________________________ |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
34 | E-mail Client | Web Browser | Detector Scripts | Shell | |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
35 |------------------+-----------------+----------------------+-------------| |
|
3938
083e280165a8
Pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
3819
diff
changeset
|
36 | E-mail User | Web User | Detector | Command | |
|
1244
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
37 |-------------------------------------------------------------------------| |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
38 | Roundup Database Layer | |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
39 |-------------------------------------------------------------------------| |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
40 | Hyperdatabase Layer | |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
41 |-------------------------------------------------------------------------| |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
42 | Storage Layer | |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
43 ------------------------------------------------------------------------- |
|
106
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
44 |
|
2005
fc52d57c6c3e
documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
1980
diff
changeset
|
45 1. The first layer represents the users (chocolate). |
|
fc52d57c6c3e
documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
1980
diff
changeset
|
46 2. The second layer is the Roundup interface to the users (vanilla). |
|
fc52d57c6c3e
documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
1980
diff
changeset
|
47 3. The third and fourth layers are the internal Roundup database storage |
|
fc52d57c6c3e
documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
1980
diff
changeset
|
48 mechanisms (strawberry). |
|
fc52d57c6c3e
documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
1980
diff
changeset
|
49 4. The final, lowest layer is the underlying database storage (rum). |
|
106
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
50 |
|
1244
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
51 These are implemented in the code in the following manner:: |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
52 |
|
106
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
53 E-mail User: roundup-mailgw and roundup.mailgw |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
54 Web User: cgi-bin/roundup.cgi or roundup-server over |
|
1244
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
55 roundup.cgi.client and roundup.cgi.template |
|
106
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
56 Detector: roundup.roundupdb and templates/<template>/detectors |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
57 Command: roundup-admin |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
58 Roundup DB: roundup.roundupdb |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
59 Hyper DB: roundup.hyperdb, roundup.date |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
60 Storage: roundup.backends.* |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
61 |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
62 Additionally, there is a directory of unit tests in "test". |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
63 |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
64 For more information, see the original overview and specification documents |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
65 written by Ka-Ping Yee in the "doc" directory. If nothing else, it has a |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
66 much prettier cake :) |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
67 ''' |
|
2005
fc52d57c6c3e
documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
1980
diff
changeset
|
68 __docformat__ = 'restructuredtext' |
|
26
c7c14960f413
Final commit of Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
25
diff
changeset
|
69 |
|
5359
70f6a3ede190
change version from 1.6 to 1.6.0 to match prior minor release versioning.
John Rouillard <rouilj@ieee.org>
parents:
5335
diff
changeset
|
70 __version__ = '1.6.0' |
|
773
6e6c63a57df9
[SF#569415] {version]]
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
71 |
|
127
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
106
diff
changeset
|
72 # vim: set filetype=python ts=4 sw=4 et si |
