[issue12321] documentation of ElementTree.find

2011-06-13 Thread patrick vrijlandt

New submission from patrick vrijlandt :

>From the python docs for version 3.2:

19.12.3. ElementTree Objects
find(match)
[...] Same as getroot().find(match). [...]

This is not true: tree.find accepts an absolute path (like "/*") , whereas 
element.find doesn't. Also applies to findall and findtext.

--
components: XML
messages: 138228
nosy: patrick.vrijlandt
priority: normal
severity: normal
status: open
title: documentation of ElementTree.find
type: behavior
versions: Python 3.2

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12322] ElementPath 1.3 expressions documentation

2011-06-13 Thread patrick vrijlandt

New submission from patrick vrijlandt :

Python 3.2 supports ElementPath version 1.3. The relevant documentation is
http://effbot.org/zone/element-xpath.htm. It says:
..  (New in 1.3) Selects the parent element.

However, a CHANGES document says:
The engine also provides limited support for the ".." parent operator; you can 
use it inside the subtree, but it cannot go above the target element (the 
element you called "find" on).  

The normal documentation should document the limitation.

--
components: XML
messages: 138229
nosy: patrick.vrijlandt
priority: normal
severity: normal
status: open
title: ElementPath 1.3 expressions documentation
type: behavior
versions: Python 3.2

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12323] ElementPath 1.3 expressions

2011-06-13 Thread patrick vrijlandt

New submission from patrick vrijlandt :

>From http://effbot.org/zone/element-xpath.htm:

[position]  (New in 1.3) Selects all elements that are located at the given 
position. The position can be either an integer (1 is the first position), the 
expression “last()” (for the last position), or a position relative to last() 
(e.g. “last()-1” for the second to last position). This predicate must be 
preceeded by a tag name.

Testing shows, that [0] is accepted, and seems to be [last()]. 
However [-1] selects no elements. I think these expressions should raise an 
exception. (Or the feature should be 0-based and behave like python list 
indices)

--
components: XML
messages: 138230
nosy: patrick.vrijlandt
priority: normal
severity: normal
status: open
title: ElementPath 1.3 expressions
type: behavior
versions: Python 3.2

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12324] [3.2] sorted(big dict)

2011-06-13 Thread DDarko

New submission from DDarko :

I added an example to reproduce the bug.
>From the command line the same code:
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) [GCC 4.5.2] on linux2

$ python sort_test.py

Everything fine.

Python 3.2 (r32:88445, Mar 25 2011, 19:28:28) [GCC 4.5.2] on linux2

$ python3 sort_test.py 
Traceback (most recent call last):
  File "sort_test.py", line 1821, in 
r = sorted(d.items(), key=operator.itemgetter(1), reverse=1)
TypeError: unorderable types: dict() < dict()

--
files: sort_test.py
messages: 138231
nosy: DDarko
priority: normal
severity: normal
status: open
title: [3.2] sorted(big dict)
type: behavior
versions: Python 3.2
Added file: http://bugs.python.org/file22339/sort_test.py

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue2122] mmap.flush does not check for errors on windows

2011-06-13 Thread Antoine Pitrou

Changes by Antoine Pitrou :


--
stage: test needed -> patch review

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12324] [3.2] sorted(big dict)

2011-06-13 Thread Mark Dickinson

Mark Dickinson  added the comment:

This is expected behaviour:  Python 3 changed the semantics of the comparison 
operators <, <=, >, >=.  See:

http://docs.python.org/py3k/whatsnew/3.0.html#ordering-comparisons

for more.

--
nosy: +mark.dickinson
resolution:  -> invalid
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12324] [3.2] sorted(big dict)

2011-06-13 Thread DDarko

DDarko  added the comment:

I am aware of this change.
In this example, I'm sort by item number 1, which is a list, and its first 
value is an int.

$ python3 sort_test.py 






...

Dict index is always No. 2. But I do not sort it.
That's why it surprised me this error because nowhere dicts should not be 
compared.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12325] regex matches incorrectly on literal dot (99.9% confirmed)

2011-06-13 Thread Cal Leeming

New submission from Cal Leeming :

I believe I might have found a bug in the Python re libraries. Here is a 
complete debug of what is happening (my apologies for the nature of the actual 
text). I have ran this regex through RegexBuddy (and a few other tools), and 
all of them do the correct action (which is to not do any replacement), apart 
from Python. I haven't yet tried this in another language.

 ORIGINAL TEXT 
>>313229176 
me and a buddy and his girlfriend were watching tv once and this blabbering 
idiot starts talking about this scientific study she heard about where they 
built a fake city and only one guy didn't know that it was a fake. we all 
paused for a second and i said "the truman show?" and she says "yeah! that was 
the name of it!" me my buddy and his girlfriend all catch eyes and are baffled 
at how stupid she was


 TEXT AFTER REGEX SUB 

me and a buddy and his girlfriend were http://watching.tv once and this 
blabbering idiot starts talking about this scientific study she heard about 
where they built a fake city and only one guy didn't know that it was a fake.we 
all paused for a second and i said "the truman show?" and she says "yeah! that 
was the name of it!" me my buddy and his girlfriend all catch eyes and are 
baffled at how stupid she was
---

--- REPLACED TEXT ---
 watching tv 
 http://watching.tv 
---


 REGEX 
_t = re.compile(r"(^| 
)((?:[\w\-]{2,}?\.|)(?:[\w\-]{2,}?)(?:\.com|\.net|\.org|\.co\.uk|\.tv|\.ly))", 
flags = re.IGNORECASE | re.MULTILINE | re.DEBUG)

 COMMAND 
_t.sub("\\1http://\\2";, original_message_here)


 REGEX DEBUG 

subpattern 1
  branch
at at_beginning
  or
literal 32
subpattern 2
  subpattern None
branch
  min_repeat 2 65535
in
  category category_word
  literal 45
  literal 46
or
  subpattern None
min_repeat 2 65535
  in
category category_word
literal 45
  subpattern None
literal 46
branch
  literal 99
  literal 111
  literal 109
or
  literal 110
  literal 101
  literal 116
or
  literal 111
  literal 114
  literal 103
or
  literal 99
  literal 111
  literal 46
  literal 117
  literal 107
or
  literal 116
  literal 118
or
  literal 108
  literal 121

--
components: Regular Expressions
messages: 138234
nosy: Cal.Leeming
priority: normal
severity: normal
status: open
title: regex matches incorrectly on literal dot (99.9% confirmed)
versions: Python 2.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12325] regex matches incorrectly on literal dot (99.9% confirmed)

2011-06-13 Thread Cal Leeming

Changes by Cal Leeming :


--
type:  -> behavior

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4470] smtplib SMTP_SSL not working.

2011-06-13 Thread Torsten Bronger

Torsten Bronger  added the comment:

I still have to apply Catucci's patch (or a modification of) after every Ubuntu 
installation or upgrade.  Otherwise, I get

  ...
  File "/usr/lib/python2.7/smtplib.py", line 752, in __init__
SMTP.__init__(self, host, port, local_hostname, timeout)
  File "/usr/lib/python2.7/smtplib.py", line 239, in __init__
(code, msg) = self.connect(host, port)
  File "/usr/lib/python2.7/smtplib.py", line 295, in connect
