Commit Graph

5137 Commits

Author SHA1 Message Date
Georg Brandl 57826cf9f8 #2165: fix test_logging failure on some machines. 2008-02-23 15:06:25 +00:00
Christian Heimes 5224d28d38 Patch #1759: Backport of PEP 3129 class decorators
with some help from Georg
2008-02-23 15:01:05 +00:00
Facundo Batista b12f0b581a Issue 1781. Now ConfigParser.add_section does not let you add a
DEFAULT section any more, because it duplicated sections with
the rest of the machinery. Thanks Tim Lesher and Manuel Kaufmann.
2008-02-23 12:46:10 +00:00
Facundo Batista 1660933d23 Issue 1776581. Minor corrections to smtplib, and two small tests.
Thanks Alan McIntyre.
2008-02-23 12:27:17 +00:00
Facundo Batista fc2d01032f Issue 1881. Increased the stack limit from 500 to 1500. Also added
a test for this (and because of this test you'll see in stderr a
message that parser.c sends before raising MemoryError).
Thanks Ralf Schmitt.
2008-02-23 12:01:13 +00:00
Eric Smith a73fbe791d Added future_builtins, which contains PEP 3127 compatible versions of hex() and oct(). 2008-02-23 03:09:44 +00:00
Raymond Hettinger 73d7963242 Improve the implementation of itertools.product()
* Fix-up issues pointed-out by Neal Norwitz.
* Add extensive comments.
* The lz->result variable is now a tuple instead of a list.
* Use fast macro getitem/setitem calls so most code is in-line.
* Re-use the result tuple if available (modify in-place instead of copy).
2008-02-23 02:20:41 +00:00
Eric Smith fb0742fe4f Tests for bin() builtin. These need to get merged into py3k, which has no tests for bin. 2008-02-22 17:43:17 +00:00
Raymond Hettinger 50986cc45b First draft for itertools.product(). Docs and other updates forthcoming. 2008-02-22 03:16:42 +00:00
Eric Smith ce584d420d Moved test_format into the correct TestCase. 2008-02-21 20:17:08 +00:00
Eric Smith 7ef40bf9c7 Trim leading zeros from a floating point exponent, per C99. See issue 1600. As far as I know, this only affects Windows. Add float type 'n' to PyOS_ascii_formatd (see PEP 3101 for 'n' description). 2008-02-20 23:34:22 +00:00
Eric Smith bc32fee029 Added code to correct combining str and unicode in ''.format(). Added test case. 2008-02-18 18:02:34 +00:00
Eric Smith d50a5f2845 Temporarily removed float tests. See issue 1600. 2008-02-18 14:25:02 +00:00
Facundo Batista d14600ec94 Issue 1224. Now we support again the double slash in the URL.
Thanks Anthony Lenton.
2008-02-18 12:48:43 +00:00
Facundo Batista 759bfc6207 Issue #1916. Added isgenerator() and isgeneratorfunction() to
inspect.py.  Thanks Javi Mansilla for patch review and
corrections.
2008-02-18 03:43:43 +00:00
Eric Smith a9f7d62480 Backport of PEP 3101, Advanced String Formatting, from py3k.
Highlights:
 - Adding PyObject_Format.
 - Adding string.Format class.
 - Adding __format__ for str, unicode, int, long, float, datetime.
 - Adding builtin format.
 - Adding ''.format and u''.format.
 - str/unicode fixups for formatters.

The files in Objects/stringlib that implement PEP 3101 (stringdefs.h,
unicodedefs.h, formatter.h, string_format.h) are identical in trunk
and py3k.  Any changes from here on should be made to trunk, and
changes will propogate to py3k).
2008-02-17 19:46:49 +00:00
Facundo Batista e139688d34 Issue 2112. mmap does not raises EnvironmentError no more, but
a subclass of it. Thanks John Lenton.
2008-02-17 18:59:29 +00:00
Brett Cannon f9db8a3a20 Move test_logging over to doctest.
Thanks to Christopher White from GHOP.
2008-02-17 01:59:18 +00:00
Amaury Forgeot d'Arc 632fad3933 Prevent a crash with nested scopes, again caused by calling Py_DECREF when the pointer
is still present in the containing structure.
2008-02-16 20:55:24 +00:00
Amaury Forgeot d'Arc 64d6843788 mmap.PROT_READ does not exists on win32;
Skip this test created by r60830.
2008-02-16 00:16:50 +00:00
Amaury Forgeot d'Arc d8bcbf2b2e Re-enable tests, they were failing since gc.collect() clears the various freelists.
They still remain fragile.

For example, a call to assertEqual currently does not make any allocation
(which surprised me at first).
But this can change when gc.collect also deletes the numerous "zombie frames"
attached to each function.
2008-02-15 22:44:20 +00:00
Amaury Forgeot d'Arc f67abccf64 Temporarily let these tests pass 2008-02-15 21:27:44 +00:00
Amaury Forgeot d'Arc 60d6c7f0cc Issue #2115: __slot__ attributes setting was 10x slower.
Also correct a possible crash using ABCs.

