Merge lp://staging/~gary/lazr.batchnavigator/license_and_build into lp://staging/~launchpad-pqm/lazr.batchnavigator/trunk
- license_and_build
- Merge into trunk
Proposed by
Gary Poster
Status: | Merged |
---|---|
Approved by: | Francis J. Lacoste |
Approved revision: | 28 |
Merged at revision: | not available |
Proposed branch: | lp://staging/~gary/lazr.batchnavigator/license_and_build |
Merge into: | lp://staging/~launchpad-pqm/lazr.batchnavigator/trunk |
Diff against target: | None lines |
To merge this branch: | bzr merge lp://staging/~gary/lazr.batchnavigator/license_and_build |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Francis J. Lacoste (community) | Approve | ||
Review via email:
|
Commit message
Description of the change
To post a comment you must log in.
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Gary Poster (gary) wrote : | # |
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Francis J. Lacoste (flacoste) wrote : | # |
On March 24, 2009, Gary Poster wrote:
> Gary Poster has proposed merging
> lp:~gary/lazr.batchnavigator/license_and_build into
> lp:~launchpad-pqm/lazr.batchnavigator/trunk.
>
> Requested reviews:
> LAZR Developers (lazr-developers)
>
> The same changes as for the other lazr packages:
>
> - license specifies v3 of LGPL
>
> - buildout updates
>
status approved
review approve
All good.
--
Francis J. Lacoste
<email address hidden>
review:
Approve
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Gary Poster (gary) wrote : | # |
This was a mistaken review request. It simply updates the date, as requested in the review of lp:~gary/lazr.batchnavigator/build-license-changes. Sorry for the noise.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file '.bzrignore' |
2 | --- .bzrignore 2009-03-03 19:43:53 +0000 |
3 | +++ .bzrignore 2009-03-23 16:14:28 +0000 |
4 | @@ -3,6 +3,9 @@ |
5 | .installed.cfg |
6 | develop-eggs |
7 | parts |
8 | -src/lazr.batchnavigator.egg-info |
9 | +*.egg-info |
10 | tags |
11 | TAGS |
12 | +build |
13 | +*.egg |
14 | +dist |
15 | |
16 | === modified file 'HACKING.txt' |
17 | --- HACKING.txt 2009-03-03 19:43:53 +0000 |
18 | +++ HACKING.txt 2009-03-23 16:14:28 +0000 |
19 | @@ -1,18 +1,18 @@ |
20 | .. |
21 | This file is part of lazr.batchnavigator. |
22 | |
23 | - lazr.batchnavigator is free software: you can redistribute it and/or modify it |
24 | - under the terms of the GNU Lesser General Public License as published by |
25 | - the Free Software Foundation, either version 3 of the License, or (at your |
26 | - option) any later version. |
27 | + lazr.batchnavigator is free software: you can redistribute it and/or |
28 | + modify it under the terms of the GNU Lesser General Public License as |
29 | + published by the Free Software Foundation, version 3 of the License. |
30 | |
31 | - lazr.batchnavigator is distributed in the hope that it will be useful, but WITHOUT |
32 | - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
33 | - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
34 | + lazr.batchnavigator is distributed in the hope that it will be useful, but |
35 | + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
36 | + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
37 | License for more details. |
38 | |
39 | You should have received a copy of the GNU Lesser General Public License |
40 | - along with lazr.batchnavigator. If not, see <http://www.gnu.org/licenses/>. |
41 | + along with lazr.batchnavigator. If not, see |
42 | + <http://www.gnu.org/licenses/>. |
43 | |
44 | This project uses zc.buildout for development. |
45 | |
46 | |
47 | === added file 'MANIFEST.in' |
48 | --- MANIFEST.in 1970-01-01 00:00:00 +0000 |
49 | +++ MANIFEST.in 2009-03-24 15:07:42 +0000 |
50 | @@ -0,0 +1,2 @@ |
51 | +exclude MANIFEST.in buildout.cfg bootstrap.py .bzrignore |
52 | +prune _bootstrap |
53 | |
54 | === modified file 'README.txt' |
55 | --- README.txt 2009-03-05 23:19:16 +0000 |
56 | +++ README.txt 2009-03-23 16:14:28 +0000 |
57 | @@ -3,15 +3,15 @@ |
58 | .. |
59 | This file is part of lazr.batchnavigator. |
60 | |
61 | - lazr.batchnavigator is free software: you can redistribute it and/or modify it |
62 | - under the terms of the GNU Lesser General Public License as published by |
63 | - the Free Software Foundation, either version 3 of the License, or (at your |
64 | - option) any later version. |
65 | + lazr.batchnavigator is free software: you can redistribute it and/or |
66 | + modify it under the terms of the GNU Lesser General Public License as |
67 | + published by the Free Software Foundation, version 3 of the License. |
68 | |
69 | - lazr.batchnavigator is distributed in the hope that it will be useful, but WITHOUT |
70 | - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
71 | - FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
72 | + lazr.batchnavigator is distributed in the hope that it will be useful, but |
73 | + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
74 | + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
75 | License for more details. |
76 | |
77 | You should have received a copy of the GNU Lesser General Public License |
78 | - along with lazr.batchnavigator. If not, see <http://www.gnu.org/licenses/>. |
79 | + along with lazr.batchnavigator. If not, see |
80 | + <http://www.gnu.org/licenses/>. |
81 | |
82 | === added directory '_bootstrap' |
83 | === added file '_bootstrap/COPYRIGHT.txt' |
84 | --- _bootstrap/COPYRIGHT.txt 1970-01-01 00:00:00 +0000 |
85 | +++ _bootstrap/COPYRIGHT.txt 2009-03-24 15:07:42 +0000 |
86 | @@ -0,0 +1,9 @@ |
87 | +Copyright (c) 2004-2009 Zope Corporation and Contributors. |
88 | +All Rights Reserved. |
89 | + |
90 | +This software is subject to the provisions of the Zope Public License, |
91 | +Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. |
92 | +THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED |
93 | +WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
94 | +WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
95 | +FOR A PARTICULAR PURPOSE. |
96 | |
97 | === added file '_bootstrap/LICENSE.txt' |
98 | --- _bootstrap/LICENSE.txt 1970-01-01 00:00:00 +0000 |
99 | +++ _bootstrap/LICENSE.txt 2009-03-24 15:07:42 +0000 |
100 | @@ -0,0 +1,54 @@ |
101 | +Zope Public License (ZPL) Version 2.1 |
102 | +------------------------------------- |
103 | + |
104 | +A copyright notice accompanies this license document that |
105 | +identifies the copyright holders. |
106 | + |
107 | +This license has been certified as open source. It has also |
108 | +been designated as GPL compatible by the Free Software |
109 | +Foundation (FSF). |
110 | + |
111 | +Redistribution and use in source and binary forms, with or |
112 | +without modification, are permitted provided that the |
113 | +following conditions are met: |
114 | + |
115 | +1. Redistributions in source code must retain the |
116 | + accompanying copyright notice, this list of conditions, |
117 | + and the following disclaimer. |
118 | + |
119 | +2. Redistributions in binary form must reproduce the accompanying |
120 | + copyright notice, this list of conditions, and the |
121 | + following disclaimer in the documentation and/or other |
122 | + materials provided with the distribution. |
123 | + |
124 | +3. Names of the copyright holders must not be used to |
125 | + endorse or promote products derived from this software |
126 | + without prior written permission from the copyright |
127 | + holders. |
128 | + |
129 | +4. The right to distribute this software or to use it for |
130 | + any purpose does not give you the right to use |
131 | + Servicemarks (sm) or Trademarks (tm) of the copyright |
132 | + holders. Use of them is covered by separate agreement |
133 | + with the copyright holders. |
134 | + |
135 | +5. If any files are modified, you must cause the modified |
136 | + files to carry prominent notices stating that you changed |
137 | + the files and the date of any change. |
138 | + |
139 | +Disclaimer |
140 | + |
141 | + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' |
142 | + AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT |
143 | + NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY |
144 | + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN |
145 | + NO EVENT SHALL THE COPYRIGHT HOLDERS BE |
146 | + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
147 | + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
148 | + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
149 | + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
150 | + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
151 | + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE |
152 | + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
153 | + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH |
154 | + DAMAGE. |
155 | \ No newline at end of file |
156 | |
157 | === renamed file 'bootstrap.py' => '_bootstrap/bootstrap.py' |
158 | === added symlink 'bootstrap.py' |
159 | === target is '_bootstrap/bootstrap.py' |
160 | === modified file 'buildout.cfg' |
161 | --- buildout.cfg 2009-03-03 19:43:53 +0000 |
162 | +++ buildout.cfg 2009-03-23 16:14:28 +0000 |
163 | @@ -2,6 +2,7 @@ |
164 | parts = |
165 | interpreter |
166 | test |
167 | + docs |
168 | tags |
169 | unzip = true |
170 | |
171 | @@ -10,7 +11,14 @@ |
172 | [test] |
173 | recipe = zc.recipe.testrunner |
174 | eggs = lazr.batchnavigator |
175 | -defaults = '--tests-pattern ^tests --exit-with-status'.split() |
176 | +defaults = '--tests-pattern ^tests --exit-with-status --suite-name additional_tests'.split() |
177 | + |
178 | +[docs] |
179 | +recipe = z3c.recipe.sphinxdoc |
180 | +eggs = lazr.batchnavigator [docs] |
181 | +index-doc = README |
182 | +default.css = |
183 | +layout.html = |
184 | |
185 | [interpreter] |
186 | recipe = zc.recipe.egg |
187 | |
188 | === added file 'ez_setup.py' |
189 | --- ez_setup.py 1970-01-01 00:00:00 +0000 |
190 | +++ ez_setup.py 2009-03-23 16:14:28 +0000 |
191 | @@ -0,0 +1,241 @@ |
192 | +#!python |
193 | +"""Bootstrap setuptools installation |
194 | + |
195 | +If you want to use setuptools in your package's setup.py, just include this |
196 | +file in the same directory with it, and add this to the top of your setup.py:: |
197 | + |
198 | + from ez_setup import use_setuptools |
199 | + use_setuptools() |
200 | + |
201 | +If you want to require a specific version of setuptools, set a download |
202 | +mirror, or use an alternate download directory, you can do so by supplying |
203 | +the appropriate options to ``use_setuptools()``. |
204 | + |
205 | +This file can also be run as a script to install or upgrade setuptools. |
206 | +""" |
207 | +import sys |
208 | +DEFAULT_VERSION = "0.6c8" |
209 | +DEFAULT_URL = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3] |
210 | + |
211 | +md5_data = { |
212 | + 'setuptools-0.6b1-py2.3.egg': '8822caf901250d848b996b7f25c6e6ca', |
213 | + 'setuptools-0.6b1-py2.4.egg': 'b79a8a403e4502fbb85ee3f1941735cb', |
214 | + 'setuptools-0.6b2-py2.3.egg': '5657759d8a6d8fc44070a9d07272d99b', |
215 | + 'setuptools-0.6b2-py2.4.egg': '4996a8d169d2be661fa32a6e52e4f82a', |
216 | + 'setuptools-0.6b3-py2.3.egg': 'bb31c0fc7399a63579975cad9f5a0618', |
217 | + 'setuptools-0.6b3-py2.4.egg': '38a8c6b3d6ecd22247f179f7da669fac', |
218 | + 'setuptools-0.6b4-py2.3.egg': '62045a24ed4e1ebc77fe039aa4e6f7e5', |
219 | + 'setuptools-0.6b4-py2.4.egg': '4cb2a185d228dacffb2d17f103b3b1c4', |
220 | + 'setuptools-0.6c1-py2.3.egg': 'b3f2b5539d65cb7f74ad79127f1a908c', |
221 | + 'setuptools-0.6c1-py2.4.egg': 'b45adeda0667d2d2ffe14009364f2a4b', |
222 | + 'setuptools-0.6c2-py2.3.egg': 'f0064bf6aa2b7d0f3ba0b43f20817c27', |
223 | + 'setuptools-0.6c2-py2.4.egg': '616192eec35f47e8ea16cd6a122b7277', |
224 | + 'setuptools-0.6c3-py2.3.egg': 'f181fa125dfe85a259c9cd6f1d7b78fa', |
225 | + 'setuptools-0.6c3-py2.4.egg': 'e0ed74682c998bfb73bf803a50e7b71e', |
226 | + 'setuptools-0.6c3-py2.5.egg': 'abef16fdd61955514841c7c6bd98965e', |
227 | + 'setuptools-0.6c4-py2.3.egg': 'b0b9131acab32022bfac7f44c5d7971f', |
228 | + 'setuptools-0.6c4-py2.4.egg': '2a1f9656d4fbf3c97bf946c0a124e6e2', |
229 | + 'setuptools-0.6c4-py2.5.egg': '8f5a052e32cdb9c72bcf4b5526f28afc', |
230 | + 'setuptools-0.6c5-py2.3.egg': 'ee9fd80965da04f2f3e6b3576e9d8167', |
231 | + 'setuptools-0.6c5-py2.4.egg': 'afe2adf1c01701ee841761f5bcd8aa64', |
232 | + 'setuptools-0.6c5-py2.5.egg': 'a8d3f61494ccaa8714dfed37bccd3d5d', |
233 | + 'setuptools-0.6c6-py2.3.egg': '35686b78116a668847237b69d549ec20', |
234 | + 'setuptools-0.6c6-py2.4.egg': '3c56af57be3225019260a644430065ab', |
235 | + 'setuptools-0.6c6-py2.5.egg': 'b2f8a7520709a5b34f80946de5f02f53', |
236 | + 'setuptools-0.6c7-py2.3.egg': '209fdf9adc3a615e5115b725658e13e2', |
237 | + 'setuptools-0.6c7-py2.4.egg': '5a8f954807d46a0fb67cf1f26c55a82e', |
238 | + 'setuptools-0.6c7-py2.5.egg': '45d2ad28f9750e7434111fde831e8372', |
239 | + 'setuptools-0.6c8-py2.3.egg': '50759d29b349db8cfd807ba8303f1902', |
240 | + 'setuptools-0.6c8-py2.4.egg': 'cba38d74f7d483c06e9daa6070cce6de', |
241 | + 'setuptools-0.6c8-py2.5.egg': '1721747ee329dc150590a58b3e1ac95b', |
242 | +} |
243 | + |
244 | +import sys, os |
245 | + |
246 | +def _validate_md5(egg_name, data): |
247 | + if egg_name in md5_data: |
248 | + from md5 import md5 |
249 | + digest = md5(data).hexdigest() |
250 | + if digest != md5_data[egg_name]: |
251 | + print >>sys.stderr, ( |
252 | + "md5 validation of %s failed! (Possible download problem?)" |
253 | + % egg_name |
254 | + ) |
255 | + sys.exit(2) |
256 | + return data |
257 | + |
258 | + |
259 | +def use_setuptools( |
260 | + version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, |
261 | + download_delay=15, min_version=None |
262 | +): |
263 | + """Automatically find/download setuptools and make it available on sys.path |
264 | + |
265 | + `version` should be a valid setuptools version number that is available |
266 | + as an egg for download under the `download_base` URL (which should end with |
267 | + a '/'). `to_dir` is the directory where setuptools will be downloaded, if |
268 | + it is not already available. If `download_delay` is specified, it should |
269 | + be the number of seconds that will be paused before initiating a download, |
270 | + should one be required. If an older version of setuptools is installed, |
271 | + this routine will print a message to ``sys.stderr`` and raise SystemExit in |
272 | + an attempt to abort the calling script. |
273 | + """ |
274 | + # Work around a hack in the ez_setup.py file from simplejson==1.7.3. |
275 | + if min_version: |
276 | + version = min_version |
277 | + |
278 | + was_imported = 'pkg_resources' in sys.modules or 'setuptools' in sys.modules |
279 | + def do_download(): |
280 | + egg = download_setuptools(version, download_base, to_dir, download_delay) |
281 | + sys.path.insert(0, egg) |
282 | + import setuptools; setuptools.bootstrap_install_from = egg |
283 | + try: |
284 | + import pkg_resources |
285 | + except ImportError: |
286 | + return do_download() |
287 | + try: |
288 | + pkg_resources.require("setuptools>="+version); return |
289 | + except pkg_resources.VersionConflict, e: |
290 | + if was_imported: |
291 | + print >>sys.stderr, ( |
292 | + "The required version of setuptools (>=%s) is not available, and\n" |
293 | + "can't be installed while this script is running. Please install\n" |
294 | + " a more recent version first, using 'easy_install -U setuptools'." |
295 | + "\n\n(Currently using %r)" |
296 | + ) % (version, e.args[0]) |
297 | + sys.exit(2) |
298 | + else: |
299 | + del pkg_resources, sys.modules['pkg_resources'] # reload ok |
300 | + return do_download() |
301 | + except pkg_resources.DistributionNotFound: |
302 | + return do_download() |
303 | + |
304 | +def download_setuptools( |
305 | + version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, |
306 | + delay = 15 |
307 | +): |
308 | + """Download setuptools from a specified location and return its filename |
309 | + |
310 | + `version` should be a valid setuptools version number that is available |
311 | + as an egg for download under the `download_base` URL (which should end |
312 | + with a '/'). `to_dir` is the directory where the egg will be downloaded. |
313 | + `delay` is the number of seconds to pause before an actual download attempt. |
314 | + """ |
315 | + import urllib2, shutil |
316 | + egg_name = "setuptools-%s-py%s.egg" % (version,sys.version[:3]) |
317 | + url = download_base + egg_name |
318 | + saveto = os.path.join(to_dir, egg_name) |
319 | + src = dst = None |
320 | + if not os.path.exists(saveto): # Avoid repeated downloads |
321 | + try: |
322 | + from distutils import log |
323 | + if delay: |
324 | + log.warn(""" |
325 | +--------------------------------------------------------------------------- |
326 | +This script requires setuptools version %s to run (even to display |
327 | +help). I will attempt to download it for you (from |
328 | +%s), but |
329 | +you may need to enable firewall access for this script first. |
330 | +I will start the download in %d seconds. |
331 | + |
332 | +(Note: if this machine does not have network access, please obtain the file |
333 | + |
334 | + %s |
335 | + |
336 | +and place it in this directory before rerunning this script.) |
337 | +---------------------------------------------------------------------------""", |
338 | + version, download_base, delay, url |
339 | + ); from time import sleep; sleep(delay) |
340 | + log.warn("Downloading %s", url) |
341 | + src = urllib2.urlopen(url) |
342 | + # Read/write all in one block, so we don't create a corrupt file |
343 | + # if the download is interrupted. |
344 | + data = _validate_md5(egg_name, src.read()) |
345 | + dst = open(saveto,"wb"); dst.write(data) |
346 | + finally: |
347 | + if src: src.close() |
348 | + if dst: dst.close() |
349 | + return os.path.realpath(saveto) |
350 | + |
351 | +def main(argv, version=DEFAULT_VERSION): |
352 | + """Install or upgrade setuptools and EasyInstall""" |
353 | + try: |
354 | + import setuptools |
355 | + except ImportError: |
356 | + egg = None |
357 | + try: |
358 | + egg = download_setuptools(version, delay=0) |
359 | + sys.path.insert(0,egg) |
360 | + from setuptools.command.easy_install import main |
361 | + return main(list(argv)+[egg]) # we're done here |
362 | + finally: |
363 | + if egg and os.path.exists(egg): |
364 | + os.unlink(egg) |
365 | + else: |
366 | + if setuptools.__version__ == '0.0.1': |
367 | + print >>sys.stderr, ( |
368 | + "You have an obsolete version of setuptools installed. Please\n" |
369 | + "remove it from your system entirely before rerunning this script." |
370 | + ) |
371 | + sys.exit(2) |
372 | + |
373 | + req = "setuptools>="+version |
374 | + import pkg_resources |
375 | + try: |
376 | + pkg_resources.require(req) |
377 | + except pkg_resources.VersionConflict: |
378 | + try: |
379 | + from setuptools.command.easy_install import main |
380 | + except ImportError: |
381 | + from easy_install import main |
382 | + main(list(argv)+[download_setuptools(delay=0)]) |
383 | + sys.exit(0) # try to force an exit |
384 | + else: |
385 | + if argv: |
386 | + from setuptools.command.easy_install import main |
387 | + main(argv) |
388 | + else: |
389 | + print "Setuptools version",version,"or greater has been installed." |
390 | + print '(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)' |
391 | + |
392 | +def update_md5(filenames): |
393 | + """Update our built-in md5 registry""" |
394 | + |
395 | + import re |
396 | + from md5 import md5 |
397 | + |
398 | + for name in filenames: |
399 | + base = os.path.basename(name) |
400 | + f = open(name,'rb') |
401 | + md5_data[base] = md5(f.read()).hexdigest() |
402 | + f.close() |
403 | + |
404 | + data = [" %r: %r,\n" % it for it in md5_data.items()] |
405 | + data.sort() |
406 | + repl = "".join(data) |
407 | + |
408 | + import inspect |
409 | + srcfile = inspect.getsourcefile(sys.modules[__name__]) |
410 | + f = open(srcfile, 'rb'); src = f.read(); f.close() |
411 | + |
412 | + match = re.search("\nmd5_data = {\n([^}]+)}", src) |
413 | + if not match: |
414 | + print >>sys.stderr, "Internal error!" |
415 | + sys.exit(2) |
416 | + |
417 | + src = src[:match.start(1)] + repl + src[match.end(1):] |
418 | + f = open(srcfile,'w') |
419 | + f.write(src) |
420 | + f.close() |
421 | + |
422 | + |
423 | +if __name__=='__main__': |
424 | + if len(sys.argv)>2 and sys.argv[1]=='--md5update': |
425 | + update_md5(sys.argv[2:]) |
426 | + else: |
427 | + main(sys.argv[1:]) |
428 | + |
429 | + |
430 | + |
431 | + |
432 | + |
433 | |
434 | === modified file 'setup.py' (properties changed: -x to +x) |
435 | --- setup.py 2009-03-05 23:19:16 +0000 |
436 | +++ setup.py 2009-03-23 16:14:28 +0000 |
437 | @@ -1,19 +1,23 @@ |
438 | +#!/usr/bin/env python |
439 | + |
440 | # Copyright 2009 Canonical Ltd. All rights reserved. |
441 | # |
442 | # This file is part of lazr.batchnavigator |
443 | # |
444 | -# lazr.batchnavigator is free software: you can redistribute it and/or modify it |
445 | -# under the terms of the GNU Lesser General Public License as published by |
446 | -# the Free Software Foundation, either version 3 of the License, or (at your |
447 | -# option) any later version. |
448 | +# lazr.batchnavigator is free software: you can redistribute it and/or modify |
449 | +# it under the terms of the GNU Lesser General Public License as published by |
450 | +# the Free Software Foundation, version 3 of the License. |
451 | # |
452 | -# lazr.batchnavigator is distributed in the hope that it will be useful, but WITHOUT |
453 | -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
454 | -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
455 | +# lazr.batchnavigator is distributed in the hope that it will be useful, but |
456 | +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
457 | +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
458 | # License for more details. |
459 | # |
460 | # You should have received a copy of the GNU Lesser General Public License |
461 | -# along with lazr.batchnavigator. If not, see <http://www.gnu.org/licenses/>. |
462 | +# along with lazr.batchnavigator. If not, see <http://www.gnu.org/licenses/>. |
463 | + |
464 | +import ez_setup |
465 | +ez_setup.use_setuptools() |
466 | |
467 | import sys |
468 | from setuptools import setup, find_packages |
469 | @@ -32,7 +36,8 @@ |
470 | return '\n'.join(res) |
471 | # end generic helpers |
472 | |
473 | -__version__ = '0.1' |
474 | +sys.path.insert(0, 'src') |
475 | +from lazr.batchnavigator import __version__ |
476 | |
477 | setup( |
478 | name='lazr.batchnavigator', |
479 | @@ -56,10 +61,17 @@ |
480 | 'zope.publisher', |
481 | ], |
482 | url='https://launchpad.net/lazr.batchnavigator', |
483 | + download_url= 'https://launchpad.net/lazr.batchnavigator/+download', |
484 | classifiers=[ |
485 | "Development Status :: 5 - Production/Stable", |
486 | "Intended Audience :: Developers", |
487 | "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", |
488 | "Operating System :: OS Independent", |
489 | "Programming Language :: Python"], |
490 | + extras_require=dict( |
491 | + docs=['Sphinx', |
492 | + 'z3c.recipe.sphinxdoc'] |
493 | + ), |
494 | + setup_requires=['eggtestinfo', 'setuptools_bzr'], |
495 | + test_suite='lazr.yourpkg.tests', |
496 | ) |
497 | |
498 | === modified file 'src/lazr/__init__.py' |
499 | --- src/lazr/__init__.py 2009-03-03 19:43:53 +0000 |
500 | +++ src/lazr/__init__.py 2009-03-23 16:14:28 +0000 |
501 | @@ -2,18 +2,17 @@ |
502 | # |
503 | # This file is part of lazr.batchnavigator. |
504 | # |
505 | -# lazr.batchnavigator is free software: you can redistribute it and/or modify it |
506 | -# under the terms of the GNU Lesser General Public License as published by |
507 | -# the Free Software Foundation, either version 3 of the License, or (at your |
508 | -# option) any later version. |
509 | +# lazr.batchnavigator is free software: you can redistribute it and/or modify |
510 | +# it under the terms of the GNU Lesser General Public License as published by |
511 | +# the Free Software Foundation, version 3 of the License. |
512 | # |
513 | -# lazr.batchnavigator is distributed in the hope that it will be useful, but WITHOUT |
514 | -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
515 | -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
516 | +# lazr.batchnavigator is distributed in the hope that it will be useful, but |
517 | +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
518 | +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
519 | # License for more details. |
520 | # |
521 | # You should have received a copy of the GNU Lesser General Public License |
522 | -# along with lazr.batchnavigator. If not, see <http://www.gnu.org/licenses/>. |
523 | +# along with lazr.batchnavigator. If not, see <http://www.gnu.org/licenses/>. |
524 | |
525 | # this is a namespace package |
526 | try: |
527 | |
528 | === modified file 'src/lazr/batchnavigator/NEWS.txt' |
529 | --- src/lazr/batchnavigator/NEWS.txt 2009-03-03 19:43:53 +0000 |
530 | +++ src/lazr/batchnavigator/NEWS.txt 2009-03-24 15:57:40 +0000 |
531 | @@ -1,8 +1,8 @@ |
532 | -===================== |
533 | +============================ |
534 | NEWS for lazr.batchnavigator |
535 | -===================== |
536 | +============================ |
537 | |
538 | -1.0 (200X-XX-XX) |
539 | +1.0 (2009-03-24) |
540 | ================ |
541 | |
542 | -- Initial release |
543 | +- Initial release on PyPI |
544 | |
545 | === modified file 'src/lazr/batchnavigator/README.txt' |
546 | --- src/lazr/batchnavigator/README.txt 2009-03-05 23:19:16 +0000 |
547 | +++ src/lazr/batchnavigator/README.txt 2009-03-23 16:14:28 +0000 |
548 | @@ -1,18 +1,18 @@ |
549 | .. |
550 | This file is part of lazr.batchnavigator. |
551 | |
552 | - lazr.batchnavigator is free software: you can redistribute it and/or modify |
553 | - it under the terms of the GNU Lesser General Public License as published by |
554 | - the Free Software Foundation, either version 3 of the License, or (at your |
555 | - option) any later version. |
556 | + lazr.batchnavigator is free software: you can redistribute it and/or |
557 | + modify it under the terms of the GNU Lesser General Public License as |
558 | + published by the Free Software Foundation, version 3 of the License. |
559 | |
560 | lazr.batchnavigator is distributed in the hope that it will be useful, but |
561 | WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
562 | - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
563 | + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
564 | License for more details. |
565 | |
566 | You should have received a copy of the GNU Lesser General Public License |
567 | - along with lazr.batchnavigator. If not, see <http://www.gnu.org/licenses/>. |
568 | + along with lazr.batchnavigator. If not, see |
569 | + <http://www.gnu.org/licenses/>. |
570 | |
571 | Batch Navigation |
572 | **************** |
573 | @@ -40,7 +40,7 @@ |
574 | >>> from zope.component import getSiteManager |
575 | >>> sm = getSiteManager() |
576 | >>> sm.registerAdapter(HTTPCharsets) |
577 | - |
578 | + |
579 | >>> def build_request(query_string_args=None, method='GET'): |
580 | ... if query_string_args is None: |
581 | ... query_string = '' |
582 | @@ -119,7 +119,7 @@ |
583 | |
584 | >>> last_reindeer_batch_navigator.firstBatchURL() |
585 | 'http://www.example.com/foo?start=0&batch=3' |
586 | - |
587 | + |
588 | >>> last_reindeer_batch_navigator.prevBatchURL() |
589 | 'http://www.example.com/foo?start=0&batch=3' |
590 | |
591 | @@ -176,7 +176,7 @@ |
592 | ... 'batch': '3'}, method='POST') |
593 | >>> reindeer_batch_navigator_post_with_qs = BatchNavigator( |
594 | ... reindeer, request) |
595 | - |
596 | + |
597 | >>> reindeer_batch_navigator_post_with_qs.start |
598 | 3 |
599 | >>> reindeer_batch_navigator_post_with_qs.nextBatchURL() |
600 | @@ -207,7 +207,7 @@ |
601 | '' |
602 | >>> null_batch_navigator.lastBatchURL() |
603 | '' |
604 | - |
605 | + |
606 | >>> null_batch_navigator = BatchNavigator( |
607 | ... [], build_request(), size=3) |
608 | >>> null_batch_navigator.firstBatchURL() |
609 | @@ -242,7 +242,7 @@ |
610 | ... def __init__(self, results): |
611 | ... self.stub_results = results |
612 | ... def count(self): |
613 | - ... # imagine this actually returned |
614 | + ... # imagine this actually returned |
615 | ... return len(self.stub_results) |
616 | ... def __getitem__(self, ix): |
617 | ... return self.stub_results[ix] # also works with slices |
618 | @@ -300,7 +300,7 @@ |
619 | and it is undesirable or overly expensive to execute the query for |
620 | every value in the entire result set. |
621 | |
622 | -The callback function must define two parameters. The first is the |
623 | +The callback function must define two parameters. The first is the |
624 | batch navigator object itself, and the second it the current batch. |
625 | The callback function is called once and only once when the |
626 | BatchNavigator is constructed, and the current batch is determined. |
627 | @@ -308,13 +308,13 @@ |
628 | >>> def print_callback(context, batch): |
629 | ... for item in batch: |
630 | ... print item |
631 | - |
632 | + |
633 | >>> reindeer_batch_navigator = BatchNavigator( |
634 | ... reindeer, build_request(), size=3, callback=print_callback) |
635 | Dasher |
636 | Dancer |
637 | Prancer |
638 | - |
639 | + |
640 | >>> request = build_request({"start": "3", "batch": "20"}) |
641 | >>> last_reindeer_batch_navigator = BatchNavigator( |
642 | ... reindeer, request=request, callback=print_callback) |
643 | @@ -339,7 +339,7 @@ |
644 | ... return BatchNavigator( |
645 | ... reindeer, build_request(), size=3, |
646 | ... callback=self.constructReindeerFromAtoms) |
647 | - |
648 | + |
649 | >>> view = ReindeerView() |
650 | >>> batch_navigator = view.batchedReindeer() |
651 | >>> print view.built_reindeer |
652 | @@ -441,4 +441,14 @@ |
653 | >>> sm.unregisterAdapter(HTTPCharsets) |
654 | True |
655 | >>> sm.unregisterAdapter(ExampleAdapter) |
656 | - True |
657 | \ No newline at end of file |
658 | + True |
659 | + |
660 | +=============== |
661 | +Other Documents |
662 | +=============== |
663 | + |
664 | +.. toctree:: |
665 | + :glob: |
666 | + |
667 | + * |
668 | + docs/* |
669 | |
670 | === added file 'src/lazr/batchnavigator/__init__.py' |
671 | --- src/lazr/batchnavigator/__init__.py 1970-01-01 00:00:00 +0000 |
672 | +++ src/lazr/batchnavigator/__init__.py 2009-03-23 16:14:28 +0000 |
673 | @@ -0,0 +1,30 @@ |
674 | +# Copyright 2004-2009 Canonical Ltd. All rights reserved. |
675 | +# |
676 | +# This file is part of lazr.batchnavigator |
677 | +# |
678 | +# lazr.batchnavigator is free software: you can redistribute it and/or modify |
679 | +# it under the terms of the GNU Lesser General Public License as published by |
680 | +# the Free Software Foundation, version 3 of the License. |
681 | +# |
682 | +# lazr.batchnavigator is distributed in the hope that it will be useful, but |
683 | +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
684 | +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
685 | +# License for more details. |
686 | +# |
687 | +# You should have received a copy of the GNU Lesser General Public License |
688 | +# along with lazr.batchnavigator. If not, see <http://www.gnu.org/licenses/>. |
689 | + |
690 | +"""Functions for working with generic syntax URIs.""" |
691 | + |
692 | +__version__ = 1.0 |
693 | + |
694 | +# Re-export in such a way that __version__ can still be imported if |
695 | +# dependencies are not yet available. |
696 | +try: |
697 | + # While we generally frown on "*" imports, this, combined with the fact we |
698 | + # only test code from this module, means that we can verify what has been |
699 | + # exported. |
700 | + from lazr.batchnavigator._batchnavigator import * |
701 | + from lazr.batchnavigator._batchnavigator import __all__ |
702 | +except ImportError: |
703 | + pass |
704 | |
705 | === renamed file 'src/lazr/batchnavigator/__init__.py' => 'src/lazr/batchnavigator/_batchnavigator.py' |
706 | --- src/lazr/batchnavigator/__init__.py 2009-03-05 23:29:09 +0000 |
707 | +++ src/lazr/batchnavigator/_batchnavigator.py 2009-03-23 16:14:28 +0000 |
708 | @@ -2,18 +2,17 @@ |
709 | # |
710 | # This file is part of lazr.batchnavigator |
711 | # |
712 | -# lazr.batchnavigator is free software: you can redistribute it and/or modify it |
713 | -# under the terms of the GNU Lesser General Public License as published by |
714 | -# the Free Software Foundation, either version 3 of the License, or (at your |
715 | -# option) any later version. |
716 | +# lazr.batchnavigator is free software: you can redistribute it and/or modify |
717 | +# it under the terms of the GNU Lesser General Public License as published by |
718 | +# the Free Software Foundation, version 3 of the License. |
719 | # |
720 | -# lazr.batchnavigator is distributed in the hope that it will be useful, but WITHOUT |
721 | -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
722 | -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
723 | +# lazr.batchnavigator is distributed in the hope that it will be useful, but |
724 | +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
725 | +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
726 | # License for more details. |
727 | # |
728 | # You should have received a copy of the GNU Lesser General Public License |
729 | -# along with lazr.batchnavigator. If not, see <http://www.gnu.org/licenses/>. |
730 | +# along with lazr.batchnavigator. If not, see <http://www.gnu.org/licenses/>. |
731 | |
732 | __metaclass__ = type |
733 | |
734 | @@ -27,6 +26,7 @@ |
735 | from lazr.batchnavigator.interfaces import ( |
736 | IBatchNavigator, InvalidBatchSizeError, IBatchNavigatorFactory) |
737 | |
738 | +__all__ = ['BatchNavigator'] |
739 | |
740 | class BatchNavigator: |
741 | |
742 | @@ -57,7 +57,7 @@ |
743 | @Lazy |
744 | def query_string_parameters(self): |
745 | query_string = self.request.get('QUERY_STRING', '') |
746 | - |
747 | + |
748 | # Just in case QUERY_STRING is in the environment explicitly as |
749 | # None (Some tests seem to do this, but not sure if it can ever |
750 | # happen outside of tests.) |
751 | @@ -259,4 +259,3 @@ |
752 | |
753 | def currentBatch(self): |
754 | return self.batch |
755 | - |
756 | |
757 | === modified file 'src/lazr/batchnavigator/interfaces.py' |
758 | --- src/lazr/batchnavigator/interfaces.py 2009-03-05 23:29:09 +0000 |
759 | +++ src/lazr/batchnavigator/interfaces.py 2009-03-23 16:14:28 +0000 |
760 | @@ -2,18 +2,17 @@ |
761 | # |
762 | # This file is part of lazr.batchnavigator |
763 | # |
764 | -# lazr.batchnavigator is free software: you can redistribute it and/or modify it |
765 | -# under the terms of the GNU Lesser General Public License as published by |
766 | -# the Free Software Foundation, either version 3 of the License, or (at your |
767 | -# option) any later version. |
768 | +# lazr.batchnavigator is free software: you can redistribute it and/or modify |
769 | +# it under the terms of the GNU Lesser General Public License as published by |
770 | +# the Free Software Foundation, version 3 of the License. |
771 | # |
772 | -# lazr.batchnavigator is distributed in the hope that it will be useful, but WITHOUT |
773 | -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
774 | -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
775 | +# lazr.batchnavigator is distributed in the hope that it will be useful, but |
776 | +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
777 | +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
778 | # License for more details. |
779 | # |
780 | # You should have received a copy of the GNU Lesser General Public License |
781 | -# along with lazr.batchnavigator. If not, see <http://www.gnu.org/licenses/>. |
782 | +# along with lazr.batchnavigator. If not, see <http://www.gnu.org/licenses/>. |
783 | |
784 | from zope.interface import Interface, Attribute |
785 | |
786 | |
787 | === modified file 'src/lazr/batchnavigator/tests/__init__.py' |
788 | --- src/lazr/batchnavigator/tests/__init__.py 2009-01-09 02:10:26 +0000 |
789 | +++ src/lazr/batchnavigator/tests/__init__.py 2009-03-23 16:14:28 +0000 |
790 | @@ -0,0 +1,16 @@ |
791 | +# Copyright 2009 Canonical Ltd. All rights reserved. |
792 | +# |
793 | +# This file is part of lazr.batchnavigator |
794 | +# |
795 | +# lazr.batchnavigator is free software: you can redistribute it and/or modify |
796 | +# it under the terms of the GNU Lesser General Public License as published by |
797 | +# the Free Software Foundation, version 3 of the License. |
798 | +# |
799 | +# lazr.batchnavigator is distributed in the hope that it will be useful, but |
800 | +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
801 | +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
802 | +# License for more details. |
803 | +# |
804 | +# You should have received a copy of the GNU Lesser General Public License |
805 | +# along with lazr.batchnavigator. If not, see <http://www.gnu.org/licenses/>. |
806 | +"The lazr.batchnavigator tests." |
807 | |
808 | === renamed file 'src/lazr/batchnavigator/tests/test_documentation.py' => 'src/lazr/batchnavigator/tests/test_docs.py' |
809 | --- src/lazr/batchnavigator/tests/test_documentation.py 2009-03-04 16:27:16 +0000 |
810 | +++ src/lazr/batchnavigator/tests/test_docs.py 2009-03-23 16:14:28 +0000 |
811 | @@ -1,14 +1,29 @@ |
812 | # Copyright 2009 Canonical Ltd. All rights reserved. |
813 | - |
814 | -"""Test harness.""" |
815 | +# |
816 | +# This file is part of lazr.batchnavigator |
817 | +# |
818 | +# lazr.batchnavigator is free software: you can redistribute it and/or modify |
819 | +# it under the terms of the GNU Lesser General Public License as published by |
820 | +# the Free Software Foundation, version 3 of the License. |
821 | +# |
822 | +# lazr.batchnavigator is distributed in the hope that it will be useful, but |
823 | +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
824 | +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
825 | +# License for more details. |
826 | +# |
827 | +# You should have received a copy of the GNU Lesser General Public License |
828 | +# along with lazr.batchnavigator. If not, see <http://www.gnu.org/licenses/>. |
829 | +"Test harness for doctests." |
830 | |
831 | __metaclass__ = type |
832 | __all__ = [ |
833 | - 'test_suite', |
834 | + 'additional_tests', |
835 | ] |
836 | |
837 | +import atexit |
838 | +import doctest |
839 | import os |
840 | -import doctest |
841 | +import pkg_resources |
842 | import unittest |
843 | |
844 | DOCTEST_FLAGS = ( |
845 | @@ -16,12 +31,20 @@ |
846 | doctest.NORMALIZE_WHITESPACE | |
847 | doctest.REPORT_NDIFF) |
848 | |
849 | -def test_suite(): |
850 | - readme = os.path.normpath( |
851 | + |
852 | +def additional_tests(): |
853 | + "Run the doc tests (README.txt and docs/*, if any exist)" |
854 | + doctest_files = [ |
855 | os.path.abspath( |
856 | - os.path.join(os.path.dirname(__file__), |
857 | - os.path.pardir, |
858 | - 'README.txt'))) |
859 | + pkg_resources.resource_filename('lazr.batchnavigator', 'README.txt'))] |
860 | + if pkg_resources.resource_exists('lazr.batchnavigator', 'docs'): |
861 | + for name in pkg_resources.resource_listdir('lazr.batchnavigator', 'docs'): |
862 | + if name.endswith('.txt'): |
863 | + doctest_files.append( |
864 | + os.path.abspath( |
865 | + pkg_resources.resource_filename( |
866 | + 'lazr.batchnavigator', 'docs/%s' % name))) |
867 | + kwargs = dict(module_relative=False, optionflags=DOCTEST_FLAGS) |
868 | + atexit.register(pkg_resources.cleanup_resources) |
869 | return unittest.TestSuite(( |
870 | - doctest.DocFileSuite( |
871 | - readme, module_relative=False, optionflags=DOCTEST_FLAGS))) |
872 | + doctest.DocFileSuite(*doctest_files, **kwargs))) |
873 | |
874 | === modified file 'src/lazr/batchnavigator/tests/test_z3batching.py' |
875 | --- src/lazr/batchnavigator/tests/test_z3batching.py 2009-03-03 18:02:58 +0000 |
876 | +++ src/lazr/batchnavigator/tests/test_z3batching.py 2009-03-23 16:14:28 +0000 |
877 | @@ -199,10 +199,7 @@ |
878 | self.assertEqual(batch.endNumber(), 100) |
879 | |
880 | |
881 | -def test_suite(): |
882 | +def additional_tests(): |
883 | return unittest.TestSuite(( |
884 | unittest.makeSuite(BatchTest), |
885 | )) |
886 | - |
887 | -if __name__ == '__main__': |
888 | - unittest.main() |
889 | |
890 | === added file 'src/lazr/batchnavigator/z3batching/COPYRIGHT.txt' |
891 | --- src/lazr/batchnavigator/z3batching/COPYRIGHT.txt 1970-01-01 00:00:00 +0000 |
892 | +++ src/lazr/batchnavigator/z3batching/COPYRIGHT.txt 2009-03-24 15:07:42 +0000 |
893 | @@ -0,0 +1,9 @@ |
894 | +Copyright (c) 2004-2009 Zope Corporation and Contributors, and Canonical Ltd. |
895 | +All Rights Reserved. |
896 | + |
897 | +This software is subject to the provisions of the Zope Public License, |
898 | +Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. |
899 | +THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED |
900 | +WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
901 | +WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
902 | +FOR A PARTICULAR PURPOSE. |
903 | |
904 | === added file 'src/lazr/batchnavigator/z3batching/LICENSE.txt' |
905 | --- src/lazr/batchnavigator/z3batching/LICENSE.txt 1970-01-01 00:00:00 +0000 |
906 | +++ src/lazr/batchnavigator/z3batching/LICENSE.txt 2009-03-24 15:07:42 +0000 |
907 | @@ -0,0 +1,54 @@ |
908 | +Zope Public License (ZPL) Version 2.1 |
909 | +------------------------------------- |
910 | + |
911 | +A copyright notice accompanies this license document that |
912 | +identifies the copyright holders. |
913 | + |
914 | +This license has been certified as open source. It has also |
915 | +been designated as GPL compatible by the Free Software |
916 | +Foundation (FSF). |
917 | + |
918 | +Redistribution and use in source and binary forms, with or |
919 | +without modification, are permitted provided that the |
920 | +following conditions are met: |
921 | + |
922 | +1. Redistributions in source code must retain the |
923 | + accompanying copyright notice, this list of conditions, |
924 | + and the following disclaimer. |
925 | + |
926 | +2. Redistributions in binary form must reproduce the accompanying |
927 | + copyright notice, this list of conditions, and the |
928 | + following disclaimer in the documentation and/or other |
929 | + materials provided with the distribution. |
930 | + |
931 | +3. Names of the copyright holders must not be used to |
932 | + endorse or promote products derived from this software |
933 | + without prior written permission from the copyright |
934 | + holders. |
935 | + |
936 | +4. The right to distribute this software or to use it for |
937 | + any purpose does not give you the right to use |
938 | + Servicemarks (sm) or Trademarks (tm) of the copyright |
939 | + holders. Use of them is covered by separate agreement |
940 | + with the copyright holders. |
941 | + |
942 | +5. If any files are modified, you must cause the modified |
943 | + files to carry prominent notices stating that you changed |
944 | + the files and the date of any change. |
945 | + |
946 | +Disclaimer |
947 | + |
948 | + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' |
949 | + AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT |
950 | + NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY |
951 | + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN |
952 | + NO EVENT SHALL THE COPYRIGHT HOLDERS BE |
953 | + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
954 | + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
955 | + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
956 | + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
957 | + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
958 | + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE |
959 | + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
960 | + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH |
961 | + DAMAGE. |
962 | \ No newline at end of file |
963 | |
964 | === added file 'src/lazr/batchnavigator/z3batching/README.txt' |
965 | --- src/lazr/batchnavigator/z3batching/README.txt 1970-01-01 00:00:00 +0000 |
966 | +++ src/lazr/batchnavigator/z3batching/README.txt 2009-03-24 15:07:42 +0000 |
967 | @@ -0,0 +1,5 @@ |
968 | +This code is a very old fork of batching code from the Zope project. The |
969 | +z3c.batching package (http://pypi.python.org/pypi/z3c.batching) appears to |
970 | +have evolved from the same, or very similar, source. Ideally, we will be able |
971 | +to change lazr.batchnavigator to depend on z3c.batching, perhaps contributing |
972 | +to that package any necessary changes for our usage needs. |
The same changes as for the other lazr packages:
- license specifies v3 of LGPL
- buildout updates
Thanks
Gary