self.sock = self._get_socket(host, port, self.timeout)
  File "/usr/lib/python2.7/smtplib.py", line 757, in _get_socket
new_socket = socket.create_connection((host, port), timeout)
  File "/usr/lib/python2.7/socket.py", line 571, in create_connection
raise err
socket.error: [Errno 111] Connection refused

But isn't it that #4066 should have solved the critical part this issue pair 
4066/4470?

--
nosy: +bronger

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12325] regex matches incorrectly on literal dot (99.9% confirmed)

2011-06-13 Thread Cal Leeming

Cal Leeming  added the comment:

Take particular notice to the following:

\.co\.uk

or
  literal 99
  literal 111
  literal 46
  literal 117
  literal 107


>>> map(lambda x: chr(x), [99,111,46,117,107])
['c', 'o', '.', 'u', 'k']

It would appear it is ignoring the first \. 

But why??

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12324] [3.2] sorted(big dict)

2011-06-13 Thread DDarko

DDarko  added the comment:

Sure. I know what's going on.
Sorry for the inconvenience.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12324] [3.2] sorted(big dict)

2011-06-13 Thread Mark Dickinson

Mark Dickinson  added the comment:

> In this example, I'm sort by item number 1, which is a list, and its
> first value is an int.

?  You're sorting by the values of the dict d, and those values have the form 
[int, int, dict];  so when the two ints match (e.g., in your data, there are 
two values of the form [64, 124, {...}]) there's a dictionary comparison.

Did you mean to do:

sorted(d.values(), key=operator.itemgetter(1), reverse=1)

?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12325] regex matches incorrectly on literal dot (99.9% confirmed)

2011-06-13 Thread Robert Lehmann

Robert Lehmann  added the comment:

I can not reproduce either of your findings.  Could you provide us with your 
version information?  re version 2.2.1, _sre 2.2.2, Python 2.6.6, Debian sid 
here.  Also tested with Python 2.7.2rc1 (same RE).

>>> import re
>>> re.compile(r"\.co\.uk", re.DEBUG)
literal 46
literal 99
literal 111
literal 46
literal 117
literal 107
<_sre.SRE_Pattern object at 0xb73b0860>
>>> re.compile(r"(^| 
>>> )((?:[\w\-]{2,}?\.|)(?:[\w\-]{2,}?)(?:\.com|\.net|\.org|\.co\.uk|\.tv|\.ly))",
>>>  flags = re.IGNORECASE | re.MULTILINE | re.DEBUG).sub("\\1http://\\2";, 
>>> """me and a buddy and his girlfriend were watching tv once and this 
>>> blabbering idiot starts talking about this scientific study she heard about 
>>> where they built a fake city and only one guy didn't know that it was a 
>>> fake. we all paused for a second and i said "the truman show?" and she says 
>>> "yeah! that was the name of it!" me my buddy and his girlfriend all catch 
>>> eyes and are baffled at how stupid she was""")
subpattern 1
...
'me and a buddy and his girlfriend were watching tv once...'

--
nosy: +lehmannro

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12325] regex matches incorrectly on literal dot (99.9% confirmed)

2011-06-13 Thread Cal Leeming

Cal Leeming  added the comment:

Oh jeez, you're going to think I'm such an idiot. I just ran a completely fresh 
test in the cli (away from the original source), and the issue disappeared (it 
was caused by caching - apparently).

I'm really sorry to have bothered you guys, I should have thought and tested 
this outside the original code first. I'll make sure to do this before posting 
any bugs in the future.

Thank you for your extremely fast response though!

Cal

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12324] [3.2] sorted(big dict)

2011-06-13 Thread DDarko

DDarko  added the comment:

I am interested in sorting only by INT0, in this example:
{k: [INT0, INT1, DICT], k: [INT0, INT1, DICT], ...}
not cmp. whole lists.

Unfortunately I can not take advantage of .values() as the keys I need.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12323] ElementPath 1.3 expressions

2011-06-13 Thread Antoine Pitrou

Changes by Antoine Pitrou :


--
nosy: +flox

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12322] ElementPath 1.3 expressions documentation

2011-06-13 Thread Antoine Pitrou

Changes by Antoine Pitrou :


--
nosy: +flox

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12321] documentation of ElementTree.find

2011-06-13 Thread Antoine Pitrou

Changes by Antoine Pitrou :


--
nosy: +flox

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12319] [http.client] HTTPConnection.putrequest not support "chunked" Transfer-Encodings to send data

2011-06-13 Thread Petri Lehtinen

Petri Lehtinen  added the comment:

What's the use case? Do you have an iterable that yields data whose size is 
unknown?

AFAIK, most web servers don't even support chunked uploads.

(Removing Python 2.7 from versions as this is clearly a feature request.)

--
nosy: +petri.lehtinen
type:  -> feature request
versions:  -Python 2.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12181] SIGBUS error on OpenBSD (sparc64)

2011-06-13 Thread Charles-François Natali

Charles-François Natali  added the comment:

> If there are only two versions of the structure on all operating
> systems, we can add a check in configure

Isn't it a bit overkill?
OpenBSD is the only OS to define struct kevent that way, adding a 
#ifdef __OpenBSD__

check would probably be enough, no?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12294] multiprocessing.Pool: Need a way to find out if work are finished.

2011-06-13 Thread Petri Lehtinen

Changes by Petri Lehtinen :


--
nosy: +petri.lehtinen
versions: +Python 3.3

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12281] bytes.decode('mbcs', 'ignore') does replace undecodable bytes on Windows Vista or later

2011-06-13 Thread STINNER Victor

STINNER Victor  added the comment:

Patch version 3:
 - add unit tests for code pages 932, 1252, CP_UTF7 and CP_UTF8
 - fix encode/decode flags for CP_UTF7/CP_UTF8
 - fix encode name on UnicodeDecodeError, support also "CP_UTF7" and "CP_UTF8" 
code page names

TODO:

 - The decoder (with errors) doesn't support multibyte characters, e.g. 
b"\xC3\xA9\xFF" is not correctly decoded using "replace" (insize is fixed to 1)
 - The encoder doesn't support surrogate pairs, but the result with UTF-8 looks 
correct
 - UTF-7 decoder is not strict, e.g. b'[+/]' is decoded to '[]' in strict mode
 - UTF-8 encoder is not strict, e.g. replace surrogates by U+FFFD
 - Use final in decode_mbcs_errors(): a multibyte character may be splitted 
between two chunks of INT_MAX bytes
 - Implement suggested Martin's optimizations?

--
Added file: http://bugs.python.org/file22340/mbcs3.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11728] mbox parser incorrect behaviour

2011-06-13 Thread Steffen Daode Nurpmeso

Steffen Daode Nurpmeso  added the comment:

