Commit Graph

1832 Commits

Author SHA1 Message Date
Barry Warsaw 302331a3b6 FieldStorage.__init__(): if there is no content-type header, use
text/plain for inner parts, but application/x-www-form-urlencoded
for outer parts.  Honor any existing content-type header.

Lower down, if the content-type header is something we don't
understand (say because it there was a typo in the header coming from
the client), default to text/plain for inner parts, but
application/x-www-form-urlencoded for outer parts.
1999-01-08 17:42:03 +00:00
Andrew M. Kuchling 5c355201e2 Fixed bug in the common-case code for HTTP URLs; it would lose the query,
fragment, and/or parameter information.
3 cases added to the test suite to check for this bug.
1999-01-06 22:13:09 +00:00
Guido van Rossum 2386d7333f Constants for [f]statvfs() (new in posixmodule.c) by Steve Clift. 1999-01-06 18:54:57 +00:00
Fred Drake 522af3a126 Update and add docstrings. 1999-01-06 16:28:34 +00:00
Fred Drake dc1aedfe2e Move brief descriptions of what() and whathdr() to docstrings in the
functions (from comments).
1999-01-06 15:20:49 +00:00
Greg Ward 9ddaaa1a30 Another patch from Fred: factored _init_posix into
get_config_h_filename, get_makefile_filename, parse_config_h, and
parse_makefile.
1999-01-06 14:46:06 +00:00
Guido van Rossum f4bf044999 Got rid of whatraw().
Doc-string-ified the lead comments.
Added auto call of test() when run as script.
1999-01-06 13:05:58 +00:00
Guido van Rossum 638d7f14f8 Add extend() method. A small New Year's present from Jean-Claude Wippler. 1999-01-06 12:49:24 +00:00
Guido van Rossum 4494101858 Incorporate fix suggested by /Fredrik Lundh in the newsgroup to cope
with trailing garbage generated by some broke uuencoders.
1999-01-05 18:02:24 +00:00
Guido van Rossum f8d579c5e3 This hopefully fixes the problem of having to set PATH
in autoexec.bat in order to find the Tcl DLLs -- Tkinter calls FixTk
which will hunt around in a few common places and then set PATH
and try again, or else issue a big clarifying error message.
1999-01-04 18:06:45 +00:00
Guido van Rossum 82eae9eaa7 Added mt_interact() -- multithreaded version of interact().
interact() automatically uses this on Windows (where the
single-threaded version doesn't work).
1998-12-23 23:04:17 +00:00
Guido van Rossum db01ee0e22 Patch by Mike Meyer:
Extended the rfc822 parsedate routines to handle the cases they failed
on in an archive of ~37,000 messages.  I believe the changes are
compatible, in that all previously correct parsing are still correct.

[I still see problems with some messages, but no showstoppers.]
1998-12-23 22:22:10 +00:00
Guido van Rossum 9a4d63730e Patch by Mike Meyer:
Add a class to mailbox.py for dealing with qmail directory mailboxes.
The test code was extended to notice these being used as well.
1998-12-23 22:05:42 +00:00
Guido van Rossum 99e1131536 Avoid crash in parsedate_tz() on certain invalid dates -- when the
field assumed to be the time is in fact the year, the resulting list
doesn't have enough items, and this isn't checked for.  Return None
instead.
1998-12-23 21:58:38 +00:00
Barry Warsaw 0720177e3d Small, and final docstring merge with Dragon's version. 1998-12-22 20:37:36 +00:00
Guido van Rossum c822a453bd Add warning to Netrc's docstring that it is obsolete -- use the netrc
module instead.  (The main advantage of the latter is that it comes
with documentation.)
1998-12-22 16:49:16 +00:00
Guido van Rossum af5add4629 New test function by Sjoerd, adding -t option. 1998-12-22 14:23:50 +00:00
Guido van Rossum 7ea1d972d1 The usual.
# Message to all python-checkins readers: we have a problem with the
# CVS mirroring software.  You can't check out the latest changes yet.
# We hope to have fixed this by noon EST today.
1998-12-22 13:50:33 +00:00
Greg Ward 3c8e54bf62 Applied Fred's patch to fix the bugs that John Skaller noticed. 1998-12-22 12:42:04 +00:00
Guido van Rossum 9c30c24bc2 Adding shlex and netrc by Eric Raymond. 1998-12-22 05:19:29 +00:00
Barry Warsaw a7d9bdfab6 A few other docstring fixes, most importantly to be a little nicer to
Emacs ;-)
1998-12-22 03:24:27 +00:00
Barry Warsaw 4c4bec86f4 Nothing earthshattering, just some fixes to typos and other formatting
bugs in various docstrings.
1998-12-22 03:02:20 +00:00
Guido van Rossum d147a6c35a Renaming Lib/plat-beos1 to Lib/plat-beos at Chris Herborth's request 1998-12-21 19:18:55 +00:00
Guido van Rossum 98c17b3aee Marc-Andre Lemburg notes about statparse():
"""
The message ID is returned lowercased and there is no way to access
the original ID the server sent. Now at least some news servers
are very picky about the case of the ID and return errors when
fetching articles with mixed case given a lowercased version
of the ID.

The solution is simple: remove the string.lower() call.
"""

