Commit graph

31621 commits

Author SHA1 Message Date
Guido van Rossum
75b64e65f1 Use decorators. 2005-01-16 00:16:11 +00:00
Tim Peters
9ba3684ecc Gave the new datetime.strptime() a versionadded blurb. 2005-01-13 21:06:25 +00:00
Tim Peters
608c2fff69 Whitespace normalization. 2005-01-13 17:37:38 +00:00
Andrew McNamara
f69d94f6c0 Moved reader \r and \n processing from the iterator to the state machine -
this allows for better handling of newline characters in quoted fields (and
hopefully resolves Bug 967934).
2005-01-13 11:30:54 +00:00
Vinay Sajip
a1974c1459 Improved SysLogHandler error recovery (patch by Erik Forsberg) 2005-01-13 08:23:56 +00:00
Skip Montanaro
0af3ade6aa Add strptime() constructor to datetime class. Thanks to Josh Spoerri for
the changes.
2005-01-13 04:12:31 +00:00
Fred Drake
2f8c6589f5 fix typo 2005-01-12 19:11:45 +00:00
Fred Drake
d7c27bef52 remove unused variable 2005-01-12 16:00:55 +00:00
Andrew McNamara
8231de0513 Many updates to csv module doco. 2005-01-12 11:47:57 +00:00
Andrew McNamara
5cfd83748a Improve wording of parser error message. 2005-01-12 11:39:50 +00:00
Andrew McNamara
7f2053eff3 Add counting of source iterator lines to the reader object - handy for
user error messages (otherwise difficult to do without instrumenting
the source).
2005-01-12 11:17:16 +00:00
Andrew McNamara
0f0599ddc1 When quoting=QUOTE_NONNUMERIC, the reader now casts unquoted fields
to floats.
2005-01-12 09:45:18 +00:00
Andrew McNamara
5d45a8dc22 Fix logic problem in quoting=csv.QUOTE_ALL, quotechar=None check, add test. 2005-01-12 08:16:17 +00:00
Andrew McNamara
c89f284df8 When using QUOTE_NONNUMERIC, we now test for "numericness" with
PyNumber_Check, rather than trying to convert to a float.  Reimplemented
writer - now raises exceptions when it sees a quotechar but neither
doublequote or escapechar are set. Doublequote results are now more
consistent (eg, single quote should generate """", rather than "",
which is ambiguous).
2005-01-12 07:44:42 +00:00
Andrew McNamara
31d8896ee2 Rename csv.set_field_limit to csv.field_size_limit (since it both sets and
gets).
2005-01-12 03:45:10 +00:00
Andrew McNamara
a08eecb638 Add news about csv module updates. 2005-01-12 03:25:27 +00:00
Andrew McNamara
af1e312b3b Improve test coverage fractionally. 2005-01-12 01:55:21 +00:00
Andrew McNamara
cf0fd5ab29 Add belt and braces check of PyString_AsString return. 2005-01-12 01:16:35 +00:00
Kurt B. Kaiser
1b6f398c98 Improve error handling when .idlerc can't be created. 2005-01-11 19:29:39 +00:00
Raymond Hettinger
d4f5b07e5d Add duck-typing to the glossary. 2005-01-11 16:11:13 +00:00
Raymond Hettinger
faa10ebdd0 SF bug #1099516: tempfile files not types.FileType
Clarified that the returned object is file-like rather than an actual file.
2005-01-11 15:33:03 +00:00
Andrew McNamara
e4d05c4f93 Set an upper limit on the size of the field buffer, raise an exception
when this limit is reached. Limit defaults to 128k, and is changed
by module set_field_limit() method. Previously, an unmatched quote
character could result in the entire file being read into the field
buffer, potentially exhausting virtual memory.
2005-01-11 07:32:02 +00:00
Andrew McNamara
29bf4e44f6 Now that internal dialect type is immutable, and the dialect registry
only contains instances of the dialect type, we can refer directly to the
dialect instances rather than creating new ones. In other words, if the
dialect comes from the registry, and we apply no further modifications,
the reader/writer can use the dialect object directly.
2005-01-11 04:49:53 +00:00
Raymond Hettinger
a422c34b70 SF 1098985: set objects cannot be marshalled 2005-01-11 03:03:27 +00:00
Andrew McNamara
7130ff5eb9 Replace python-coded validation of csv dialect with a call to the C
dialect type (which has a better idea of what is and isn't valid).
2005-01-11 02:22:47 +00:00
Andrew McNamara
8c94b42f31 No longer attempt to instantiate python classes describing dialects. This
was done because we were previously performing validation of the dialect
from python, but this is now down within the C module. Also, the method
we were using to detect classes did not work with new-style classes.
2005-01-11 02:18:36 +00:00
Andrew McNamara
86625972a1 Allow dialect-describing keywords to be supplied to register_dialect,
record objects of internal dialect type, rather than instances of
python objects.
2005-01-11 01:28:33 +00:00
Andrew McNamara
91b97463cd Factor out the code for making a dialect instance. 2005-01-11 01:07:23 +00:00
Andrew McNamara
dbce2618b1 Only set error string when dict lookup found no matching key (was setting
it for all failures, potentially masking other exceptions).
2005-01-10 23:17:35 +00:00
Tim Peters
b497c106d5 Whitespace normalization. 2005-01-10 16:48:37 +00:00
Andrew McNamara
a8292636c6 When parsing args that return a single character, treat null string the
same as None.
2005-01-10 12:25:11 +00:00
Andrew McNamara
37d2bdfa76 Where a string is desired, test for PyBaseString_Type derived type,
rather than using PyString_Check/PyUnicode_Check.
2005-01-10 12:22:48 +00:00
Walter Dörwald
9fa0946771 Fix and test for SF bug #1098990: codec readline() splits lines apart. 2005-01-10 12:01:39 +00:00
Johannes Gijsbers
c0b194a770 Bug #489256: remove out of date and out of place profile.doc, and let
profile.help() point at the library reference instead of profile.doc.
2005-01-10 09:07:22 +00:00
Andrew McNamara
77ead87f30 Add missing PyObject_GC_Track and PyObject_GC_UnTrack calls to csv reader and
writer objects (other GC infrastructure already in place).
2005-01-10 02:09:41 +00:00
Andrew McNamara
36a7691c2d Fix parsing of csv files with escapes (escape character previously would be
left in stream).
2005-01-10 01:04:40 +00:00
Johannes Gijsbers
41e4faa82b Patch #712317: In URLs such as http://www.example.com?query=spam, treat '?' as
a delimiter. Previously, the 'network location' (<authority> in RFC 2396) would
become 'www.example.com?query=spam', while RFC 2396 does not allow a '?' in
<authority>. See bug #548176 for further discussion.
2005-01-09 15:29:10 +00:00
Johannes Gijsbers
cdd625a770 Patch #1095362: replace hardcoded test for POST/GET with call to get_method,
removing some duplication and gaining some flexibility in the process.
2005-01-09 05:51:49 +00:00
Johannes Gijsbers
2abe785fee Move code in __name__ == '__main__' block into main() function, rewrite code so
there's no need to subclass OptionParser.
2005-01-09 01:58:02 +00:00
Johannes Gijsbers
97613ad02d Patch #1051321 (fixes bugs 1010196, 1013525), by Mike Brown:
* Document hasFeature(), createDocument(), CreateDocumentType(),
  hasAttribute(), hasAttributeNS().

* In the documentation for createDocument(), it is now stated that the Python
  DOM API allows implementations to forego creation of the document element
  child node, if no namespace and local name arguments are given. (This
  possibility is left open and unaddressed in the W3C spec).

* Addition by me: use 'name' rather than 'attname', for consistency with the
  DOM specification and the Python DOM API implementation.
2005-01-09 00:36:53 +00:00
Johannes Gijsbers
158df10341 Bug #1098497: various small typo's, grammar and markup nits. 2005-01-09 00:12:48 +00:00
Skip Montanaro
c9a4762bd6 comment tweak 2005-01-08 21:58:58 +00:00
Skip Montanaro
afd77d980e Add definitions for "up" and "down" commands that print/display the current
Python file/line when the current C execution frame is inside
PyEval_EvalFrame.  These are commented out by default because GDB sometimes
crashes as a result (seems like a GDB bug).

Add a pyframe command that displays the current Python stack frame.  If the
marked lines are uncommented, it will also cause Emacs/XEmacs to display the
current file/line.
2005-01-08 21:56:43 +00:00
Johannes Gijsbers
9ddb300598 Patch #936774: unify the display of data descriptors, including slots,
properties, and custom descriptors.

* removed special handling of properties

* added special handling of data descriptors - All data descriptors are grouped
  together in a section. For each item, the attribute name and doc string, if
  present, is displayed.

* disabled display of __slots__ attribute - since slots are descriptors, they
  are listed in the section described above

Thanks to John Belmonte for the patch!
2005-01-08 20:16:43 +00:00
Johannes Gijsbers
9a98364ba3 Replace rfc822.parseaddr with email.Utils.parseaddr. The implementation is
still the same, so there should be no backwards-compatibility problems.
2005-01-08 14:12:27 +00:00
Johannes Gijsbers
c7fc10a418 Patch #1079734: remove dependencies on (deprecated) rfc822 and mimetools
modules, replacing with email. Thanks to Josh Hoyt for the patch!
2005-01-08 13:56:36 +00:00
Johannes Gijsbers
a3beee185c Clean up tests by reusing functions from other modules:
* replace deltree with shutil.rmtree()
* replace mkdirs with os.makedirs()
* fold touchfile into GlobTests.mktemp()
2005-01-08 13:28:54 +00:00
Johannes Gijsbers
836f5433f7 Patch #943206:
`glob.glob()` currently calls itself recursively to build a list of matches of
the dirname part of the pattern and then filters by the basename part. This is
effectively BFS. ``glob.glob('*/*/*/*/*/foo')`` will build a huge list of all
directories 5 levels deep even if only a handful of them contain a ``foo``
entry. A generator-based recusion would never have to store these list at once
by implementing DFS. This patch converts the `glob` function to an `iglob`
recursive generator . `glob()` now just returns ``list(iglob(pattern))``.

I also cleaned up the code a bit (reduced duplicate `has_magic()` checks and
created a second `glob0` helper func so that the main loop need not be
duplicated).

Thanks to Cherniavsky Beni for the patch!
2005-01-08 13:13:19 +00:00
Johannes Gijsbers
e4172eadf3 Patch #1094015:
* Use os.makedirs() instead os.mkdir(). (bug #975763)
* Use copystat() to copy directory bits (bug #1048878)
2005-01-08 12:31:29 +00:00
Tim Peters
711906e0c2 threading._DummyThread.__init__(): document obscure new code.
test_threading.test_foreign_thread():  new test does a basic check that
"foreign" threads can using the threading module, and that they create
a _DummyThread instance in at least one use case.  This isn't a very
good test, since a thread created by thread.start_new_thread() isn't
particularly "foreign".
2005-01-08 07:30:42 +00:00