Hello Valery Masiutsin, i recently stumbled over this while searching
for the link to the standart i've stored in another issue.
(Without being logged in, say.)
The de-facto standart (http://qmail.org/man/man5/mbox.html) says:

HOW A MESSAGE IS READ
  A reader scans through an mbox file looking for From_ lines.
  Any From_ line marks the beginning of a message.  The reader
  should not attempt to take advantage of the fact that every
  From_ line (past the beginning of the file) is preceded by a
  blank line.

This is however the recent version.  The "mbox" manpage of my up-to-date
Mac OS X 10.6.7 does not state this, for example.  It's from 2002.
However, all known MBOX standarts, i.e. MBOXO, MBOXRD, MBOXCL, require
proper quoting of non-From_ "From " lines (by preceeding with '>').
So your example should not fail in Python.
(But hey - are you sure *that* has been produced by Perl?)

You're right however that Python seems to only support the old MBOXO
way of un-escaping only plain "From " to/from ">From ", which is not
even mentioned anymore in the current standart - that only describes
MBOXRD ("(>*From )" -> ">"+match.group(1)). 
(Lucky me: i own Mac OS X, otherwise i wouldn't even know.)
Thus you're in trouble if the unescaping is performed before the split..
This is another issue, though: "MBOX parser uses MBOXO algorithm".

;> - Ciao, Steffen

--
nosy: +sdaoden

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12281] bytes.decode('mbcs', 'ignore') does replace undecodable bytes on Windows Vista or later

2011-06-13 Thread STINNER Victor

STINNER Victor  added the comment:

Using my patch, it is possible create a codec for any code page on demand: 
register a function checking if the encoding name starts with "cp" and ends 
with a valid code page number.

Even if it is bad idea to set the OEM code page to 65001, implement a codec for 
this code page would solve issue #6058 (and help issues #7441 and #10920). See 
also issue #1602 (Unicode support of the Windows console).

I don't know if the Windows codec should be use, it available, instead of 
Python builtin codecs for Windows code pages (e.g. "cp1252" encoding).

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12206] Documentation Std. Library 15.7.5 "LogRecord objects": Parameters: level(currently wrong) -> levelno (correct)

2011-06-13 Thread Roundup Robot

Roundup Robot  added the comment:

New changeset 5fbf0d010276 by Vinay Sajip in branch '2.7':
Closes #12206: documentation update for LogRecord constructor and 
Formatter.formatTime.
http://hg.python.org/cpython/rev/5fbf0d010276

--
resolution:  -> fixed
stage:  -> committed/rejected
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12316] test_signal: test_sigwait_thread failure on FreeBSD 6.4 buildbot

2011-06-13 Thread Charles-François Natali

Charles-François Natali  added the comment:

Patch attached:
- a new process is spawned (using assert_python_ok()) to avoid
undefined behavior (and crash on FreeBSD)
- I've kept SIGUSR1 default handler, because, as noted in
http://bugs.python.org/issue8407#msg138066 , there can be subtle
differences between default handlers and user-installed ones which can
mask bugs
- I've fixed a comment in test_sigwait

--
keywords: +patch
Added file: http://bugs.python.org/file22341/test_sigwait_thread.diff

___
Python tracker 

___diff -r 0e22c47b47a3 Lib/test/test_signal.py
--- a/Lib/test/test_signal.py   Sun Jun 12 23:02:57 2011 +0200
+++ b/Lib/test/test_signal.py   Mon Jun 13 15:53:57 2011 +0200
@@ -9,6 +9,7 @@
 import subprocess
 import traceback
 import sys, os, time, errno
+from test.script_helper import assert_python_ok
 try:
 import threading
 except ImportError:
@@ -627,8 +628,7 @@
 else:
 os._exit(0)
 else:
-# parent: let the child some time to wait, send him the signal, and
-# check it correcty received it
+# parent: check that the child correcty received the signal
 self.assertEqual(os.waitpid(pid, 0), (pid, 0))
 
 @unittest.skipUnless(hasattr(signal, 'sigwait'),
@@ -649,24 +649,36 @@
 @unittest.skipUnless(hasattr(signal, 'sigwait'),
  'need signal.sigwait()')
 @unittest.skipIf(threading is None, "test needs threading module")
-@unittest.skipUnless(hasattr(os, 'fork'), 'need os.fork()')
 def test_sigwait_thread(self):
-def kill_later(signum):
-# wait until the main thread is waiting in sigwait()
-time.sleep(1)
-os.kill(os.getpid(), signum)
+# Check that calling sigwait() from a thread doesn't suspend the whole
+# process.
+# A new interpreter is spawned to avoid problems when mixing threads 
and
+# fork() (only async-safe functions are allowed between fork() and
+# exec()).
+assert_python_ok("-c", """if True:
+import os, threading, sys, time, signal
 
-def test(signum):
-killer = threading.Thread(target=kill_later, args=(signum,))
+# the default handler terminates the process
+signum = signal.SIGUSR1
+
+def kill_later():
+# wait until the main thread is waiting in sigwait()
+time.sleep(1)
+os.kill(os.getpid(), signum)
+
+# the signal must be blocked by all the threads
+signal.pthread_sigmask(signal.SIG_BLOCK, [signum])
+killer = threading.Thread(target=kill_later)
 killer.start()
 received = signal.sigwait([signum])
 if received != signum:
 print("sigwait() received %s, not %s" % (received, signum),
   file=sys.stderr)
-os._exit(1)
+sys.exit(1)
 killer.join()
-
-self.check_sigwait(test, signal.SIGUSR1)
+# unblock the signal, which should have been cleared by sigwait()
+signal.pthread_sigmask(signal.SIG_UNBLOCK, [signum])
+""")
 
 @unittest.skipUnless(hasattr(signal, 'pthread_sigmask'),
  'need signal.pthread_sigmask()')
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12316] test_signal: test_sigwait_thread failure on FreeBSD 6.4 buildbot

2011-06-13 Thread Roundup Robot

Roundup Robot  added the comment:

New changeset d07d0afea9a7 by Victor Stinner in branch 'default':
Issue #12316: Fix sigwait() test using threads
http://hg.python.org/cpython/rev/d07d0afea9a7

--
nosy: +python-dev

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12316] test_signal: test_sigwait_thread failure on FreeBSD 6.4 buildbot

2011-06-13 Thread STINNER Victor

STINNER Victor  added the comment:

> Patch attached

The patch looks correct, but only FreeBSD 6.4 can tell us if it "works" or not, 
so I commited your new version of the test.

I inlined check_sigwait() because the function was only called by 
test_sigwait().

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12325] regex matches incorrectly on literal dot (99.9% confirmed)

2011-06-13 Thread R. David Murray

Changes by R. David Murray :


--
resolution:  -> invalid
stage:  -> committed/rejected
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12326] Linux 3: tests should avoid using sys.platform == 'linux2'

2011-06-13 Thread Charles-François Natali

New submission from Charles-François Natali :

Linus recently decided that the next Linux kernel version would 3.0 [1].
As a consequence, sys.platform (which is actually MACHDEP) will be 'linux3' on 
machines running Linux 3 kernels, and tests checking explicitely against 
'linux2' will either break and won't run.
A quick grep through the code base returns only a couple problematic places, 
but this should definitely be fixed.
For information, here's a - probably incomplete - list of such occurrences:

"""
./Lib/test/test_logging.py:if sys.platform in ('linux2', 'darwin'):
./Lib/test/test_sysconfig.py:sys.platform = 'linux2'
./Lib/test/regrtest.py:'linux2':
./Lib/test/test_socket.py:if sys.platform == 'linux2':
./Lib/test/test_tarfile.py:if sys.platform == "linux2":
./Lib/distutils/tests/test_bdist_rpm.py:if sys.platform != 'linux2':
./Lib/distutils/tests/test_bdist_rpm.py:if sys.platform != 'linux2':
./Lib/distutils/tests/test_util.py:sys.platform = 'linux2'
./Lib/packaging/tests/test_config.py:  inotify (0.0.1); sys.platform == 'linux2'
./Lib/packaging/tests/test_config.py:  "inotify (0.0.1); 
sys.platform == 'linux2'"]
./setup.py:if (platform in ('linux2', 'freebsd4', 'freebsd5', 
'freebsd6',
"""