(I might add that the lowercasing was probably introduced as a result
of sloppy copy-and-paste coding; there's a string.lower in a similar
piece of code a bit higher in the source, that makes more sense --
it's lowercasing the group name.)
1998-12-21 18:51:23 +00:00
Guido van Rossum dfaac4df9e Add XXX comment about the need to add a dump() method to the Text
widget -- no time to do this right now.
1998-12-21 18:25:03 +00:00
Guido van Rossum c08cc50e00 Add XXX comment about a test that doesn't seem right -- no time to
explore this now.
1998-12-21 18:24:09 +00:00
Guido van Rossum 0b56a3e9a7 A mod whose author I forget. (I must've mislaid the email. If it's
yours, please let me know for propoer acknowledgement.)

This avoids recompiling files that haven't changed; it adds a -f
option to force recompilation.
1998-12-21 18:23:38 +00:00
Guido van Rossum 91c8f5901b Sjoerd Mullender:
- Fixed a bug where a syntax error was reported when a document
  started with white space.  (White space at the start of a document
  is valid if there is no XML declaration.)
- Improved the speed quite a bit for documents that don't make use of
  namespaces.
1998-12-21 18:15:28 +00:00
Guido van Rossum c6769c54f4 Typo discovered by Just. 1998-12-21 16:26:31 +00:00
Guido van Rossum 1f05708f69 Use __stdin__ instead of stdin to derive FileType -- safer against
assignments.
1998-12-19 23:53:33 +00:00
Greg Ward 1190ee3d03 Fred's sysconfig module. 1998-12-18 23:46:33 +00:00
Greg Ward ee789b9601 Initial checkin of distutils source files. 1998-12-18 22:00:30 +00:00
Guido van Rossum b083a9fb54 Sjoerd Mullender writes:
Here is my current version of xmllib.py and the documentation.  This
version has some API changes with respect to the version currently in
Python (also the one in 1.5.2a).
This version supports XML namespaces.
1998-12-18 20:17:13 +00:00
Guido van Rossum 33add0a95a Sjoerd Mullender:
File names with "funny" characters get translated wrong by
pathname2url (any variety).  E.g. the (Unix) file "/ufs/sjoerd/#tmp"
gets translated into "/ufs/sjoerd/#tmp" which, when interpreted as a
URL is file "/ufs/sjoerd/" with fragment ID "tmp".

Here's an easy fix.  (An alternative fix would be to change the
various implementations of pathname2url and url2pathname to include
calls to quote and unquote.

[The main problem is with the normal use of URLs:
	url = url2pathname(file)
	transmit url
	url, tag = splittag(url)
	urlopen(url)
]

In addition, this patch fixes some uses of unquote:
- the host part of URLs should be unquoted
- the file path in the FTP URL should be unquoted before it is split
  into components.
- because of the latter, I removed all unquoting from ftpwrapper,
  and moved it to the caller, but that is not essential
1998-12-18 15:25:22 +00:00
Andrew M. Kuchling dc86a4e5bb Added a -q ('quiet') option to tabnanny, which causes only the names of
offending files to be printed.  Good for emacs `tabnanny.py *.py`
1998-12-18 13:56:58 +00:00
Barry Warsaw 107e623ef0 grid_bbox(): support new Tk API: grid bbox ?column row? ?column2 row2? 1998-12-15 00:44:15 +00:00
Guido van Rossum 030d2ec16c In read_multi, allow a subclass to override the class we instantiate
when we create a recursive instance, by setting the class variable
'FieldStorageClass' to the desired class.  By default, this is set to
None, in which case we use self.__class__ (as before).
1998-12-09 22:16:46 +00:00
Guido van Rossum f8b3b944aa In __getslice__, use self.__class__ instead of UserList. 1998-12-09 22:15:01 +00:00
Guido van Rossum 204b65c50f Sjoerd patches the previous patch:
In literal mode, also don't do anything about entity and character
references, or about closing CDATA elements.
1998-12-08 13:25:00 +00:00
Guido van Rossum f484a3366b Sjoerd writes:
When literal mode is entered it should exit automatically when the
matching close tag of the last unclosed open tag is encountered.  This
patch fixes this.
1998-12-07 21:59:56 +00:00
Guido van Rossum 5c3b384a85 Patch by Jeff Rush:
In SimpleHTTPServer.py, the server specified in test() should
be BaseHTTPServer.HTTPServer, in case the request handler should
want to reference the two attributes added by
BaseHTTPServer.server_bind:

        self.server_name = hostname
        self.server_port = port

There was some Bobo CGI code that wanted access to those attributes.
1998-12-07 04:08:30 +00:00
Guido van Rossum 9228cbd084 Patch by Jeff Rush:
In CGIHTTPServer.py, the list of acceptable formats is -split-
on spaces but -joined- on commas, resulting in double commas
in the joined text.  It appears harmless to my browser but
ought to be fixed anyway.

    'A, B, C' -> 'A,', 'B,', 'C,' -> 'A,,B,,C'
1998-12-07 04:08:03 +00:00
Guido van Rossum 391c8b4ea2 Open the file in binary mode -- so serving images from a Windows box
might actually work.
1998-12-07 03:53:18 +00:00
Guido van Rossum b241b67b89 Turtle graphics 1998-12-04 16:42:46 +00:00
Barry Warsaw 8fe2a34e1f Added NotImplementedError, subclassed from RuntimeError 1998-12-01 18:36:30 +00:00
Guido van Rossum 67a40e814c Patch by Jeff Bauer: a minor change to declare two new
threaded versions of Unix Server classes, using the
ThreadingMixIn class:

    ThreadingUnixStreamServer
    ThreadingUnixDatagramServer
1998-11-30 15:07:01 +00:00
Guido van Rossum e720176548 Wrong pathname in docstring detected by Fredrik Nehr. 1998-11-25 15:57:47 +00:00
Guido van Rossum 691d27a7ae Bomb on deleting a temporary breakpoint: there's no method
do_delete(); do_clear() was meant.  By Greg Ward.
1998-11-18 15:56:06 +00:00
Guido van Rossum 6d06094c77 Accept a non-list sequence for the long options (request by Jack Jansen).
Because it might be a common mistake to pass a single string, this
situation is treated separately.

Since we were making a copy of the longopts list anyway, we now use
the list() function -- this made it necessary to change all uses of
the local variable (and argument) 'list' to something more meaningful,
i.e., 'opts'.

Also added docstrings (copied from the library manual) and removed the
(now redundant) module comments.
1998-11-17 04:16:37 +00:00
Guido van Rossum fdb3d1a75e Fix typo in docstring: client_request should be client_address.
Noted by Stefan Witzel.
1998-11-16 19:06:30 +00:00
Guido van Rossum e0fbe1c26d Declaring zmod and poly obsolete. They have problems. 1998-11-02 15:38:51 +00:00
Guido van Rossum 2457fc2a81 Improvement to the previous fix suggested by Thomas Bellman: if the
unlink() or fdopen() fail, close the file descriptor and re-raise the
exception.
1998-10-24 15:02:59 +00:00
Guido van Rossum dce3d5502e The TemporaryFile() function has a security leak -- because the
filenames generated are easily predictable, it is possible to trick an
unsuspecting program into overwriting another file by creating a
symbolic link with the predicted name.  Fix this by using the
low-level os.open() function with the O_EXCL flag and mode 0700.  On
non-Unix platforms, presumably there are no symbolic links so the
problem doesn't exist.  The explicit test for Unix (posix, actually)
makes it possible to change the non-Unix logic to work without a
try-except clause.

The mktemp() file is as unsafe as ever.
1998-10-24 01:34:45 +00:00
Guido van Rossum 5d42b5b74d Moved compile_command() to a file of its own (codeop.py). 1998-10-22 21:56:44 +00:00
Guido van Rossum c41c1a984e Moved compile_command() here from code.py, so JPython can provide its
own version.
1998-10-22 21:56:15 +00:00
Guido van Rossum d370379186 Jim Fulton writes:
"""
I've attached a long overdue patch to pickle.py to bring it to format
1.3, which is the same as 1.2 except that the binary float format
is supported.  This is done using the new platform-indepent format
features of struct.

This patch also gets rid of the undocumented obsolete Pickler
dump_special method.
"""
1998-10-22 20:15:36 +00:00
Guido van Rossum fbba304aaa Move 'import sys' to top of module, as noted by Tim Peters. 1998-10-22 16:18:25 +00:00
Guido van Rossum 04da10c7a2 Piers Lauder writes:
"""
Jochen Hayek has reported a problem with some versions of IMAP4
servers that choose to mix the case in their CAPABILITIES response.

The patch below fixes the problem.
"""
1998-10-21 22:06:56 +00:00
Guido van Rossum a9832bc572 Use (f1, f2) as cache key instead of f1 + ' ' + f2.
Noted by Fredrik Lundh.
(Note -- this module is pretty silly.)
1998-10-21 15:23:52 +00:00
Guido van Rossum f5745008d2 Patch by Jim Fulton, who writes:
"""
The FieldStorage constructor calls the read_multi method.  The read_multi
method creates new FieldStorage objects, re-invoking the constructor
(on the new objects).  The problem is that the 'environ', 'keep_blank_values',
and 'strict_parsing' arguments originally passed to the constructor are not
propigated to the new object constructors.  This causes os.environ to be used,
leading to a miss-handling of the parts.

I fixed this by passing these arguments to read_multi and then on to the
constructor.  See the context diff below.
"""
1998-10-20 14:43:02 +00:00
Guido van Rossum d90ae19b92 Rename 'locals' argument to top-level interact() function to 'local'
for b/w compatibility with 1.5.1.
1998-10-19 18:42:53 +00:00
Guido van Rossum eeb2f32aad Fixed a problem where xmllib didn't handle the tag
<sometag attrib=">">
correctly.
Also changed comparisons of re matches and searches into explicit
comparisons with None.
(Sjoerd Mullender)
1998-10-19 13:28:26 +00:00
Guido van Rossum d54fb7ae9b The usual 1998-10-17 18:09:27 +00:00
Guido van Rossum c2047c19f5 When run as a script, don't pass a fake __main__ dictionary; use the
real one.
1998-10-15 01:38:23 +00:00
Guido van Rossum b0e5718643 Fix so that after a fork() -- on Unix only -- the template gets
recalculated.
1998-10-14 20:27:05 +00:00
Guido van Rossum 9f1292d840 Perhaps a controversial change: when reporting a callback exception,
assign the exception info to sys.last_{type,value,traceback}.  That
way, an introspective Tkinter app can inspect its own stack trace.

(The controversy is that it would keep some objects alive, but that's
probably no big deal.)
1998-10-13 20:02:39 +00:00
Barry Warsaw 4eaadf002e Added {xview,yview}_{moveto,scroll} to the Canvas class. 1998-10-13 19:01:10 +00:00
Guido van Rossum e73d702344 Ever-so-slight improvementL the patterns to recognize import
statements now also stop at ';' (formerly they only stopped at '#').
1998-10-13 16:12:36 +00:00
Guido van Rossum 243ac4f497 Updated listbox methods to Tk 8.0. (Moved some around, added
x/yview_scroll/moveto.)
1998-10-13 13:37:30 +00:00
Guido van Rossum 3179b36014 When no master widget is specified, use options['parent'] if it exists. 1998-10-12 20:40:47 +00:00
Guido van Rossum 7f20263349 Only reference Tkinter._default_root when needed. 1998-10-12 20:40:09 +00:00
Guido van Rossum 0688436305 Enhancements by Sjoerd Mullender: support for
from a.b import c
	import a . b
1998-10-12 15:23:04 +00:00
Guido van Rossum 7a840e8d50 Add support for dotted module names to readmodule(). 1998-10-12 15:21:38 +00:00
Guido van Rossum 1c5fb1cd1b Make mimetypes.guess_type understand data URLs. (Sjoerd Mullender) 1998-10-12 15:12:28 +00:00
Guido van Rossum 56440a58f7 Fix two bugs in the fstat() line, reported by Fredruk Lundh. 1998-10-07 14:06:03 +00:00
Guido van Rossum d832f9e425 Fix append() calls with more than 1 argument. 1998-10-07 13:18:17 +00:00
Guido van Rossum da65450530 The message "Exception in Tkinter callback" should go to stderr.
Fix bug in NoDefaultRoot() -- _default_root wasn't declared global;
and made it reentrant.

Don't set _default_root to whatever master gets passed in to
BaseWidget._setup() (only set it when we need to create a new Tk()
widget).
1998-10-06 19:06:27 +00:00
Guido van Rossum 96372a2657 ST_MODE should be ST_MTIME in utime call in copystat. Thanks to Mike Orr. 1998-10-02 03:16:08 +00:00
Guido van Rossum 64e736ba4e Some new blood and some updated versions. 1998-10-02 01:23:47 +00:00
Guido van Rossum 4581a0c07b New test_long.py from Tim Peters. 1998-10-02 01:19:48 +00:00
Barry Warsaw 4cbe3876ec NSEW is also valid for -sticky 1998-10-01 15:54:48 +00:00
Barry Warsaw 9190046289 Added NS and EW constants, which are meaningful values for grid's
-sticky option.
1998-10-01 13:49:37 +00:00
Guido van Rossum f984a65267 Fix suggested by Sjoerd (long ago!) to get a better error message when
there's a syntax error.  (In particular, display the correct
filename).  This changes the API: if there's a syntax error, the
function now returns normally after dumping the error to sys.stderr.
I changed Sjoerd's use of string.join(string.split(...)) with
string.replace().
1998-09-29 15:57:42 +00:00
Guido van Rossum 26367a001d New version from Piers Lauder, who writes:
Added a debug function to replace 'print' statements.
Ensured that response attached to 'NO' replies is passed back.
added readonly exception.
Rearranged method order into types.
Ensure select returns a meaningful error on 'NO'.
'NO' returns from authenticate and login raise error with last message,
not list.
1998-09-28 15:34:46 +00:00
Guido van Rossum 75bb54c3d8 Don't set a local variable named __args__; this feature no longer
works and Greg Ward just reported a problem it caused...
1998-09-28 15:33:38 +00:00
Guido van Rossum 9ab96d40eb Changes by Eric Raymond:
1. Generate a correct Content-Length header visible through the info() method
   if a request to open an FTP URL gets a length in the response to RETR.