This change is exactly the same as an optimisation
done 5 years ago, but on slot *access*:
http://svn.python.org/view?view=rev&rev=28297
2008-02-15 21:22:45 +00:00
Christian Heimes 7adfad850a Bug #2111: mmap segfaults when trying to write a block opened with PROT_READ
Thanks to Thomas Herve for the fix.
2008-02-15 08:20:11 +00:00
Christian Heimes 2f0da53d28 Fixed repr() and str() of complex numbers. Complex suffered from the same problem as floats but I forgot to test and fix them. 2008-02-15 06:57:08 +00:00
Jeffrey Yasskin 1c214d6c94 Performance optimizations on Fraction's constructor.
./python.exe -m timeit -s 'from fractions import Fraction' 'Fraction(3)`
31.7 usec/loop -> 9.2 usec/loop

  ./python.exe -m timeit -s 'from fractions import Fraction' 'Fraction(3, 2)'`
27.7 usec/loop -> 9.32 usec/loop

  ./python.exe -m timeit -s 'from fractions import Fraction; f = Fraction(3, 2)' 'Fraction(f)'
31.9 usec/loop -> 14.3 usec/loop
2008-02-14 06:12:24 +00:00
Raymond Hettinger abe3237187 Fix decimal repr which should have used single quotes like other reprs. 2008-02-14 02:41:22 +00:00
Jeffrey Yasskin 57bd60b465 Working on issue #1762: Brought
./python.exe -m timeit -s 'from fractions import Fraction; f = Fraction(3, 2)' 'isinstance(3, Fraction); isinstance(f, Fraction)'
from 12.3 usec/loop to 3.44 usec/loop and
  ./python.exe -m timeit -s 'from fractions import Fraction' 'Fraction(3, 2)'
from 48.8 usec to 23.6 usec by avoiding genexps and sets in __instancecheck__
and inlining the common case from __subclasscheck__.
2008-02-13 17:58:04 +00:00
Mark Dickinson 5f8bd3729e Replace R=fractions.Fraction with F=fractions.Fraction in
test_fractions.py.  This should have been part of the name
change from Rational to Fraction.
2008-02-12 21:46:54 +00:00
Mark Dickinson e1b824793a Implementation of Fraction.limit_denominator.
Remove Fraction.to_continued_fraction and
Fraction.from_continued_fraction
2008-02-12 21:31:59 +00:00
Raymond Hettinger 21290eacf6 Add tests for pickletools.optimize(). 2008-02-11 20:05:53 +00:00
Lars Gustäbel 6bf51da9d4 Make sure that xstar headers are read correctly. 2008-02-11 19:17:10 +00:00
Mark Dickinson cd873fc142 Put an extra space into the repr of a Fraction:
Fraction(1, 2) instead of Fraction(1,2).
2008-02-11 03:11:55 +00:00
Christian Heimes 03d3abf375 The test requires the network resource 2008-02-11 02:26:22 +00:00
Mark Dickinson d058cd2cc8 Rename rational.Rational to fractions.Fraction, to avoid name clash
with numbers.Rational.  See issue #1682 for related discussion.
2008-02-10 21:29:51 +00:00
Skip Montanaro a5a9a733c8 whoops - revert 2008-02-10 15:32:16 +00:00
Skip Montanaro c376f20d76 Get the saying right. ;-) 2008-02-10 15:31:54 +00:00
Nick Coghlan 97fac3eb0a Issue 2021: Allow NamedTemporaryFile and SpooledTemporaryFile to be used as context managers. (The NamedTemporaryFile fix should be considered for backporting to 2.5) 2008-02-09 15:28:09 +00:00
Raymond Hettinger 8c6c12ca96 Temporarily disable this test. It's been broken for a week. 2008-02-09 10:06:20 +00:00
Hye-Shik Chang 01612e7dec Update big5hkscs codec to conform to the HKSCS:2004 revision. 2008-02-08 17:10:20 +00:00
Jeffrey Yasskin 27d339446a Oops! 2.6's Rational.__ne__ didn't work. 2008-02-08 06:45:40 +00:00
Amaury Forgeot d'Arc b01aa430d5 issue 2045: Infinite recursion when printing a subclass of defaultdict,
if default_factory is set to a bound method.

Will backport.
2008-02-08 00:56:02 +00:00
Facundo Batista 86371d61b7 Fixes Issue 1401. When redirected, a possible POST get converted
to GET, so it loses its payload. So, it also must lose the
headers related to the payload (if it has no content any more,
it shouldn't indicate content length and type).
2008-02-07 19:06:52 +00:00
Facundo Batista 9521f08b98 Fixes issue 2026. Tests converted to unittest. Thanks
Giampaolo Rodola.
2008-02-07 16:16:29 +00:00
Andrew M. Kuchling 8d119301a1 Update URL 2008-02-07 11:43:47 +00:00
Raymond Hettinger 882a416900 Merge r60628, r60631, and r60633. Register UserList and UserString will the appropriate ABCs. 2008-02-07 03:25:46 +00:00
Raymond Hettinger 5b07ebce86 Issue 2025: Add tuple.count() and tuple.index() to follow the ABC in collections.Sequence. 2008-02-07 00:54:20 +00:00
Georg Brandl 3c3d9ac46c Revert accidental changes to test_queue in r60605. 2008-02-06 23:45:51 +00:00
Mark Dickinson 2fc9263df5 Issue 1979: Make Decimal comparisons (other than !=, ==) involving NaN
raise InvalidOperation (and return False if InvalidOperation is trapped).
2008-02-06 22:10:50 +00:00
Facundo Batista 5af2f7454d Fixes issue 1959. Converted tests to unittest.
Thanks Giampaolo Rodola.
2008-02-06 19:28:49 +00:00
Georg Brandl b70907796a * Use the same code to profile for test_profile and test_cprofile.
* Convert both to unittest.
* Use the same unit testing code.
* Include the expected output in both test files.
* Make it possible to regenerate the expected output by running
  the file as a script with an '-r' argument.
2008-02-05 19:58:17 +00:00
Georg Brandl d86c7e5d93 Actually run the test. 2008-02-05 19:07:10 +00:00
Facundo Batista c2879c70e4 Issue 1951. Converts wave test cases to unittest. 2008-02-05 19:03:32 +00:00
Georg Brandl 8ada17742b Fix unittest conversion breakage. 2008-02-05 18:32:47 +00:00
Amaury Forgeot d'Arc 99af7dbc07 Change r60575 broke test_compile:
there is no need to emit co_lnotab item when both offsets are zeros.
2008-02-05 00:26:21 +00:00
Amaury Forgeot d'Arc 6fd03bb607 #1750076: Debugger did not step on every iteration of a while statement.
The mapping between bytecode offsets and source lines (lnotab) did not contain
an entry for the beginning of the loop.

Now it does, and the lnotab can be a bit larger:
in particular, several statements on the same line generate several entries.
However, this does not bother the settrace function, which will trigger only
one 'line' event.

The lnotab seems to be exactly the same as with python2.4.
2008-02-04 21:45:05 +00:00
Christian Heimes f5806ab6e3 Small adjustments for test compact freelist test. It's no passing on Windows as well. 2008-02-04 19:30:05 +00:00
Christian Heimes f4033ab245 Increase debugging to investige failing tests on some build bots 2008-02-04 18:48:38 +00:00
Christian Heimes 422051a367 Patch #1953
I implemented the function sys._compact_freelists() and C API functions PyInt_/PyFloat_CompactFreeList() to compact the pre-allocated blocks of ints and floats. They allow the user to reduce the memory usage of a Python process that deals with lots of numbers.
The patch also renames sys._cleartypecache to sys._clear_type_cache
2008-02-04 18:00:12 +00:00
Jeffrey Yasskin a26cf9b760 Make int() and long() fall back to __trunc__(). See issue 2002. 2008-02-04 01:04:35 +00:00
Amaury Forgeot d'Arc 72a6576279 Let test_socketserver pass on win32, which does not have AF_UNIX sockets. 2008-02-03 23:57:24 +00:00
Amaury Forgeot d'Arc 07974d7a93 Correct test_mailbox on win32: since the test sets a custom 'colon' attribute
to the main mailbox, copy it to secondary mailbox instances.
2008-02-03 23:15:32 +00:00
Brett Cannon 4b7deed9a5 Use context manager for a lock. 2008-02-03 02:43:01 +00:00
Georg Brandl 461ed872e2 Wait for a delay before reaping children -- this should fix the
test_socketserver failures on several platforms.
2008-02-03 00:04:50 +00:00
Georg Brandl cafb710711 Fix a conversion mistake that caused test_queue to fail intermittently. 2008-02-02 23:59:21 +00:00
Mark Dickinson 1dabdb25f8 Make the Rational constructor accept '3.' and '.2' as well as '3.2'. 2008-02-02 17:16:13 +00:00
Georg Brandl 5a6cfee632 Rewrite test_cprofile as unittest (and rename the file to be consistent
with all other test files). Written for GHOP by Benjamin Peterson.
2008-02-02 11:46:07 +00:00
Georg Brandl d22b4661fd Rewrite test_queue as unittest. Written for GHOP by Ian Seyer. 2008-02-02 11:39:29 +00:00
Georg Brandl 61fdd71ad4 Rewrite test_socketserver as unittest, written for GHOP by Benjamin Petersen. 2008-02-02 11:05:00 +00:00
Georg Brandl c8088df363 Rewrite test_funcattrs as unittest, written for GHOP by Jeff Wheeler. 2008-02-02 10:18:15 +00:00
Georg Brandl 4854552f02 Rewrite test_descr as unittest, written for GHOP by Jeff Wheeler. 2008-02-02 10:12:36 +00:00
Raymond Hettinger 4cab8ece0a Test round-trip on float.as_integer_ratio() and float.__truediv__(). 2008-02-01 22:42:59 +00:00
Raymond Hettinger 04c96d52a4 Issue #1996: float.as_integer_ratio() should return fraction in lowest terms. 2008-02-01 21:30:23 +00:00
Jeffrey Yasskin dc2964b0d8 Roll back r60248. It's useful to encourage users not to change Rational
instances.
2008-02-01 07:05:46 +00:00
Jeffrey Yasskin ca2b69f765 Move __builtins__.trunc() to math.trunc() per
http://mail.python.org/pipermail/python-dev/2008-January/076626.html and issue
1965.
2008-02-01 06:22:46 +00:00
Mark Dickinson 105be7725b Issue #1678380. Fix a bug that identifies 0j and -0j when they appear
in the same code unit. The fix is essentially the same as the fix for a
previous bug identifying 0. and -0.
2008-01-31 22:17:37 +00:00
Jeffrey Yasskin 38db364076 Remove unused to-be-magic methods from Rational per issue 1968. Do not port
this patch to py3k.
2008-01-31 17:45:59 +00:00
Christian Heimes 908caac52e Added clear cache methods to clear the internal type lookup cache for ref leak test runs. 2008-01-27 23:34:59 +00:00
Jeffrey Yasskin 3ea7b41b58 Moved Rational._binary_float_to_ratio() to float.as_integer_ratio() because
it's useful outside of rational numbers.

This is my first C code that had to do anything significant. Please be more
careful when looking over it.
2008-01-27 23:08:46 +00:00
Neal Norwitz cf25eb14af socket.error doesn't have a headers attribute like ProtocolError.
Handle that situation where we catch socket.errors.
2008-01-27 20:03:13 +00:00
Neal Norwitz ed444e52da Try to handle socket.errors properly in is_unavailable 2008-01-27 18:19:04 +00:00
Neal Norwitz c5198090f3 Update the comment and remove the close. If we close we can't flush anymore.
We might still need to close after the for loop if flushing 6! times still
doesn't cause the signal/exception.
2008-01-27 18:09:48 +00:00
Neal Norwitz 41ada16cb7 Print periodic "still working" messages since this suite is slow. 2008-01-27 17:13:07 +00:00
Neal Norwitz 183c5346fe Catch socket errors that are often the cause of transient failures.
Many of these exceptions are due to resource unavailable, so the
existing code should be able to handle many more spurious errors.
2008-01-27 17:11:11 +00:00
Neal Norwitz 9846de1dfb Retry connection in case it fails to reduce flakiness 2008-01-27 17:10:58 +00:00
Neal Norwitz 041ee5d373 Add a tiny sleep and additional flush to force the file to really be synced. 2008-01-27 17:10:50 +00:00
Jeffrey Yasskin 3e1a373616 Make rational.gcd() public and allow Rational to take decimal strings, per
Raymond's advice.
2008-01-27 05:40:35 +00:00
Neal Norwitz 46c61b2c1d Try to prevent this test from being flaky. We might need a sleep in here
which isn't as bad as it sounds.  The close() *should* raise an exception,
so if it didn't we should give more time to sync and really raise it.

Will backport.
2008-01-27 05:02:34 +00:00
Neal Norwitz 6e070814b2 Eliminate the sleeps that assume the server will start in .5 seconds.
This should make the test less flaky.  It also speeds up the test
by about 75% on my box (20+ seconds -> ~4 seconds).
2008-01-27 01:44:05 +00:00
Neal Norwitz 7f47d93f52 On some systems (e.g., Ubuntu on hppa) the flush()
doesn't cause the exception, but the close() does.

Will backport.
2008-01-26 23:13:46 +00:00
Neal Norwitz 37184295dc Reduce the race condition by signalling when the server is ready
and not trying to connect before.
2008-01-26 21:21:59 +00:00
Neal Norwitz a121508fac Always try to remove the test file even if close raises an exception 2008-01-26 21:02:45 +00:00
Christian Heimes a2af21262a Unit test fix from Giampaolo Rodola, #1938 2008-01-26 16:43:35 +00:00
Georg Brandl 0cdf9a36ec #1473257: add generator.gi_code attribute that refers to
the original code object backing the generator. Patch by Collin Winter.
2008-01-26 14:14:20 +00:00
Neal Norwitz 08b50eb3d3 The OS X buildbot had errors with the unavailable exceptions disabled. Restore it. 2008-01-26 08:26:00 +00:00
Neal Norwitz 653272f0cf Use a condition variable (threading.Event) rather than sleeps and checking a
global to determine when the server is ready to be used.  This slows the test
down, but should make it correct.  There was a race condition before where the
server could have assigned a port, yet it wasn't ready to serve requests.  If
the client sent a request before the server was completely ready, it would get
an exception.  There was machinery to try to handle this condition.  All of
that should be unnecessary and removed if this change works.  A NOTE was
added as a comment about what needs to be fixed.

The buildbots will tell us if there are more errors or
if this test is now stable.
2008-01-26 07:26:12 +00:00
Neal Norwitz 5be3067742 Prevent this test from failing if there are transient network problems
by retrying the host for up to 3 times.
2008-01-26 05:54:48 +00:00
Raymond Hettinger 3dbd4c536d Changes 54857 and 54840 broke code and were reverted in Py2.5 just before
it was released, but that reversion never made it to the Py2.6 head.
2008-01-25 19:24:46 +00:00
Neal Norwitz 769d0eefd7 Make the test more robust by trying to reconnect up to 3 times
in case there were transient failures.  This will hopefully silence
the buildbots for this test.  As we find other tests that have a problem,
we can fix with a similar strategy assuming it is successful.  It worked
on my box in a loop for 10+ runs where it would have an exception otherwise.
2008-01-25 06:37:23 +00:00
Raymond Hettinger 9c6d81f5dd Fix-up signature for approximation. 2008-01-25 01:23:38 +00:00
Raymond Hettinger a6216749fb Add support for copy, deepcopy, and pickle. 2008-01-25 00:21:54 +00:00
Amaury Forgeot d'Arc 16570f59ca #1920: when considering a block starting by "while 0", the compiler optimized the
whole construct away, even when an 'else' clause is present::

    while 0:
        print("no")
    else:
        print("yes")

did not generate any code at all.

Now the compiler emits the 'else' block, like it already does for 'if' statements.

Will backport.
2008-01-24 22:51:18 +00:00
Raymond Hettinger 5310b69419 Shorter pprint's for empty sets and frozensets. Fix indentation of frozensets. Add tests including two complex data structures. 2008-01-24 21:47:56 +00:00
Raymond Hettinger 6170874f9c Expand tests to include nested graph structures. 2008-01-24 21:23:58 +00:00
Raymond Hettinger 5b0e27e50d Add support for int(r) just like the other numeric classes. 2008-01-24 19:30:19 +00:00
Raymond Hettinger 5a05364049 Add support for trunc(). 2008-01-24 19:05:29 +00:00
Guido van Rossum 37edeab778 Fix test67.py from issue #1303614. 2008-01-24 17:58:05 +00:00
Guido van Rossum 4e3f12486f Fi debug turd -- a call accidentally left out. 2008-01-24 15:53:22 +00:00
Gregory P. Smith 7b7ce7854c Fix issue1789: The tutorial contained a misuse of the struct module.
(also remove an unneeded import struct from test_largefile)
2008-01-24 09:38:26 +00:00
Neal Norwitz bf839e2efa Fix the tests by restoring __import__. I think the test is still valid. 2008-01-24 04:14:50 +00:00
Raymond Hettinger eb461904eb Minor clean-up and more tests. 2008-01-24 02:00:25 +00:00
Raymond Hettinger cf10926088 Add first-cut at an approximation function (still needs rounding tweaks). Add continued fraction conversions. 2008-01-24 00:54:21 +00:00
Guido van Rossum 9acc387bcf Turn three recently fixed crashers into regular tests. 2008-01-23 23:23:43 +00:00
Guido van Rossum 1d9a9eaa89 Fix two crashers. 2008-01-23 20:19:01 +00:00
Guido van Rossum 66b4ab701b I'm tired of these tests breaking at Google due to our large number of
users and groups in LDAP/NIS.  So I'm limiting the extra-heavy part of
the tests to passwd/group files with at most 1000 entries.
2008-01-23 01:18:27 +00:00
Georg Brandl d02fc48f67 Fix for #1087741 patch. 2008-01-22 19:56:03 +00:00
Gregory P. Smith 95cd5c0b72 - Fix Issue #1703448: A joined thread could show up in the
threading.enumerate() list after the join() for a brief period until
  it actually exited.
2008-01-22 01:20:42 +00:00
Georg Brandl c09b94e063 Reformat some ugly code. 2008-01-21 21:28:32 +00:00
Georg Brandl 32a3fb5ec9 Patch #1720595: add T_BOOL to the range of structmember types.
Patch by Angelo Mottola, reviewed by MvL, tests by me.
2008-01-21 21:23:15 +00:00
Georg Brandl f2dae0e14a #1715: include sub-extension modules in pydoc text output. 2008-01-21 21:05:49 +00:00
Georg Brandl 38d1715b0d Issue #1882: when compiling code from a string, encoding cookies in the
second line of code were not always recognized correctly.
2008-01-21 18:35:49 +00:00
Georg Brandl 66e7363c10 #1269: fix a bug in pstats.add_callers() and add a unit test file for pstats. 2008-01-21 10:24:59 +00:00
Georg Brandl 6f7e2d0a30 #1876: fix typos in test_operator. 2008-01-20 14:31:27 +00:00
Georg Brandl 858493251f Fix test_pyclbr after urllib change. 2008-01-20 14:20:02 +00:00
Georg Brandl 5235398323 #1669: don't allow shutil.rmtree() to be called on a symlink. 2008-01-20 14:17:42 +00:00
Georg Brandl 56112895d6 #1648: add sys.gettrace() and sys.getprofile(). 2008-01-20 13:59:46 +00:00
Georg Brandl 9b0d46db11 #1178141: add addinfourl.code to get http status code from urllib. 2008-01-20 11:43:03 +00:00
Gregory P. Smith 0c63fc23c4 Fix zipfile decryption. The check for validity only worked on one
type of encrypted zip files.  Files using extended local headers
needed to compare the check byte against different values.  (according
to reading the infozip unzip crypt.c source code)

Fixes issue1003.
2008-01-20 01:21:03 +00:00
Andrew M. Kuchling 88fbcf82ab Add an interactive test script for exercising curses 2008-01-20 00:12:19 +00:00
Gregory P. Smith 70eb2f91b4 Fix issue 1300: Quote command line arguments that contain a '|' character in
subprocess.list2cmdline (windows).
2008-01-19 22:49:37 +00:00
Gregory P. Smith e047e6dd09 fix comment typos, use not arg instead of arg == "", add test coverage
for inside of the final if needquotes: within subprocess.list2cmdline().
2008-01-19 20:49:02 +00:00
Georg Brandl 309501a617 #1663329: add os.closerange() to close a range of fds,
ignoring errors, and use this in subprocess to speed up
subprocess creation in close_fds mode. Patch by Mike Klaas.
2008-01-19 20:22:13 +00:00
Andrew M. Kuchling 15ce880cc8 Bug 1277: make Maildir use the user-provided factory instead of hard-wiring MaildirMessage.
2.5.2 bugfix candidate.
2008-01-19 20:12:04 +00:00
Georg Brandl c6fde7293e Fix #1146: TextWrap vs words 1-character shorter than the width.
Patch by Quentin Gallet-Gilles.
2008-01-19 19:48:19 +00:00
Georg Brandl 14404b68d8 Fix #1679: "0x" was taken as a valid integer literal.
Fixes the tokenizer, tokenize.py and int() to reject this.
Patches by Malte Helmert.
2008-01-19 19:27:05 +00:00
Andrew M. Kuchling 5c60bfcfbf Patch #976880: add mmap .rfind() method, and 'end' paramter to .find().
Contributed by John Lenton.
2008-01-19 18:18:41 +00:00
Christian Heimes 6c29be54a5 Disabled test_xmlrpc:test_404. It's causing lots of false alarms.
I also disabled a test in test_ssl which requires network access to svn.python.org. This fixes a bug Skip has reported a while ago.
2008-01-19 16:39:27 +00:00
Christian Heimes 95016e71ea Update for threading.local test. 2008-01-19 15:06:09 +00:00
Christian Heimes 71a0451f67 Added unit test to verify that threading.local doesn't cause ref leaks. It seems that the thread local storage always keeps the storage of the last stopped thread alive. Can anybody comment on it, please? 2008-01-19 13:46:06 +00:00
Jeffrey Yasskin 45169fbc80 Several tweaks: add construction from strings and .from_decimal(), change
__init__ to __new__ to enforce immutability, and remove "rational." from repr
and the parens from str.
2008-01-19 09:56:06 +00:00
Guido van Rossum bf4c7c8c0d This got fixed for classic classes in r60057,
and backported to 2.5.2 in 60056.
2008-01-18 23:05:40 +00:00
Christian Heimes 288e89acfc Added bytes and b'' as aliases for str and '' 2008-01-18 18:24:07 +00:00
Raymond Hettinger 473170908e Make starmap() match its pure python definition and accept any itertable input (not just tuples). 2008-01-17 03:02:14 +00:00
Raymond Hettinger 9e1bc982ff Add queues will alternative fetch orders (priority based and stack based). 2008-01-16 23:40:45 +00:00
Jeffrey Yasskin d7b00334f3 Add rational.Rational as an implementation of numbers.Rational with infinite
precision. This has been discussed at http://bugs.python.org/issue1682. It's
useful primarily for teaching, but it also demonstrates how to implement a
member of the numeric tower, including fallbacks for mixed-mode arithmetic.

I expect to write a couple more patches in this area:
 * Rational.from_decimal()
 * Rational.trim/approximate() (maybe with different names)
 * Maybe remove the parentheses from Rational.__str__()
 * Maybe rename one of the Rational classes
 * Maybe make Rational('3/2') work.
2008-01-15 07:46:24 +00:00
Raymond Hettinger cbf8f6cffb Temporarily revert 59967 until GC can be added. 2008-01-15 05:39:59 +00:00
Raymond Hettinger c216df9288 Issue 1820: structseq objects did not work with the % formatting operator or isinstance(t, tuple).
Orignal patch (without tests) by Leif Walsh.
2008-01-15 03:02:37 +00:00
Andrew M. Kuchling 7ce9b18460 Typo fixes 2008-01-15 01:29:16 +00:00
Christian Heimes c94e2b5c12 Now that I've learnt about structseq objects I felt like converting sys.float_info to a structseq. It's
readonly and help(sys.float_info) explains the attributes nicely.
2008-01-14 04:13:37 +00:00
Christian Heimes f31b69f9db Applied patch #1816: sys.flags patch 2008-01-14 03:42:48 +00:00
Christian Heimes 9c2019632b Added new an better structseq representation. E.g. repr(time.gmtime(0)) now returns 'time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)' instead of '(1970, 1, 1, 0, 0, 0, 3, 1, 0)'. The feature is part of #1816: sys.flags 2008-01-14 03:33:52 +00:00
Mark Dickinson 59bc20bb27 Issue 1780: Allow leading and trailing whitespace in Decimal constructor,
when constructing from a string. Disallow trailing newlines in
Context.create_decimal.
2008-01-12 01:56:00 +00:00
Raymond Hettinger fff4e6e171 Doctest results return a named tuple for readability 2008-01-11 01:25:54 +00:00
Raymond Hettinger d1ef85420f Run doctests on the collections module 2008-01-11 00:23:13 +00:00
Amaury Forgeot d'Arc d08a8ebf2a Closing issue1761.
Surprising behaviour of the "$" regexp: it matches the
end of the string, AND just before the newline at the end
of the string::

    re.sub('$', '#', 'foo\n') == 'foo#\n#'

Python is consistent with Perl and the pcre library, so
we just document it.
Guido prefers "\Z" to match only the end of the string.
2008-01-10 21:59:42 +00:00
Christian Heimes 3403f1589d Fixed #1776. __import__() no longer imports modules by file name 2008-01-09 19:56:33 +00:00
Christian Heimes b39a756afd Added __enter__ and __exit__ functions to HKEY object
Added ExpandEnvironmentStrings to the _winreg module.
2008-01-08 15:46:10 +00:00
Andrew M. Kuchling e0a49b6e05 Patch 1137: allow assigning to .buffer_size attribute of PyExpat.parser objects 2008-01-08 14:30:55 +00:00
Facundo Batista 52b25795c0 Issue #1757: The hash of a Decimal instance is no longer affected
by the current context.  Thanks Mark Dickinson.
2008-01-08 12:25:20 +00:00
Christian Heimes f66f95d419 It's verbose, not debug 2008-01-08 03:40:04 +00:00
Christian Heimes 4d7e6702e9 Fixed indention problem that caused the second TIPC test to run on systems without TIPC 2008-01-07 19:58:41 +00:00
Georg Brandl 62416bcf5a #467924, patch by Alan McIntyre: Add ZipFile.extract and ZipFile.extractall. 2008-01-07 18:47:44 +00:00
Christian Heimes fb2d25a154 Issue #1646: Make socket support TIPC. The socket module now has support
for TIPC under Linux, see http://tipc.sf.net/ for more information.
Thanks to Alberto Bertogli for the patch
2008-01-07 16:12:44 +00:00
Jeffrey Yasskin fd1c24518b Fix issue 1747: allow classic classes to be checked for being subclasses of
ABCs.
2008-01-07 06:09:40 +00:00
Georg Brandl e260ba2d33 #1325: Add docs and tests for zipimporter.archive and zipimporter.prefix. 2008-01-06 16:49:50 +00:00
Georg Brandl 183a084da3 #1742: don't raise exception on os.path.relpath("a", "a"), but return os.curdir.
Reported by Jesse Towner.
2008-01-06 14:27:15 +00:00
Guido van Rossum c6a04c2629 Patch #1637: fix urlparse for URLs like 'http://x.com?arg=/foo'.
Fix by John Nagle.
2008-01-05 22:19:06 +00:00
Georg Brandl f725b9587c Doc patch #1730 from Robin Stocker; minor corrections mostly to os.rst. 2008-01-05 19:44:22 +00:00
Andrew M. Kuchling 0589914e60 Fix comment typo 2008-01-05 15:13:49 +00:00
Jeffrey Yasskin 9871d8fe22 Continue rolling back pep-3141 changes that changed behavior from 2.5. This
round included:
 * Revert round to its 2.6 behavior (half away from 0).
 * Because round, floor, and ceil always return float again, it's no
   longer necessary to have them delegate to __xxx___, so I've ripped
   that out of their implementations and the Real ABC. This also helps
   in implementing types that work in both 2.6 and 3.0: you return int
   from the __xxx__ methods, and let it get enabled by the version
   upgrade.
 * Make pow(-1, .5) raise a ValueError again.
2008-01-05 08:47:13 +00:00
Fred Drake f7476c4d46 clean up a comment 2008-01-05 04:38:38 +00:00
Raymond Hettinger 1b50fd7cb3 Add error-checking to namedtuple's _replace() method. 2008-01-05 02:17:24 +00:00
Raymond Hettinger 02740f73ff Improve namedtuple's _cast() method with a docstring, new name, and error-checking. 2008-01-05 01:35:43 +00:00
Guido van Rossum ced4eb06e4 Patch #1698 by Senthil: allow '@' in username when parsed by urlparse.py. 2008-01-05 01:21:57 +00:00
Guido van Rossum 3b83549ea0 Patch #1725 by Mark Dickinson, fixes incorrect conversion of -1e1000
and adds errors for -0x.
2008-01-05 00:59:59 +00:00
Christian Heimes a47b75b0a0 socket.ioctl is only available on Windows 2008-01-04 15:48:06 +00:00
Lars Gustäbel 2ee1c760cc Issue #1735: TarFile.extractall() now correctly sets
directory permissions and times.

(will backport to 2.5)
2008-01-04 14:00:33 +00:00
Jeffrey Yasskin 737c73f96f Make math.{floor,ceil}({int,long}) return float again for backwards
compatibility after r59671 made them return integral types.
2008-01-04 08:01:23 +00:00
Raymond Hettinger e0734e7dc0 Minor fix-ups to named tuples:
* Make the _replace() method respect subclassing.

* Using property() to make _fields read-only wasn't a good idea.
  It caused len(Point._fields) to fail.

* Add note to _cast() about length checking and alternative with the star-operator.
2008-01-04 03:22:53 +00:00
Christian Heimes 76d19f68e4 Added _struct._clearcache() for regression tests 2008-01-04 02:54:42 +00:00
Christian Heimes f2f41ebef4 Fixed refleak tests for _struct changes 2008-01-04 02:46:19 +00:00
Christian Heimes 8267d1dfe5 Bug #1481296: Fixed long(float('nan'))!=0L. 2008-01-04 00:37:34 +00:00
Christian Heimes eebb79cc69 Added copysign(x, y) function to the math module 2008-01-03 22:32:26 +00:00
Christian Heimes e2ca4245c9 Added math.isinf() and math.isnan() 2008-01-03 20:23:15 +00:00
Guido van Rossum ae04c3356e Issue #1700, reported by Nguyen Quan Son, fix by Fredruk Lundh:
Regular Expression inline flags not handled correctly for some unicode
characters.  (Forward port from 2.5.2.)
2008-01-03 19:12:44 +00:00
Jeffrey Yasskin 2f3c16be73 Backport PEP 3141 from the py3k branch to the trunk. This includes r50877 (just
the complex_pow part), r56649, r56652, r56715, r57296, r57302, r57359, r57361,
r57372, r57738, r57739, r58017, r58039, r58040, and r59390, and new
documentation. The only significant difference is that round(x) returns a float
to preserve backward-compatibility. See http://bugs.python.org/issue1689.
2008-01-03 02:21:52 +00:00
Kurt B. Kaiser 0a11232978 Change docstrings to comments so test output will display normally. 2008-01-02 05:23:38 +00:00
Kurt B. Kaiser 0f7c25d20f Issue1177
r58207 and r58247 patch logic is reversed.  I noticed this when I
tried to use urllib to retrieve a file which required auth.

Fix that and add a test for 401 error to verify.
2008-01-02 04:11:28 +00:00
Brett Cannon a6e515b90d Remove a straggling debugging print line. 2007-12-25 06:44:59 +00:00
Brett Cannon 4e438bcc56 Actually execute the tests for the getter/setter/deleter tests on properties.
Also fix the test by having the test classes inherit from object.

Are the getter/setter/deleter attributes supposed to be able to chain?  As of
right now they can't as the property tries to call what the property returns,
which is another property when they are chained.
2007-12-25 00:14:34 +00:00
Guido van Rossum e9a0e885db Patch #1672 by Joseph Armbruster. Use tempdir() to get a temporary directory. 2007-12-20 17:28:10 +00:00
Brett Cannon 905c31c73d Add tests for the warnings module; specifically formatwarning and showwarning.
Still need tests for warn_explicit and simplefilter.
2007-12-20 10:09:52 +00:00
Guido van Rossum 0b7b6fdff3 Patch #1549 by Thomas Herve.
This changes the rules for when __hash__ is inherited slightly,
by allowing it to be inherited when one or more of __lt__, __le__,
__gt__, __ge__ are overridden, as long as __eq__ and __ne__ aren't.
2007-12-19 22:51:13 +00:00
Guido van Rossum 02de8979cc Patch #1583 by Adam Olsen.
This adds signal.set_wakeup_fd(fd) which sets a file descriptor to
which a zero byte will be written whenever a C exception handler runs.

I added a simple C API as well, PySignal_SetWakeupFd(fd).
2007-12-19 19:41:06 +00:00
Raymond Hettinger 80016c9555 Fix issue 1661: Flags argument silently ignored in re functions with compiled regexes. 2007-12-19 18:13:31 +00:00
Raymond Hettinger 3b63556d4a Beef-up tests for dict literals 2007-12-19 00:21:06 +00:00
Raymond Hettinger 85dfcf3530 Users demand iterable input for named tuples. The author capitulates. 2007-12-18 23:51:15 +00:00
Christian Heimes 0a8143f646 Applied patch #1635: Float patch for inf and nan on Windows (and other platforms).
The patch unifies float("inf") and repr(float("inf")) on all platforms.
2007-12-18 23:22:54 +00:00
Raymond Hettinger 88880b2dd6 Add more namedtuple() test cases. Neaten the code and comments. 2007-12-18 00:13:45 +00:00
Christian Heimes 17b52afda6 Fixed #1624: Remove output comparison for test_pep277
I had to modify Brett's patch slightly.
2007-12-15 05:38:35 +00:00
Raymond Hettinger 42da874cdd Cleaner method naming convention 2007-12-14 02:49:47 +00:00
Christian Heimes 90e10e79ea Fixed bug #1620: New @spam.getter property syntax modifies the property in place.
I added also the feature that a @prop.getter decorator does not overwrite the doc string of the property if it was given as an argument to property().
2007-12-14 02:35:23 +00:00
Alexandre Vassalotti 2f9ca29d10 Fix issue #1313119: urlparse "caches" parses regardless of encoding 2007-12-13 17:58:23 +00:00
Raymond Hettinger adf9ffdfbe Fix bug 1604. deque.__init__() did not clear existing contents like list.__init__. Not a backport candidate. 2007-12-13 00:08:37 +00:00
Christian Heimes f15c66e143 The new float repr causes too much trouble and pain. I'm disabling the feature until we have sorted out the issues on all machines. 64bit machines seem to have issues and Guido has reported even worse.
Guido: It's pretty bad actually -- repr(1e5) comes out as '1.0'... Ditto for
repr(1eN) for most N... Both in 2.6 and in 3.0...
2007-12-11 00:54:34 +00:00
Christian Heimes 284d927625 Backport of r59456:59458 from py3k to trunk
Issue #1580: New free format floating point representation based on "Floating-Point Printer Sample Code", by Robert G. Burger. For example repr(11./5) now returns '2.2' instead of '2.2000000000000002'.

Thanks to noam for the patch! I had to modify doubledigits.c slightly to support X64 and IA64 machines on Windows. I also added the new file to the three project files.
2007-12-10 22:28:56 +00:00
Georg Brandl e6daafb449 Add DocXMLRPCServer test from GHOP task #136, written by Jeff Wheeler. 2007-12-09 22:39:12 +00:00
Skip Montanaro 546624609e correct email address 2007-12-08 15:26:16 +00:00
Armin Rigo 66d41b2fae This is probably what was meant here. 2007-12-07 19:19:55 +00:00
Georg Brandl 5d1b4d44aa Increase unit test coverage of SimpleXMLRPCServer.
Written for GHOP by Turkay Eren.
2007-12-07 09:07:10 +00:00
Raymond Hettinger 4e2f714031 Fix Issue 1045.
Factor-out common calling code by simplifying the length_hint API.
Speed-up the function by caching the PyObject_String for the attribute lookup.
2007-12-06 00:56:53 +00:00
Raymond Hettinger 2e1af256d4 Error checking was too aggressive (reported by Chris Tismer) 2007-12-05 18:11:08 +00:00
Christian Heimes 8f1fea5061 Fixed error in regrtest. I must have missed the spot. 2007-12-05 12:45:11 +00:00
Christian Heimes 44eeaec173 Patch #1537 from Chad Austin
Change GeneratorExit's base class from Exception to BaseException
(This time I'm applying the patch to the correct sandbox.)
2007-12-03 20:01:02 +00:00
Martin v. Löwis 6b449f4f2b Issue #1727780: Support loading pickles of random.Random objects created
on 32-bit systems on 64-bit systems, and vice versa. As a consequence
of the change, Random pickles created by Python 2.6 cannot be loaded
in Python 2.5.
2007-12-03 19:20:02 +00:00
Nick Coghlan ef01d822aa Implement PEP 366 2007-12-03 12:55:17 +00:00
Georg Brandl e4317fade8 Add test suite for cmd module.
Written by Michael Schneider for GHOP.
2007-12-01 22:38:48 +00:00
Lars Gustäbel 77b2d63b40 Issue #1531: Read fileobj from the current offset, do not seek to
the start.

(will backport to 2.5)
2007-12-01 21:02:12 +00:00
Christian Heimes dfdfaab1c5 Feature #1534
Added PyFloat_GetMax(), PyFloat_GetMin() and PyFloat_GetInfo() to the float API.
Added a dictionary sys.float_info with information about the internal floating point type to the sys module.
2007-12-01 11:20:10 +00:00
Christian Heimes 6b29dd05c8 Backport of -r59242:59246 from py3k
Fixed problem with regrtest caused by the additional of objects to _abcoll.
2007-11-30 22:36:10 +00:00
Amaury Forgeot d'Arc dafd32b730 Issue #1521: on 64bit platforms, str.decode fails on very long strings.
The t# and w# formats were not correctly handled.

Will backport.
2007-11-30 20:51:40 +00:00
Amaury Forgeot d'Arc 025c347d61 Issue #1402: PyInterpreterState_Clear() may still invoke user code
(in deallocation of running threads, for example), so the PyGILState_Release()
function must still be functional.
On the other hand, _PyGILState_Fini() only frees memory, and can be called later.

Backport candidate, but only after some experts comment on it.
2007-11-29 23:35:25 +00:00
Christian Heimes 636afc52c0 I forgot to fix one occurence of new in test_descr 2007-11-27 23:53:14 +00:00
Guido van Rossum 715ec1818d Patch # 1507 by Mark Dickinson. Make complex(x, -0) retain the sign of
the imaginary part (as long as it's not complex).
Backport candidate?
2007-11-27 22:38:36 +00:00
Christian Heimes c756d00cf2 Replaced import of the 'new' module with 'types' module and added a deprecation warning to the 'new' module. 2007-11-27 21:34:01 +00:00
Amaury Forgeot d'Arc ce7d10ccc4 Issue #1445: Fix a SystemError when accessing the ``cell_contents``
attribute of an empty cell object.  Now a ValueError is raised.
2007-11-24 13:44:17 +00:00
Facundo Batista 9401cbe0e9 Test cases from Cowlishaw, v2.57. All are pased cleanly. 2007-11-23 18:14:50 +00:00
Facundo Batista 72bc54faed Major change in the internal structure of the Decimal
number: now it does not store the mantissa as a tuple
of numbers, but as a string.

This avoids a lot of conversions, and achieves a
speedup of 40%. The API remains intact.

Thanks Mark Dickinson.
2007-11-23 17:59:00 +00:00
Brett Cannon eaa2c980ee Fix a bug in the test for using __loader__.get_data(). 2007-11-23 00:06:51 +00:00
Guido van Rossum 64c06e327d Backport of _abccoll.py by Benjamin Arangueren, issue 1383.
With some changes of my own thrown in (e.g. backport of r58107).
2007-11-22 00:55:51 +00:00
Brett Cannon 9db1d5a379 Add a missing check before deleting a package's __loader__. 2007-11-21 00:58:03 +00:00
Brett Cannon 43e53f85b6 doctest assumed that a package's __loader__.get_data() method used universal
newlines; it doesn't.  To rectify this the string returned replaces all
instances of os.linesep with '\n' to fake universal newline support.

Backport candidate.
2007-11-21 00:47:36 +00:00
Brett Cannon 0e5edf5afd Remove a unneeded line that had typos. 2007-11-21 00:16:20 +00:00
Amaury Forgeot d'Arc 5087980c1e The incremental decoder for utf-7 must preserve its state between calls.
Solves issue1460.

Might not be a backport candidate: a new API function was added,
and some code may rely on details in utf-7.py.
2007-11-20 23:31:27 +00:00
Christian Heimes 547867e13a Another fix for test_shutil. Martin pointed out that it breaks some build bots 2007-11-20 03:21:02 +00:00
Christian Heimes 044d709111 Fixed bug #1470 2007-11-20 01:48:48 +00:00
Guido van Rossum 4673e19d8b Fix the OSX failures in this test -- they were due to /tmp being a symlink
to /private/tmp.  Adding a call to os.path.realpath() to temp_dir() fixed it.
2007-11-19 17:50:22 +00:00
Guido van Rossum 089816ba0b Make this work stand-alone, too. 2007-11-19 17:35:24 +00:00
Nick Coghlan 8f6793b540 Enable some test_cmd_line_script debugging output to investigate failure on Mac OSX buildbot 2007-11-19 13:56:27 +00:00
Walter Dörwald 183744d6b9 Fix for #1444: utf_8_sig.StreamReader was (indirectly through decode())
calling codecs.utf_8_decode() with final==True, which falled with incomplete
byte sequences. Fix and test by James G. Sack.
2007-11-19 12:41:10 +00:00
Walter Dörwald fc7e72d1c6 Fix typo in comment. 2007-11-19 12:14:05 +00:00
Nick Coghlan 327a39b047 Patch #1739468: Directories and zipfiles containing __main__.py are now executable 2007-11-18 11:56:28 +00:00
Facundo Batista 57d5669f4b Now in find, rfind, index, and rindex, you can use None as defaults,
as usual with slicing (both with str and unicode strings).  This
fixes issue 1259.

For str only the stringobject.c file was modified.  But for unicode,
I needed to repeat in the four functions a lot of code, so created
a new function that does part of the job for them (and placed it in
find.h, following a suggestion of Barry).

Also added tests for this behaviour.
2007-11-16 18:04:14 +00:00
Bill Janssen 414c2b0819 add the certificate for the Python SVN repository for testing SSL 2007-11-15 23:03:03 +00:00
Raymond Hettinger eeeb9c4445 Accept Issac Morland's suggestion for __replace__ to allow multiple replacements
(suprisingly, this simplifies the signature, improves clarity, and is comparably fast).
Update the docs to reflect a previous change to the function name.
Add an example to the docs showing how to override the default __repr__ method.
2007-11-15 02:44:53 +00:00
Raymond Hettinger b5e5d0741a Add test for __fields__ being read-only 2007-11-14 23:02:30 +00:00
Amaury Forgeot d'Arc 0d75f09177 Merge from py3k branch:
Correction for issue1265 (pdb bug with "with" statement).

When an unfinished generator-iterator is garbage collected, PyEval_EvalFrameEx
is called with a GeneratorExit exception set.  This leads to funny results
if the sys.settrace function itself makes use of generators.
A visible effect is that the settrace function is reset to None.
Another is that the eventual "finally" block of the generator is not called.

It is necessary to save/restore the exception around the call to the trace
function.

This happens a lot with py3k: isinstance() of an ABCMeta instance runs
    def __instancecheck__(cls, instance):
        """Override for isinstance(instance, cls)."""
        return any(cls.__subclasscheck__(c)
                   for c in {instance.__class__, type(instance)})
which lets an opened generator expression each time it returns True.

Backport candidate, even if the case is less frequent in 2.5.
2007-11-13 21:54:28 +00:00
Guido van Rossum 0288cb0ba8 Add the test from issue 1704621 (the issue itself is already fixed here). 2007-11-12 20:06:40 +00:00
Guido van Rossum d1ef78942a Issue 1416. Add getter, setter, deleter methods to properties that can be
used as decorators to create fully-populated properties.
2007-11-10 22:12:24 +00:00
Georg Brandl 980c4fc04d Correct a comment about testing methods - nowadays most
tests don't run directly on import.
2007-11-09 17:33:23 +00:00