[1] http://thread.gmane.org/gmane.linux.kernel/1147415

--
messages: 138251
nosy: neologix
priority: normal
severity: normal
stage: needs patch
status: open
title: Linux 3: tests should avoid using sys.platform == 'linux2'
type: behavior
versions: Python 3.3, Python 3.4

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12326] Linux 3: tests should avoid using sys.platform == 'linux2'

2011-06-13 Thread STINNER Victor

STINNER Victor  added the comment:

Why should be used instead?
 - sys.platform.startswith('linux')
 - os.uname()[0] == 'Linux'
 - platform.system() == 'Linux'
 - other?

Tests like sys.platform in ('linux2', 'darwin') can be replaced by sys.platform 
in ('linux2', 'linux3', 'darwin'). We will have to patch this test again for 
Linux 4.

--
nosy: +haypo

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12326] Linux 3: tests should avoid using sys.platform == 'linux2'

2011-06-13 Thread Antoine Pitrou

Antoine Pitrou  added the comment:

I would expect changing sys.platform will also break a lot of third-party code. 
Perhaps sys.platform can still be 'linux2' under Linux 3.x? After all, there's 
no significant change that deserves changing sys.platform.

--
nosy: +pitrou

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12326] Linux 3: tests should avoid using sys.platform == 'linux2'

2011-06-13 Thread STINNER Victor

STINNER Victor  added the comment:

sys.platform comes from Py_GetPlatform() which comes from PLATFORM define. On 
Linux, this define comes from Makefile: MACHDEP variable which comes from 
configure. Finally, MACHDEP is defined by:

ac_sys_system=`uname -s`
if test "$ac_sys_system" = "AIX" \
-o "$ac_sys_system" = "UnixWare" -o "$ac_sys_system" = "OpenUNIX"; then
ac_sys_release=`uname -v`
else
ac_sys_release=`uname -r`
fi
ac_md_system=`echo $ac_sys_system |
   tr -d '/ ' | tr '[A-Z]' '[a-z]'`
ac_md_release=`echo $ac_sys_release |
   tr -d '/ ' | sed 's/^[A-Z]\.//' | sed 's/\..*//'`
MACHDEP="$ac_md_system$ac_md_release"

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12326] Linux 3: tests should avoid using sys.platform == 'linux2'

2011-06-13 Thread Charles-François Natali

Charles-François Natali  added the comment:

> I would expect changing sys.platform will also break a lot of third-
> party code.

Maybe, but this would be an application bug.

Here's sys.platform current implementation:

const char *
Py_GetPlatform(void)
{
return PLATFORM;
}


And here's the documentation, from http://docs.python.org/c-api/init.html

"""
Return the platform identifier for the current platform. On Unix, this is 
formed from the “official” name of the operating system, converted to lower 
case, followed by the major revision number"""

So it's actually documented.

> Perhaps sys.platform can still be 'linux2' under Linux 3.x? After
> all, there's no significant change that deserves changing
> sys.platform.

Sounds like a recipe for confusion.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12326] Linux 3: tests should avoid using sys.platform == 'linux2'

2011-06-13 Thread Charles-François Natali

Changes by Charles-François Natali :


--
nosy: +lemburg, loewis

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12326] Linux 3: tests should avoid using sys.platform == 'linux2'

2011-06-13 Thread Arfrever Frehtes Taifersar Arahesis

Changes by Arfrever Frehtes Taifersar Arahesis :


--
nosy: +Arfrever

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12084] os.stat() on windows doesn't consider relative symlink

2011-06-13 Thread STINNER Victor

STINNER Victor  added the comment:

issue12084_v2.diff doesn't patch os.lstat(bytes): os.lstat(bytes) should call 
win32_lstat() (which is removed by this patch) instead of stat().

test_os doesn't test os.stat()/os.lstat() with byte filenames. You can for 
example replace Win32SymlinkTests.check_stat() method by:

def check_stat(self, link, target):
self.assertEqual(os.stat(link), os.stat(target))
self.assertNotEqual(os.lstat(link), os.stat(link))

bytes_link = os.fsencode(link)
self.assertEqual(os.stat(bytes_link), os.stat(target))
self.assertNotEqual(os.lstat(bytes_link), os.stat(bytes_link))

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12316] test_signal: test_sigwait_thread failure on FreeBSD 6.4 buildbot

2011-06-13 Thread STINNER Victor

STINNER Victor  added the comment:

test_signal passed in build #1577 of x86 FreeBSD 6.4 3.x: I close this issue. 
Thanks neologix!

--
resolution:  -> fixed
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12319] [http.client] HTTPConnection.putrequest not support "chunked" Transfer-Encodings to send data

2011-06-13 Thread harobed

harobed  added the comment:

I use http.client in WebDAV client.

Mac OS X Finder WebDAV client perform all his request in "chunk" mode : PUT and 
GET.

Here, I use http.client to simulate Mac OS X Finder WebDAV client.

Regards,
Stephane

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12084] os.stat() on windows doesn't consider relative symlink

2011-06-13 Thread STINNER Victor

STINNER Victor  added the comment:

> os.lstat(bytes) should call win32_lstat()
> (which is removed by this patch) instead of stat()

Short history:
- 0a1baa619171: Fix #10027. st_nlink not set on Windows calls to os.stat/lstat
- 730b728e5aef: Implement #1578269. Patch by Jason R. Coombs.

730b728e5aef adds win32_lstat(), but it doesn't patch posix_lstat(). So your 
patch is not a regression, it's just that it was never supported.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12063] tokenize module appears to treat unterminated single and double-quoted strings inconsistently

2011-06-13 Thread R. David Murray

R. David Murray  added the comment:

I agree with Petri, so I'm setting this to a doc issue.

--
assignee:  -> docs@python
components: +Documentation
nosy: +docs@python, r.david.murray
stage:  -> needs patch
type:  -> behavior

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12174] Multiprocessing logging levels unclear

2011-06-13 Thread R. David Murray

R. David Murray  added the comment:

I think it would be good to mention the numeric levels in the text as well (in 
parenthesis, perhaps), unless the rest of the logging docs no longer refer to 
the numeric levels.

--
nosy: +r.david.murray

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11669] Clarify Lang Ref "Compound statements" footnote

2011-06-13 Thread R. David Murray

R. David Murray  added the comment:

Sometimes we use the patch keyword for doc issues where someone has suggested a 
specific new wording but not generated an actual patch.  That seems to be the 
case here.

--
nosy: +r.david.murray

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11669] Clarify Lang Ref "Compound statements" footnote

2011-06-13 Thread R. David Murray

Changes by R. David Murray :


--
versions:  -Python 3.1

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12084] os.stat() on windows doesn't consider relative symlink

2011-06-13 Thread Brian Curtin

Brian Curtin  added the comment:

Here's a cleaned up patch which includes the test and lstat change Victor 
mentioned. I think this addresses everything we need to cover here. Can you run 
the tests once more with this new patch?