2. Take a third argument to urlretrieve() that makes it possible to progress-
   meter an urlretrieve call (this is what I needed the above change for).
   See the second patch band below for details.

3. To avoid spurious errors, I commented out the gopher test.  The target
   document no longer exists.
1998-09-28 14:07:00 +00:00
Barry Warsaw 9195f55bbf Updated the docstring and class hierarchy diagram 1998-09-25 22:43:21 +00:00
Guido van Rossum f7d77009c1 Add two constants (with the same value) to specify the on-board CD input. 1998-09-24 18:09:47 +00:00
Guido van Rossum 5227f0fdcd Reworked it quite a bit. There are now two classes: a base class,
InteractiveInterpreter, which handles parsing and interpreter state
but doesn't know deal with buffering or prompting or input file
naming.  And a derived class, InteractiveConsole, which adds buffering
and prompting and supports setting the filename once.  Also tweak the
algorithm in compile_command() a bit so that input consisting of all
blank lines or comments always succeeds immediately, and note the fact
that apart from SyntaxError it can also raise OverflowError.
1998-09-22 20:38:53 +00:00
Guido van Rossum 0238a25b20 Do the check for lacking sys.stdin.fileno() *before* testing for
Windows.  If sys.stdin doesn't appear to be a real file (characterized
by having a working fileno()), don't use any console specific methods
-- go straight to the default.
1998-09-22 02:38:42 +00:00
Guido van Rossum ef0056ae1a When sys.stdin.fileno() doesn't work, fall back to default_getpass()
-- don't just die.
1998-09-21 20:00:35 +00:00
Guido van Rossum 4ecd85aad7 After the previous changes, func_normalize() turned out to be redundant.
This simplified some other places in the code.
1998-09-21 17:40:47 +00:00
Guido van Rossum b0a94c0549 Changes so that JPython can also use this version of profile.py.
Suggested by Jim Hugunin.
1998-09-21 16:52:44 +00:00
Guido van Rossum f07029e4ba Get rid of the classes RModuleLoader and RModuleImporter -- these were
only there to override reload() in a way that doesn't make a whole lot
of sense and moreover broke since the latest changes in ihooks.
1998-09-21 14:53:26 +00:00
Guido van Rossum e3f8a64906 Comment out 't = t[0] + t[1]' in profiler_simulation() -- this
function is only used when running the calibration code, and it turns
out that recent changes in the timing code caused this statement to
raise an exception.
1998-09-21 14:52:22 +00:00
Guido van Rossum fc076d4ce2 Untabified and applied Richard Wolff's changes (plus my own reflowing
of some paragraphs).
1998-09-17 15:01:38 +00:00
Guido van Rossum 3a98e78a6e Richard Wolff's additional changes; some layout nits, and change the
alias delimiter to ';;'.
1998-09-17 15:00:30 +00:00
Guido van Rossum 743d17e3aa In load_inst(), when instantiating an instance the old way (i.e. when
there's an __getinitargs__() method), if a TypeError occurs, catch and
reraise it but add info to the error about the class name being
instantiated.  This makes debugging a lot easier if __getinitargs__()
returns something bogus (e.g. a string instead of a singleton tuple).
1998-09-15 20:25:57 +00:00
Guido van Rossum 0c92000b7a Ignore the TclError exception raised when deleting the registration
for callit, used by the after() command.  This can happen when the
callback deletes the window.
1998-09-14 19:06:39 +00:00
Guido van Rossum 8d5bef7fb8 There was a confusion in my checkin of the code to support list() with
and without a message number argument: the argument was called 'msg'
but the code expected it to be called 'which'.  In line with the other
methods, I've renamed the argument to 'which', and adapted the doc
string not to refer to 'msg'.
1998-09-14 17:36:51 +00:00