--
Added file: http://bugs.python.org/file22342/issue12084_v3.diff

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12327] in HTTPConnection the are len(body) and TypeError catch exception to detect if body is file like object, this hack do work with StringIO object

2011-06-13 Thread harobed

New submission from harobed :

Hi,

in httplib.HTTPConnection._send_request (Python 2.6)
in httplib.HTTPConnection._set_content_length (Python 2.7)
and http.client.HTTPConnection._set_content_length (Python 3.3)

there are something like that :

try:
thelen = str(len(body))
except TypeError as te:
# If this is a file-like object, try to
# fstat its file descriptor
try:
thelen = str(os.fstat(body.fileno()).st_size)
except (AttributeError, OSError):
# Don't send a length if this failed
if self.debuglevel > 0: print("Cannot stat!!")


If I put StringIO object in body and I do :

>>> len(body)
AttributeError: StringIO instance has no attribute '__len__'

I haven't TypeError.

I think we need to replace :

try:
thelen = str(len(body))
except TypeError as te:

by :

if hasattr(body, "read"):
   ... # it's file-like object
else:
   ... # it's string object

What do you think about ?

--
components: Library (Lib)
messages: 138264
nosy: harobed
priority: normal
severity: normal
status: open
title: in HTTPConnection the are len(body) and TypeError catch exception to 
detect if body is file like object, this hack do work with StringIO object
versions: Python 2.6, Python 2.7, Python 3.3

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue8260] When I use codecs.open(...) and f.readline() follow up by f.read() return bad result

2011-06-13 Thread harobed

harobed  added the comment:

Up, I think this patch isn't applied in Python 3.3a0.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12306] zlib: Expose zlibVersion to query runtime version of zlib

2011-06-13 Thread Torsten Landschoff

Torsten Landschoff  added the comment:

Here is an updated patch:

 * Function zlibVersion() replaced by module-level constant ZLIB_RUNTIME_VERSION
 * Added documentation (with versionadded: 3.3)

--
Added file: http://bugs.python.org/file22343/zlib_runtime_version.diff

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12306] zlib: Expose zlibVersion to query runtime version of zlib

2011-06-13 Thread Torsten Landschoff

Torsten Landschoff  added the comment:

Documentation for ZLIB_VERSION.

I just notice that it makes no sense to add the version info to that section. 
Feel free to move the two snippets.

I added a versionadded tag here as well (ZLIB_VERSION was already in Python 
1.5). Is there any old release for that versionadded tags should be removed?

--
Added file: http://bugs.python.org/file22344/zlib_version_doc.diff

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12328] multiprocessing's overlapped PipeConnection on Windows

2011-06-13 Thread sbt

New submission from sbt :

There are some problems with the new Windows overlapped implementation
of PipeConnection in the default branch.

1) poll(0) can return False when an empty string is in the pipe: if
   the next message in the pipe is b"" then PeekNamedPipe() returns
   (0, 0) which is indistiguishable from the case where the pipe is
   empty.

   This affects versions 2.6-3.2 of Python on Windows as well.  For
   old versions I would just document the fact that poll() will fail
   to see that there is data in the pipe if the next message is an
   empty string.  In practice this is not a big deal since pipes are
   primarily used for pickled objects which will never be the empty
   string.

2) _poll() forgets to check self._buffered, so it can return False
   even if there is buffered data.

3) Even if (2) is fixed, _poll() with a non-zero timeout can mess up
   message boundaries if the pipe contains messages of length zero or
   one.  To fix this overlapped_GetOverlappedResult() needs to be
   changed to not swallow and forget ERROR_MORE_DATA errors.

4) In _poll() there is a race condition: if the read operation
   completes after WaitForMultipleObjects() timesout, but before the
   operation is cancelled, then the data read will be discarded.

5) The code assumes that if CancelIo()/CancelIoEx() returns
   successfully then the OVERLAPPED structure and associated buffer
   may be deallocated immediately.  But the documentation says that if
   CancelIo()/CancelIoEx() succeeds then cancellation has only been
   *requested*:

 http://msdn.microsoft.com/en-us/library/aa363792%28v=vs.85%29.aspx

 If [CancelIoEx()] succeeds, the return value is nonzero. The
 cancel operation for all pending I/O operations issued by the
 calling thread for the specified file handle was successfully
 *requested*. The application must not free or reuse the
 OVERLAPPED structure associated with the canceled I/O operations
 until they have *completed*. The thread can use the
 GetOverlappedResult function to determine when the I/O operations
 themselves have been completed.

   We should wait for cancellation to *complete* by using
   GetOverlappedResult(..., TRUE), otherwise we risk a crash.  If the
   operation was cancelled then FALSE is returned with GetLastError()
   == ERROR_OPERATION_ABORTED.

   I would suggest making it a programming error for the overlapped
   object to be deallocated while the operation is still pending, and
   to print a RuntimeError if that happens.  (This does not prevent us
   from still trying to prevent a crash using CancelIoEx().)

6) Not a bug exactly, but poll(timeout) is no longer interruptible
   with Ctrl-C.  This also means that Queue.get() is no longer
   interruptible.

--

The unit tests attached pass on Unix.  On Windows versions up to 3.2,
only test_empty_string fails.  On Windows version 3.3 all three fail.

--
components: Extension Modules
files: test_pipe_poll.py
messages: 138268
nosy: jnoller, pitrou, sbt
priority: normal
severity: normal
status: open
title: multiprocessing's overlapped PipeConnection on Windows
type: behavior
versions: Python 2.6, Python 2.7, Python 3.1, Python 3.2, Python 3.3
Added file: http://bugs.python.org/file22345/test_pipe_poll.py

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12141] sysconfig.get_config_vars('srcdir') fails in specific cases

2011-06-13 Thread Ned Deily

Ned Deily  added the comment:

Here are patches to install a copy of xxmodule.c in the distutils tests 
directory (for 3.3, 3.2, and 2.7) and a copy in packaging tests for 3.3.  With 
them in place, test_build_ext/test_command_build_ext now executes when the 
tests are run from an installed Python where no source directory is available 
and each test case run copies the c file into its temp dir.
 
Currently, those test are being silently skipped in the installed case or, 
worse, picking up the wrong version of xxmodule.c depending on what 
sysconfig.get_config_vars('srcdir') returns (this happened to me when I reused 
a source directory name in some builds).   For 3.2, a patch is included to 
backport the Distutils part of the fix for issue12132.

--
components: +Distutils, Distutils2
keywords: +patch
nosy: +alexis
stage:  -> patch review
Added file: http://bugs.python.org/file22346/issue12141_3x.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12141] sysconfig.get_config_vars('srcdir') fails in specific cases

2011-06-13 Thread Ned Deily

Changes by Ned Deily :


Added file: http://bugs.python.org/file22347/issue12132_backport_32.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12141] sysconfig.get_config_vars('srcdir') fails in specific cases

2011-06-13 Thread Ned Deily

Changes by Ned Deily :


Added file: http://bugs.python.org/file22348/issue12141_32.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12141] sysconfig.get_config_vars('srcdir') fails in specific cases

2011-06-13 Thread Ned Deily

Changes by Ned Deily :


Added file: http://bugs.python.org/file22349/issue12141_27.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12328] multiprocessing's overlapped PipeConnection on Windows

2011-06-13 Thread sbt

sbt  added the comment:

The attached patch hopefully fixes problems (1)-(5), but I have never used 
overlapped I/O before.  test_pipe_poll.py passes with these changes.

--
keywords: +patch
Added file: http://bugs.python.org/file22350/pipe_poll.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12326] Linux 3: tests should avoid using sys.platform == 'linux2'

2011-06-13 Thread Martin v . Löwis

Martin v. Löwis  added the comment:

I suggest to change sys.platform to 'linux' in future releases (3.3). For 
bugfix releases (2.7, 3.2), I'd keep it as 'linux2' even on Linux 3. For 
security-only releases (2.6, 3.1), no change should be made.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue8260] When I use codecs.open(...) and f.readline() follow up by f.read() return bad result

2011-06-13 Thread STINNER Victor

Changes by STINNER Victor :


--
nosy: +haypo

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12327] in HTTPConnection the are len(body) and TypeError catch exception to detect if body is file like object, this hack do work with StringIO object

2011-06-13 Thread R. David Murray

R. David Murray  added the comment:

fileno and stat won't work on a StringIO object.  So StringIO would need to be 
special cased to call getvalue.

--
nosy: +orsenthil, r.david.murray

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue8260] When I use codecs.open(...) and f.readline() follow up by f.read() return bad result

2011-06-13 Thread R. David Murray

R. David Murray  added the comment:

According to this ticket it hasn't been applied anywhere yet (a message will be 
posted here when it is).

--
nosy: +r.david.murray
versions: +Python 3.3 -Python 3.1

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12084] os.stat() on windows doesn't consider relative symlink

2011-06-13 Thread STINNER Victor

STINNER Victor  added the comment:

> Here's a cleaned up patch which includes the test and lstat change
> Victor mentioned.

The test pass on Windows Seven 64 bits.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue7860] 32-bit Python on 64-bit Windows reports incorrect architecture

2011-06-13 Thread Santoso Wijaya

Changes by Santoso Wijaya :


--
nosy: +santa4nt

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12327] in HTTPConnection the are len(body) and TypeError catch exception to detect if body is file like object, this hack do work with StringIO object

2011-06-13 Thread harobed

harobed  added the comment:

> fileno and stat won't work on a StringIO object.  So StringIO would need to 
> be special cased to call getvalue.

Yes, but it isn't important in chunk transfer encoding.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12327] in HTTPConnection the are len(body) and TypeError catch exception to detect if body is file like object, this hack do work with StringIO object

2011-06-13 Thread R. David Murray

R. David Murray  added the comment:

But if the len information is available, why not return it?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12327] in HTTPConnection the are len(body) and TypeError catch exception to detect if body is file like object, this hack do work with StringIO object

2011-06-13 Thread R. David Murray

Changes by R. David Murray :


--
versions: +Python 3.2 -Python 2.6

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12084] os.stat() on windows doesn't consider relative symlink

2011-06-13 Thread Roundup Robot

Roundup Robot  added the comment:

New changeset 1a3e8db28d49 by Brian Curtin in branch '3.2':
Fix #12084. os.stat on Windows wasn't working properly with relative symlinks.
http://hg.python.org/cpython/rev/1a3e8db28d49

New changeset c04c55afbf81 by Brian Curtin in branch 'default':
Merge from 3.2 for Issue #12084.
http://hg.python.org/cpython/rev/c04c55afbf81

--
nosy: +python-dev

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue9516] sysconfig: $MACOSX_DEPLOYMENT_TARGET mismatch: now "10.3" but "10.5" during configure

2011-06-13 Thread Ned Deily

Ned Deily  added the comment:

There are several issues here now.

With the patches as now applied, when running the tests with standard OS X 
installer Pythons, I saw occasional failures of the new test_deployment_target 
test case ("Unexpected target").   After ensuring that the build_ext tests 
actually are executed consistently (see the patches for Issue12141), I found 
that the test case failed consistently when test_distutils was run after 
test___all__, which is the default.  There was also a telltale warning that 
test___all__ altered the execution environment.  After investigating, I've come 
to the conclusion that the root cause of this test failure *and* of the 
original reported problem in this issue is the original implementation of 
forcing MACOSX_DEPLOYMENT_TARGET way back in r38123.

The main problem with r38123 is that, while the issue needing fixing is limited 
to Distutils-spawned build steps, the solution unpredictably can modify the 
environment of *all* subprocesses (as Ronald noted earlier in msg114195):

>>> import os
>>> os.system('echo $MACOSX_DEPLOYMENT_TARGET')

0
>>> import distutils.command.build
>>> os.system('echo $MACOSX_DEPLOYMENT_TARGET')
10.6
0

The modification occurs in distutils.sysconfig._init_posix when 
distutils.sysconfig is imported so the env change can be a side-effect of 
importing other distutils modules, like above.  This behavior has been the case 
since r38123 but its effects were somewhat masked within the Python interpreter 
process by the use of os.putenv.  Now that the patches for this issue replaced 
os.putenv with setting os.environ directly, the changed 
MACOSX_DEPLOYMENT_TARGET is now visible in the interpreter, too.  And that's 
the cause of the new test___all__ "altered the execution environment" message.  
Running test___all__ causes distutils.sysconfig to be imported which causes the 
_init_posix one-time initialization to take place which will set 
MACOSX_DEPLOYMENT_TARGET (if it wasn't already set externally).  Regrtest now 
sees the change after running test___all__ and restores the original 
environment thereby deleting MACOSX_DEPLOYMENT_TARGET.  Because _init_posix is 
only run once, test_distutils fails afterwards because MACOSX_DEPLOYMENT_TARGET 
is no longer set and will never be set.

So I am now convinced that, indeed, the right solution is to only set 
MACOSX_DEPLOYMENT_TARGET in the Distutils-spawned processes.  Setting it 
globally is too fragile and has unintended side-effects (like in the reported 
problems earlier in this issue).

Beyond that there are some issues with the new test cases.  As it stands, the 
new test_deployment_target test case tries to run two subtests but the second 
doesn't actually work: distutils.build_ext doesn't bother recompiling it since 
the object file leftover from the first subtest appears to be up-to-date.  Also 
the test cases do not fully test the intended behavior of the deployment target 
processing:  allowing the deployment target to be overridden to be equal or 
greater than that of the interpreter build but not less.

Another issue is that with packaging now landed in the default branch (for 
3.3), similar code and tests are needed there.  Éric ported the new test cases 
but distutils.sysconfig does not exist in packaging: it uses the standard 
sysconfig.  So there is currently no deployment target checking or setting 
(what's done in distutils.sysconfig._init_posix) at all when using packaging.

The attached patches for 3.3, 3.2, and 2.7 try to address all these issues:
 - The deployment target setting code is removed from
   distutils.sysconfig._init_posix.
 - Distutils.spawn is modified to set the appropriate deployment
   target in the environment of spawned build subprocesses.
 - In test_build_ext, test case test_deployment_target is replaced
   by three new test cases: test_deployment_target_default,
   test_deployment_target_too_low,
   and test_deployment_target_higher_ok.
 - For 3.3 only, similar code is added to spawn in packaging.util
   and the test cases added to test_command_built_ext.

--
resolution: fixed -> 
stage: committed/rejected -> patch review
Added file: http://bugs.python.org/file22351/issue9516_v3_test_distutils.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue9516] sysconfig: $MACOSX_DEPLOYMENT_TARGET mismatch: now "10.3" but "10.5" during configure

2011-06-13 Thread Ned Deily

Changes by Ned Deily :


Added file: http://bugs.python.org/file22352/issue9516_v3_distutils.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue9516] sysconfig: $MACOSX_DEPLOYMENT_TARGET mismatch: now "10.3" but "10.5" during configure

2011-06-13 Thread Ned Deily

Changes by Ned Deily :


Added file: 
http://bugs.python.org/file22353/issue9516_v3_test_distutils_27.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue9516] sysconfig: $MACOSX_DEPLOYMENT_TARGET mismatch: now "10.3" but "10.5" during configure

2011-06-13 Thread Ned Deily

Changes by Ned Deily :


Added file: http://bugs.python.org/file22354/issue9516_v3_distutils_27.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue9516] sysconfig: $MACOSX_DEPLOYMENT_TARGET mismatch: now "10.3" but "10.5" during configure

2011-06-13 Thread Ned Deily

Changes by Ned Deily :


Added file: http://bugs.python.org/file22355/issue9516_v3_test_packaging.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue9516] sysconfig: $MACOSX_DEPLOYMENT_TARGET mismatch: now "10.3" but "10.5" during configure

2011-06-13 Thread Ned Deily

Changes by Ned Deily :


Added file: http://bugs.python.org/file22356/issue9516_v3_packaging.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12084] os.stat() on windows doesn't consider relative symlink

2011-06-13 Thread Brian Curtin

Brian Curtin  added the comment:

Well apparently that killed the XP build bots. Does anyone currently have 
access to XP that could test this?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12084] os.stat() on windows doesn't consider relative symlink

2011-06-13 Thread Jason R. Coombs

Jason R. Coombs  added the comment:

I'll take a look.

--
Added file: http://bugs.python.org/file22357/smime.p7s

___
Python tracker 

___

smime.p7s
Description: S/MIME cryptographic signature
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12084] os.stat() on windows doesn't consider relative symlink

2011-06-13 Thread Brian Curtin

Brian Curtin  added the comment:

It has something to do with the GetFinalPathNameByHandle dance.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12329] XHTML entity apos missing in htmlentitydefs

2011-06-13 Thread Hans Peter de Koning

New submission from Hans Peter de Koning :

In module htmlentitydefs.py the following XHTML-1 entity is missing from 
dict name2codepoint:

'apos': 0x0027, # apostrophe, U+0027 ISOnum

Above line should be added after line 72:
'ang':  0x2220, # angle, U+2220 ISOamso

--
components: Extension Modules
messages: 138282
nosy: hp.dekoning
priority: normal
severity: normal
status: open
title: XHTML entity apos missing in htmlentitydefs
versions: Python 2.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12329] XHTML entity apos missing in htmlentitydefs

2011-06-13 Thread Ezio Melotti

Changes by Ezio Melotti :


--
components: +Library (Lib) -Extension Modules
keywords: +easy
nosy: +eric.araujo, ezio.melotti

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12141] sysconfig.get_config_vars('srcdir') fails in specific cases

2011-06-13 Thread R. David Murray

R. David Murray  added the comment:

Is it really necessary to copy this file?  I haven't looked at the tests, but 
I'm wondering if they are using xxmodule.c only because it already existed.  
Could the test instead use a much simpler .c file that it creates on the fly?

--
nosy: +r.david.murray

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12141] sysconfig.get_config_vars('srcdir') fails in specific cases

2011-06-13 Thread Ned Deily

Ned Deily  added the comment:

I think one of the objectives of the test is to see that it works with the C 
API of that particular Python release as captured in its version of xxmodule.c. 
 And, while it could be argued that both distutils and packaging don't need 
their own copies, I think it is cleaner to keep the two testing environment 
uncoupled.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12328] multiprocessing's overlapped PipeConnection on Windows

2011-06-13 Thread Antoine Pitrou

Antoine Pitrou  added the comment:

Hello,

Thanks for the patch.

>I would suggest making it a programming error for the overlapped
>object to be deallocated while the operation is still pending, and
>to print a RuntimeError if that happens.  (This does not prevent us
>from still trying to prevent a crash using CancelIoEx().)

Sounds ok to me.

> 6) Not a bug exactly, but poll(timeout) is no longer interruptible
>with Ctrl-C.  This also means that Queue.get() is no longer
>interruptible.

There is infrastructure in _multiprocessing to handle Ctrl-C. Look for
"sigint_event" in Modules/_multiprocessing/*. This could be the topic of
a separate issue and patch.

> The unit tests attached pass on Unix.  On Windows versions up to 3.2,
> only test_empty_string fails.  On Windows version 3.3 all three fail.

Could you make the tests part of Lib/test/test_multiprocessing.py?

Also, what is the rationale for the following change:

-elif timeout == 0.0:
+elif timeout == 0.0 and nleft != 0:
 return False

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12330] Named set methods on collections.Set and dict view objects

2011-06-13 Thread Julian

New submission from Julian :

collections.Set / collections.MutableSet do not provide any of the named set 
methods, nor do dict view objects (neither as viewkeys and friends create them 
nor in py3). They obviously implement the operator methods correctly, but 
besides the fact that they're not fully implementing the set API, .union, 
.difference, and .intersection, for example, take *args to do arbitrary unions 
/ difference / intersections, so there's at least one functionality gap too 
(nothing a for loop can't fix but, yeah). I've attached a very quick example 
diff'ing the methods which I ran on 2.7 and 3.2.


In searching around for a reason, or at least some documentation or 
acknowledgement that this is intentional, I see there's an offhand comment on 
Issue7771 (I apologize in advance if this didn't deserve its own ticket then). 
Issue9212 was accepted as "an oversight" and is related, so I hope that it's 
worth the clarification as to whether 1. we (you :) are planning / willing to 
do this fix on 2.7, or 3.2, or 2. if this is desired for some reason, in which 
case consider this simply a documentation request and perhaps a dupe of 7771 
then.

Now that I've been long winded thanks for your time :).

--
components: Library (Lib)
files: namedmeths.py
messages: 138286
nosy: Julian
priority: normal
severity: normal
status: open
title: Named set methods on collections.Set and dict view objects
type: behavior
versions: Python 2.6, Python 2.7, Python 3.1, Python 3.2
Added file: http://bugs.python.org/file22358/namedmeths.py

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12330] Named set methods on collections.Set and dict view objects

2011-06-13 Thread Julian

Changes by Julian :


--
versions:  -Python 2.6, Python 3.1

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12330] Named set methods on collections.Set and dict view objects

2011-06-13 Thread R. David Murray

R. David Murray  added the comment:

IIUC, collections.Set is, by definition, the full 'set' API.  The fact that the 
set builtin implements some additional methods is a convenience.

--
nosy: +r.david.murray, rhettinger

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12084] os.stat() on windows doesn't consider relative symlink

2011-06-13 Thread Brian Curtin

Brian Curtin  added the comment:

How about this patch?

We yield the GIL in posix_do_stat, so as Antoine pointed out in IRC, we were 
calling PyErr_SetString without having the GIL. I think this is the correct fix 
as I've stepped through the code in Visual Studio, forcing it to take this 
branch when on Win7, but I don't currently have the ability to run on XP.

--
Added file: http://bugs.python.org/file22359/issue12084_XP.diff

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12330] Named set methods on collections.Set and dict view objects

2011-06-13 Thread Julian

Julian  added the comment:

Oh boy. Reading the comment in Issue9212 more carefully now that you said that 
I see that Mr. Hettinger said exactly that. I apologize for missing it the 
first time.

"Concrete classes are allowed to have more features than the corresponding ABC. 
 The ABCs are not intended to be full-featured; instead, they specify the part 
of the API that will be guaranteed.  For example, the union() method for 
built-in sets allows two or more set arguments, but the corresponding method 
for the ABC is limited to two arguments.  This was an intentional difference, 
designed to make it easier for people to implement a Set class."

I suppose I should close this, unless there's some hope perhaps of some 
elaboration on that last line. Why couldn't collections provide the named 
methods too (in what way is this "easier"?)

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12330] Named set methods on collections.Set and dict view objects

2011-06-13 Thread Julian

Changes by Julian :


--
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12330] Named set methods on collections.Set and dict view objects

2011-06-13 Thread R. David Murray

R. David Murray  added the comment:

collections.Set (in python 3.3, collections.abc.Set) is the *definition* of the 
minimal API.  To construct a class that conforms to the minimal definition is 
certainly easier than constructing one that supports all of the methods that 
the set builtin does.

I suppose it would be possible for the collections module to provide a 
'SetMixin' or some such that provided implementations of the other methods in 
terms of the required methods, but that would definitely be a feature request, 
and probably a topic that should be discussed first on the python-ideas mailing 
list.

--
resolution:  -> invalid
stage:  -> committed/rejected

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12326] Linux 3: tests should avoid using sys.platform == 'linux2'

2011-06-13 Thread Ross Lagerwall

Changes by Ross Lagerwall :


--
nosy: +rosslagerwall

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue9674] make install DESTDIR=/home/blah fails when the prefix specified is /

2011-06-13 Thread Matt Joiner

Matt Joiner  added the comment:

Just ran into this bug myself with 3.2. Apparently this patch works: 
http://groups.google.com/group/comp.lang.python/msg/bd8818ab9d4af8d7

--
nosy: +anacrolix

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue9674] make install DESTDIR=/home/blah fails when the prefix specified is /

2011-06-13 Thread Matt Joiner

Matt Joiner  added the comment:

Attached a patch that fixes it, only the line numbers have changed from Martin 
v. Loewis's patch. Used on 3.2.

--
Added file: http://bugs.python.org/file22360/fix-root-prefix.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12174] Multiprocessing logging levels unclear

2011-06-13 Thread Petri Lehtinen

Petri Lehtinen  added the comment:

R. David Murray wrote:
> I think it would be good to mention the numeric levels in the text as well 
> (in parenthesis, perhaps), unless the rest of the logging docs no longer 
> refer to the numeric levels.

AFAICS, there are no numbers in the logging docs anymore.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue9674] make install DESTDIR=/home/blah fails when the prefix specified is /

2011-06-13 Thread Matt Joiner

Changes by Matt Joiner :


--
components: +Build, Library (Lib)
nosy: +alexis
type: behavior -> compile error

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12326] Linux 3: tests should avoid using sys.platform == 'linux2'

2011-06-13 Thread Amaury Forgeot d'Arc

Amaury Forgeot d'Arc  added the comment:

This change is reasonable for the long term.  But it *will* break a lot of code.

--
nosy: +amaury.forgeotdarc

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12326] Linux 3: tests should avoid using sys.platform == 'linux2'

2011-06-13 Thread Martin v . Löwis

Martin v. Löwis  added the comment:

> This change is reasonable for the long term.  But it *will* break a lot of 
> code.

[If you favor a specific change, please indicate what that is. I'm
assuming you support my proposal for the moment :-]

I agree it will break a lot of code, but it's also somewhat urgent
because we will get 'linux3' if we don't act, which will also break
a lot of code (but more subtly, since people testing their code may
do so on Linux 2, only to get bug reports that it breaks on "some"
Linux systems). I'm sure Linus Torvalds is fully aware of the possible
consequences of the version change, and just accepted the breakage
that this would cause.

It's important that we set a policy before the Linux distributions
do (which may end up choosing different policies). We don't actually
have to *release* this change quickly, since Linux distributions
who release 3.x kernels will fix their Python packages themselves.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12319] [http.client] HTTPConnection.putrequest not support "chunked" Transfer-Encodings to send data

2011-06-13 Thread Petri Lehtinen

Petri Lehtinen  added the comment:

harobed wrote:
> I use http.client in WebDAV client.
>
> Mac OS X Finder WebDAV client perform all his request in "chunk" mode : PUT 
> and GET.
>
> Here, I use http.client to simulate Mac OS X Finder WebDAV client.

Now I'm confused. Per the HTTP specification, GET requests don't have
a body, so "Transfer-Encoding: chunked" doesn't apply to them.

Are you sure you don't confuse with the response that the server
sends? In responses, "Transfer-Encoding: chunked" is very common.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue10224] Build 3.x documentation using python3.x

2011-06-13 Thread Martin v . Löwis

Martin v. Löwis  added the comment:

Actually, on Windows, PYTHON is typically not set at all. So the likelihood of 
it being set to Python 3 is very low, unless you are trying to build Python 
documentation from time to time.

Sye: I fail to see the point of your patch. sphinx-build.py already issues an 
error message - why do you need more error messages?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11934] build with --prefix=/dev/null and zlib enabled in Modules/Setup failed

2011-06-13 Thread Petri Lehtinen

Changes by Petri Lehtinen :


--
nosy: +petri.lehtinen

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12326] Linux 3: tests should avoid using sys.platform == 'linux2'

2011-06-13 Thread Amaury Forgeot d'Arc

Amaury Forgeot d'Arc  added the comment:

The change to sys.platform=='linux' would break code even on current platforms.
OTOH, we have sys.platform=='win32' even on Windows 64bit; would this favor 
keeping 'linux2' on all versions of Linux as well?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue12326] Linux 3: tests should avoid using sys.platform == 'linux2'

2011-06-13 Thread Martin v . Löwis

Martin v. Löwis  added the comment:

> The change to sys.platform=='linux' would break code even on current 
> platforms.

Correct. Compared to introducing 'linux3', I consider this the better
change - it likely breaks earlier (i.e. when porting to Python 3.3).

> OTOH, we have sys.platform=='win32' even on Windows 64bit; would this
> favor keeping 'linux2' on all versions of Linux as well?

While this has better compatibility, it's also a constant source of
irritation. Introducing 'win64' would have been a worse choice (just
as introducing 'linux3' would: incompatibility for no gain, since
the distinction between win32 and win64, from a Python POV, is
irrelevant). Plus, Microsoft dislikes the term Win64 somewhat, and
rather wants people to refer to the "Windows API".

I personally disliked 'linux2' when it was introduced, for its
incompatibilities. Anticipating that, some day, we may have 'Linux 4',
and so on, I still claim it is better to fix this now. We could even
come up with a 2to3 fixer for people who dual-source their code.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com