[issue13648] xml.sax.saxutils.escape does not escapes \x00
Martin v. Löwis mar...@v.loewis.de added the comment: This is correct behavior. \x00 is not supported in XML: not in raw form, and not in escaped form. To transmit binary data in XML, use base64. -- nosy: +loewis status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13648 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13647] Python SSL stack doesn't securely validate certificate (as client)
Dan Kaminsky d...@doxpara.com added the comment: There is a new match_hostname that doesn't implement all the required, standard SSL/TLS Client security checks that should be done. Indeed, as the name indicates, it just checks the hostname. Please detail what the other security checks are (bonus points if you provide a patch + tests). You need to check expiration date of the cert in question, and I suppose invocation date as well. You need to look at each of the CNs in the subject name, as well as each of the DNSname types in the SAN extension. You *absolutely must* make sure that each of the intermediate certificates has Basic Constraints: CA set to True. Otherwise a certificate for foo.com can sign for bar.com (this keeps happening). You should support the Name Constraints extension, that allows certificates to sign for a subset of names. Nobody really uses this, because reliability is so low though. It has been noticed by the well known security researcher Dan Kaminsky What's the URL for this? I'll see your URL and raise you a submitted bug report with recommendations. It seems to get better results than posting random whining on a web page somewhere :) A) Integrate the Mozilla CA pack into Python, updating it with each security release. I suggest you discuss this on python-dev: http://mail.python.org/mailman/listinfo/python-dev It's an ugly dependency, I know. X.509 suffers from a false coherence design, in which a couple of parties actively work to make it look like it has a coherent trust model. The best you can do is try to borrow/leverage the work of one of those parties. -- nosy: +Dan.Kaminsky ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13647 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13294] http.server: HEAD request should not return a body
Roundup Robot devn...@psf.upfronthosting.co.za added the comment: New changeset 2c1720468dbb by Senthil Kumaran in branch '3.2': Minor code style improvements in http.server suggested in Issue13294. http://hg.python.org/cpython/rev/2c1720468dbb New changeset 0466ee1816b1 by Senthil Kumaran in branch 'default': merge from 3.2. Minor code style improvements in http.server suggested in Issue13294. http://hg.python.org/cpython/rev/0466ee1816b1 New changeset 1b1818fee351 by Senthil Kumaran in branch '2.7': port to 2.7 - Minor code style improvements in http.server suggested in Issue13294. http://hg.python.org/cpython/rev/1b1818fee351 -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13294 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13647] Python SSL stack doesn't securely validate certificate (as client)
Antoine Pitrou pit...@free.fr added the comment: You need to check expiration date of the cert in question, and I suppose invocation date as well. You need to look at each of the CNs in the subject name, as well as each of the DNSname types in the SAN extension. You *absolutely must* make sure that each of the intermediate certificates has Basic Constraints: CA set to True. Otherwise a certificate for foo.com can sign for bar.com (this keeps happening). I'm confident this is already done by OpenSSL (if requested by user, which means using CERT_REQUIRED or CERT_OPTIONAL in Python's ssl module - these map to OpenSSL's SSL_VERIFY_PEER). I guess it would be easy to check this by providing an outdated certificate - perhaps I'll give it a try. A) Integrate the Mozilla CA pack into Python, updating it with each security release. I suggest you discuss this on python-dev: http://mail.python.org/mailman/listinfo/python-dev It's an ugly dependency, I know. X.509 suffers from a false coherence design, in which a couple of parties actively work to make it look like it has a coherent trust model. The best you can do is try to borrow/leverage the work of one of those parties. I suppose distributing CA certificates is a practical solution for the user, *if* we are dedicated enough (e.g. release managers would have to agree with the burden of tracking changes, and possibly making emergency releases when a cert must be removed). That's the reason I suggest asking on python-dev; I don't feel like making that decision alone. That said, system OpenSSL builds on Linux (and perhaps OS X) should have been compiled against a well-known system location of CA certificates maintained by the OS vendor. In this case, you can simply use SSLContext.set_default_verify_paths (http://docs.python.org/dev/library/ssl.html#ssl.SSLContext.set_default_verify_paths ) That doesn't help under Windows, though (where we build OpenSSL ourselves so that the ssl module can be bundled in installers). -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13647 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13294] http.server: minor code style changes.
Senthil Kumaran sent...@uthcode.com added the comment: The original issue was invalid. Incorporated Michele Orrù's code style changes into the trunk and other codelines. -- resolution: - fixed status: open - closed title: http.server: HEAD request should not return a body - http.server: minor code style changes. ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13294 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13647] Python SSL stack doesn't securely validate certificate (as client)
Dan Kaminsky d...@doxpara.com added the comment: On Fri, Dec 23, 2011 at 4:14 AM, Antoine Pitrou rep...@bugs.python.orgwrote: Antoine Pitrou pit...@free.fr added the comment: You need to check expiration date of the cert in question, and I suppose invocation date as well. You need to look at each of the CNs in the subject name, as well as each of the DNSname types in the SAN extension. You *absolutely must* make sure that each of the intermediate certificates has Basic Constraints: CA set to True. Otherwise a certificate for foo.com can sign for bar.com (this keeps happening). I'm confident this is already done by OpenSSL (if requested by user, which means using CERT_REQUIRED or CERT_OPTIONAL in Python's ssl module - these map to OpenSSL's SSL_VERIFY_PEER). I guess it would be easy to check this by providing an outdated certificate - perhaps I'll give it a try. Be sure to support SAN. People forget that, and the API makes it a pain in the butt (the validator doesn't even know who you're validating for). A) Integrate the Mozilla CA pack into Python, updating it with each security release. I suggest you discuss this on python-dev: http://mail.python.org/mailman/listinfo/python-dev It's an ugly dependency, I know. X.509 suffers from a false coherence design, in which a couple of parties actively work to make it look like it has a coherent trust model. The best you can do is try to borrow/leverage the work of one of those parties. I suppose distributing CA certificates is a practical solution for the user, *if* we are dedicated enough (e.g. release managers would have to agree with the burden of tracking changes, and possibly making emergency releases when a cert must be removed). That's the reason I suggest asking on python-dev; I don't feel like making that decision alone. The CA set doesn't change *often*, but it does shift from time to time. The right thing would be to use the in-built cert set if and only if the system certs couldn't be checked. That said, system OpenSSL builds on Linux (and perhaps OS X) should have been compiled against a well-known system location of CA certificates maintained by the OS vendor. In this case, you can simply use SSLContext.set_default_verify_paths ( http://docs.python.org/dev/library/ssl.html#ssl.SSLContext.set_default_verify_paths) That doesn't help under Windows, though (where we build OpenSSL ourselves so that the ssl module can be bundled in installers). Whatever you've got right now isn't good enough to either be on by default, or warn by default. I wouldn't even recommend warning if you didn't ship with certs. Technically, you could check the Windows certificate stores too, if you wanted to write that code. Before going to python-dev, what do you think is feasible, implementation-wise? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13647 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13655] Python SSL stack doesn't have a default CA Store
New submission from naif n...@globaleaks.org: For the certificate store: Can we eventually agree to bind a default CA-store to a Mozilla verified one? Mozilla in handling Firefox does a great job in keeping CA-store up-to-date. Integrating default mozilla CA-store with Python builds could be a nice way, it's just a matter of integrating into the build-system the download/fetching of default Mozilla store. At least the language base it's default on a trusted entity to manage, cross-platform, the CA-store for TLS/SSL. The mainteinance of the CA-store would be delegated to Mozilla that has been demonstrated to be independent and very security conscious, removing dirty CA-store (like Diginotar after Iranian compromise). That way 90% of case of of SSL/TLS certificate validation will be managed and by default it would be possible to enable secure SSL/TLS client checking like described in http://bugs.python.org/issue13647 . -- components: Library (Lib) messages: 150142 nosy: naif priority: normal severity: normal status: open title: Python SSL stack doesn't have a default CA Store versions: Python 2.6, Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13655 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13647] Python SSL stack doesn't securely validate certificate (as client)
naif n...@globaleaks.org added the comment: Hi all, i added a ticket on setting up a default CA-store for Python, eliminating the need of CA-Store mainteinance: http://bugs.python.org/issue13655 This feature is a pre-requisite to implement by default SSL/TLS Client secure certificate verification. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13647 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13655] Python SSL stack doesn't have a default CA Store
Changes by naif n...@globaleaks.org: -- type: - security ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13655 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13647] Python SSL stack doesn't securely validate certificate (as client)
Antoine Pitrou pit...@free.fr added the comment: Be sure to support SAN. People forget that, and the API makes it a pain in the butt (the validator doesn't even know who you're validating for). Right, that's why we added the match_hostname() function. It knows about subjectAltName, except for raw IP addresses. The tests for it can be found here: http://hg.python.org/cpython/file/0466ee1816b1/Lib/test/test_ssl.py#l265 Technically, you could check the Windows certificate stores too, if you wanted to write that code. Well, I don't know how to interface them with OpenSSL. Before going to python-dev, what do you think is feasible, implementation-wise? Technically, shipping certificates shouldn't be difficult. The final install location is defined at ./configure time, so loading the certs shouldn't be a problem either. Whether or not we enable them by default is a matter of policy. I think enabling them by default could be a nasty surprise for users who currently rely on a narrower set of trusted certs. The right thing would be to use the in-built cert set if and only if the system certs couldn't be checked. That might not be easy. OpenSSL's SSL_CTX_set_default_verify_paths() deliberately doesn't report errors. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13647 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8604] Adding an atomic FS write API
Antoine Pitrou pit...@free.fr added the comment: I wish we had something like: io.file io.file.tempfile io.file.path io.file.atomicfile I adhere to flat is better than nested. e.g. it always irks me to type urllib.request instead of urllib. A 3-level deep nesting in the stdlib would certainly shock many people :) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8604 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13647] Python SSL stack doesn't securely validate certificate (as client)
naif n...@globaleaks.org added the comment: looking at OpenSSL command line, there is the verify that does a lot of checks on it's own: http://www.openssl.org/docs/apps/verify.html Dan, do you think that this apps does all the best practice verificati or it's missing something? Antoine, in case it's useful, do you think that it would be possible to have something exactly-like the OpenSSL verify command? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13647 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13655] Python SSL stack doesn't have a default CA Store
naif n...@globaleaks.org added the comment: Mozilla CA are available on: https://www.mozilla.org/projects/security/certs/ The warranty and security process of Mozilla handling of SSL CA root certs is described on: https://wiki.mozilla.org/CA I think that Python language could reasonably base it's default root CA on the Mozilla ones that are the most recognized for security and transparency in the world. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13655 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13647] Python SSL stack doesn't securely validate certificate (as client)
Antoine Pitrou pit...@free.fr added the comment: Antoine, in case it's useful, do you think that it would be possible to have something exactly-like the OpenSSL verify command? Well, to quote the page you mentioned: “The verify program uses the same functions as the internal SSL and S/MIME verification, therefore this description applies to these verify operations too.” So these checks are exactly the ones performed when using CERT_OPTIONAL or CERT_REQUIRED. Note that it is cursorily mentioned (or hinted at) at http://docs.python.org/dev/library/ssl.html#verifying-certificates -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13647 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
Antoine Pitrou pit...@free.fr added the comment: So how about providing a new public `os` module function doing a rename-with-overwrite on all platforms? We could name it e.g. os.replace(). os.rename_overwrite() is another possibility, more explicit but also longer. -- stage: - needs patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6983] Add specific get_platform() for freebsd
Stef Walter s...@memberwebs.com added the comment: Good plan. So the issue is: * Platform specific eggs are built containing a path that has the full patch level of the freebsd kernel, like 8.2-RELEASE-p2. The -p2 part is updated for every security patch of FreeBSD. * Thus when you apply a security patch to FreeBSD, platform specific eggs built for that version of FreeBSD (before the security patch was applied) are no longer considered compatible. FYI, FreeBSD has an unwritten policy of keeping all 8.x releases backwards compatible with one another. So platform specific eggs built for 8.1 would work without inherent problems on 8.2 or 8.3. But at the very least, platform specific eggs should not be dependent on the patch level of the FreeBSD kernel. On 11/20/2011 03:38 PM, Éric Araujo wrote: Éric Araujo mer...@netwok.org added the comment: This is still a bothersome issue, but we've taken to patching every version of python downstream before deploying them. All for a simple three line patch. Sorry about the unsatisfactory situation. Could we start anew and define exactly what the problem is, so that distutils2 can be free of it? (I’m afraid distutils can’t be changed: even undocumented, the platform string used for FreeBSD is certainly used by tools out there that we don’t want to break. I second the suggestion to bring up the issue to the projects responsible for eggs, i.e. setuptools and distribute, not distutils.) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6983 ___ -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6983 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13656] Document ctypes.util and ctypes.wintypes.
New submission from maniram maniram maniandra...@gmail.com: Document ctypes.util and ctypes.wintypes. -- assignee: docs@python components: Documentation messages: 150151 nosy: docs@python, maniram.maniram priority: normal severity: normal status: open title: Document ctypes.util and ctypes.wintypes. type: enhancement ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13656 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13656] Document ctypes.util and ctypes.wintypes.
Changes by maniram maniram maniandra...@gmail.com: -- resolution: - invalid status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13656 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13577] __qualname__ is not present on builtin methods and functions
Roundup Robot devn...@psf.upfronthosting.co.za added the comment: New changeset 7a7b698f6f21 by Antoine Pitrou in branch 'default': Issue #13577: Built-in methods and functions now have a __qualname__. http://hg.python.org/cpython/rev/7a7b698f6f21 -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13577 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13577] __qualname__ is not present on builtin methods and functions
Antoine Pitrou pit...@free.fr added the comment: The patch is committed, thank you! -- resolution: - rejected stage: patch review - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13577 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13657] IDLE doesn't support sys.ps1 and sys.ps2.
New submission from maniram maniram maniandra...@gmail.com: IDLE doesn't support nor set sys.ps1 and sys.ps2. sys.ps1 Traceback (most recent call last): File pyshell#1, line 1, in module sys.ps1 AttributeError: 'module' object has no attribute 'ps1' sys.ps1 = Test #The next prompt doesn't start with Test -- components: IDLE messages: 150154 nosy: maniram.maniram priority: normal severity: normal status: open title: IDLE doesn't support sys.ps1 and sys.ps2. type: enhancement ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13657 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1730372] Mesa with NPTL makes Python extensions crash with std::cerr
Charles-François Natali neolo...@free.fr added the comment: I assume this was due to the following bug: https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/259219 http://lists.freedesktop.org/archives/mesa-dev/2011-March/006180.html In short, MESA didn't use the correct TLS model for thread-local variables, which ended up in some libstdc++ thread-local variables not being initialized when called from a dynamically loaded libraries (such as spam). I couldn't reproduce the problem on Debian testing (which has a mesa version containing the patch posted on mesa-dev). -- nosy: +neologix resolution: - invalid stage: - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1730372 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8604] Adding an atomic FS write API
Charles-François Natali neolo...@free.fr added the comment: I adhere to flat is better than nested. e.g. it always irks me to type urllib.request instead of urllib. Well, that's what (selective) imports are for, no ? from urllib import request from file.path import exists import xml.etree.cElementTree as ET Anyway, my thoughts? wasn't referring to this namespace hierarchy proposal (which really isn't one), but rather to the best module which could host an AtomicFile class. Still shutil? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8604 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8604] Adding an atomic FS write API
Antoine Pitrou pit...@free.fr added the comment: Anyway, my thoughts? wasn't referring to this namespace hierarchy proposal (which really isn't one), but rather to the best module which could host an AtomicFile class. Does it have to be a class? What would be the operations apart from write()? Still shutil? I think that's our best compromise. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8604 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8604] Adding an atomic FS write API
Charles-François Natali neolo...@free.fr added the comment: Does it have to be a class? What would be the operations apart from write()? Well, I thought that making it a file-like object could be useful: that way, one could pass it to pickle.dump(), logging.StreamHandler or any method expecting a file-like object, and would gain atomicity (persistency) transparently, without refactoring. My quick and dirty AtomicFile implementation reused the _TemporaryFileWrapper attribute delagation trick: def __getattr__(self, name): # Attribute lookups are delegated to the underlying file # and cached for non-numeric results # (i.e. methods are cached, closed and friends are not) file = self.__dict__['file'] a = getattr(file, name) if not issubclass(type(a), type(0)): setattr(self, name, a) return a Still shutil? I think that's our best compromise. OK. I don't have a strong opinion about this, and you've got much more experience than me, so I trust your judgement ;-) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8604 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13653] reorder set.intersection parameters for better performance
Andrew Dalke da...@dalkescientific.com added the comment: My belief is that the people who use set.intersection with more than two terms are 1) going to pass in a list of sets, and 2) don't care about the specific order. To check the validity of my belief, I did a Google Code Search to find cases of people using set intersection in Python. I searched for set\.intersection\(\* and \.intersection\(.*\, lang:^python$, among others. I am sad to report that the most common way to compute set.intersection(*list) is by using reduce, like: possible = (set(index[c]) for c in set(otp)) possible = reduce(lambda a, b: a.intersection(b), possible) That comes from: git://github.com/Kami/python-yubico-client.git /yubico/modhex.py and similar uses are in: git://github.com/sburns/PyCap.git /redcap/rc.py http://hltdi-l3.googlecode.com/hg//xdg/languages/morpho/fst.py http://dsniff.googlecode.com/svn/trunk/dsniff/lib/fcap.py As well as in the Rosetta Code example for a simple inverted index, at: http://rosettacode.org/wiki/Inverted_index#Python This was also implemented more verbosely in: http://eats.googlecode.com/svn/trunk/server/eats/views/main.py intersected_set = sets[0] for i in range(1, len(sets)): intersected_set = intersected_set.intersection(sets[i]) and http://iocbio.googlecode.com/svn/trunk/iocbio/microscope/cluster_tools.py s = set (range (len (data[0]))) for d in zip(*data): s = s.intersection(set(find_outliers(d, zoffset=zoffset))) return sorted(s) In other words, 7 codebases use manual pairwise reduction rather than use the equivalent code in Python. (I have not checked for which are due to backwards compatibility requirements.) On the other hand, if someone really wants to have a specific intersection order, this shows that it's very easy to write. I found 4 other code bases where set intersection was used for something other than binary intersection, and used the built-in intersection(). git://github.com/valda/wryebash.git/experimental/bait/bait/presenter/impl/filters.py def get_visible_node_ids(self, filterId): if filterId in self.idMask: visibleNodeIdSets = [f.get_visible_node_ids(filterId) for f in self._filters] return set.intersection(*[v for v in visibleNodeIdSets if v is not None]) return None http://wallproxy.googlecode.com/svn/trunk/local/proxy.py if threads[ct].intersection(*threads.itervalues()): raise ValueError('All threads failed') (here, threads' values contain sets) git://github.com/argriffing/xgcode.git/20100623a.py header_sets = [set(x) for x in header_list] header_intersection = set.intersection(*header_sets) http://pyvenn.googlecode.com/hg//venn.py to_exclude = set() for ii in xrange(0, len(self.sets)): if (i (2**ii)): sets_to_intersect.append(sets_by_power_of_two[i (2**ii)]) else: to_exclude = to_exclude.union(sets_by_power_of_two[(2**ii)]) final = set.intersection(*sets_to_intersect) - to_exclude These all find the intersection of sets (not iterators), and the order of evaluation does not appear like it will affect the result. I do not know though if there will be a performance advantage in these cases to reordering. I do know that in my code, and any inverted index, there is an advantage. And I do know that the current CPython implementation has bad worst-case performance. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13653 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8604] Adding an atomic FS write API
Antoine Pitrou pit...@free.fr added the comment: Does it have to be a class? What would be the operations apart from write()? Well, I thought that making it a file-like object could be useful: that way, one could pass it to pickle.dump(), logging.StreamHandler or any method expecting a file-like object, and would gain atomicity (persistency) transparently, without refactoring. Mmmh... I might have misunderstood the proposal then. I thought this atomic write API was about writing the file contents in one go and immediately closing the file. If you want atomicity to apply to logging, you must instead guarantee the durability of each write() call, meaning calling fsync() on each logging call, which would be very expensive. Am I missing something? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8604 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5689] Support xz compression in tarfile module
Lars Gustäbel l...@gustaebel.de added the comment: Wouldn't it be better then to use a default compresslevel of 6 in tarfile? I used level 9 in my patch without a particular reason, just because I thought 9 must be better than 6 ;-) -- Added file: http://bugs.python.org/file24084/lzma-preset.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5689 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue10513] sqlite3.InterfaceError after commit
Florent Viard fvi...@lacie.com added the comment: Hi, I encountered the same regression with python 2.7. I added a new testcase (testcase2) with another effect of the same problem. It is a model of what does python-storm when I try to do: for item in TableA.findall(): TableB.new_item(name=item.name) connection.commit() As you can see in the result: -- One iter -- (0,) -- One iter -- (1,) -- One iter -- (0,) -- One iter -- (1,) -- One iter -- (2,) Inside the for loop, there is a reset, but only one time. So entries returned by for are inconsistents as there could be some duplicated results. After studying the code, I understood that this regression is caused by the addition of function call: pysqlite_do_all_statements(self, ACTION_RESET, 0); in connection.c: in function: pysqlite_connection_commit Removing this line, fixes the problem and bring back the old correct behavior. For the explanation of my case, I understood that: For the statement of my query, the in_use flag is first set to 1, the first fetchmany call ran, then the commit triggered the reset of all the statements that have the in_use flag == 1 and set this flag to 0. So the next fetchmany call return results from the beginning again without care for the state of the in_use flag. Then, the next commit don't reset again the statement as its in_use flag is still == 0. I think, that the first intention of this modification was more to use the following call: pysqlite_do_all_statements(self, ACTION_RESET, 1); to have the cursor-reset set and so, at next fetch call, triggering exception: sqlite3.InterfaceError: Cursor needed to be reset because of commit/rollback and can no longer be fetched from. But as for using it in rollback, I'm not sure that this behavior is really useful as sqlite3 looks to be able to correctly handle modifications and cursor return values. As an example, the following test with the previous code : cursor = conn.cursor() cursorBis = conn.cursor() cursor.execute('create table first(id primary key);') for i in range(5): cursor.execute('insert or replace into first(id) values(?);', (i,)) results = cursor.execute(' select id from first;') while True: print -- One iter -- results = cursor.fetchmany() if not results: break for result in results: print str(result) cursorBis.execute(' delete from first where id == ?;', (3,)) conn.commit() That correctly printed: -- One iter -- (0,) -- One iter -- (1,) -- One iter -- (2,) -- One iter -- (4,) -- One iter -- So my suggestion is to remove in pysql_connection_commit the call to : pysqlite_do_all_statements(self, ACTION_RESET, 0); to bring back the correct old behavior. And also eventually to remove in pysqlite_connection_rollback the call to : pysqlite_do_all_statements(self, ACTION_RESET, 1); What do you think about it? -- nosy: +fviard versions: +Python 3.3, Python 3.4 Added file: http://bugs.python.org/file24085/test_bug_pysql_for.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue10513 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8604] Adding an atomic FS write API
Charles-François Natali neolo...@free.fr added the comment: If you want atomicity to apply to logging, you must instead guarantee the durability of each write() call, meaning calling fsync() on each logging call Why so? There's no point in calling fsync() after each write, since data is written to a temporary file which won't be visible before rename(): even if you call fsync() after each write, if the file is not properly closed, it won't be committed (i.e.renamed). You just need to call fsync() once before closing the file, and then rename it, to ensure that the committed file version is consistent. In the meantime, you could do whatever you want with the stream (the hypothetical AtomicFile): seek(), read(), etc. I'm not sure many methods besides write will be useful, but for example one could easily imagine that the library expects the passed object to have a fileno() method. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8604 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8604] Adding an atomic FS write API
Antoine Pitrou pit...@free.fr added the comment: There's no point in calling fsync() after each write, since data is written to a temporary file which won't be visible before rename(): even if you call fsync() after each write, if the file is not properly closed, it won't be committed (i.e.renamed). Ah, it's a temporary file indeed. But does that mean you can't inspect your logs in real time? All log files I have ever seen are available under their final name while they are still being written to. In the meantime, you could do whatever you want with the stream (the hypothetical AtomicFile): seek(), read(), etc. I see. Yes, then an AtomicFile class makes sense (not for logging though, IMHO :-)). And I understand your point about it being available in io or some io submodule (not a 3-level deep one though :-)). Perhaps you want to ask on python-dev? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8604 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5689] Support xz compression in tarfile module
Nadeem Vawda nadeem.va...@gmail.com added the comment: Yes, that's a good idea. I've been testing a similar change, and it seems to drop the peak memory usage for test_tarfile from around 810MB down to under 200MB. It looks like 2GB genuinely isn't enough to reliably use LZMA compression with preset=9. You might want to use preset=None instead of explicitly saying preset=6, though. This tells LZMAFile to use the default preset, and will allow you to get rid of the if-statement on lines 1821-1823. Something unrelated that I noticed in the surrounding code: gzopen and bz2open validate the mode by testing 'len(mode) 1 or mode not in rw'. This would be simpler as 'mode not in (r, w)' (like you've done in xzopen), and it would accept only r and w (but not or rw). -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5689 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13651] Improve redirection in urllib
Changes by Antoine Pitrou pit...@free.fr: -- nosy: +orsenthil versions: +Python 2.7 -Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13651 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5689] Support xz compression in tarfile module
Changes by Lars Gustäbel l...@gustaebel.de: Removed file: http://bugs.python.org/file24084/lzma-preset.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5689 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
R. David Murray rdmur...@bitdance.com added the comment: What is the motivation for providing a new function? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5689] Support xz compression in tarfile module
Lars Gustäbel l...@gustaebel.de added the comment: Yes, that's much better. Thanks for the tip. -- Added file: http://bugs.python.org/file24086/lzma-preset.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5689 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
Antoine Pitrou pit...@free.fr added the comment: What is the motivation for providing a new function? Because changing os.rename would break compatibility. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13658] Extra clause in class grammar documentation
New submission from Joshua Landau joshua.landau...@gmail.com: Inside the grammar for classes[1], the documentation states that the inheritance list can be of type: ( [argument_list [,] | comprehension] ) The comprehension part seems to be superfluous, especially as it is valid grammar without the clause. The 2.7 docs state just [expression list], so either the addition should be justified or the extra clause removed. [1] http://docs.python.org/py3k/reference/compound_stmts.html#grammar-token-classdef Please see http://mail.python.org/pipermail/python-list/2011-December/1284989.html for discussion. -- assignee: docs@python components: Documentation messages: 150169 nosy: Joshua.Landau, docs@python priority: normal severity: normal status: open title: Extra clause in class grammar documentation versions: Python 3.2 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13658 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
R. David Murray rdmur...@bitdance.com added the comment: Ah, I see, people may be depending on rename on Windows not overwriting. I suppose a new function (and eventually deprecating the old?) would be the most straightforward way forward, though I dislike the necessity :) An alternative might be a flag on rename: overwrite=['always', 'os_default'], with a warning and a switch of the default in a subsequent release. That's ugly too, of course. The existing per-platform variation in behavior of rename gives us a mess to deal with. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8313] unprintable AssertionError object message in unittest tracebacks
Michael Foord mich...@voidspace.org.uk added the comment: traceback patch looks good. Thanks for the unittest2 patch as well. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8313 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8623] Aliasing warnings in socketmodule.c
Roundup Robot devn...@psf.upfronthosting.co.za added the comment: New changeset 683a1b1ff15d by Charles-François Natali in branch 'default': Issue #8623: Fix some strict-aliasing warnings. Patch by David Watson. http://hg.python.org/cpython/rev/683a1b1ff15d -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8623 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8623] Aliasing warnings in socketmodule.c
Charles-François Natali neolo...@free.fr added the comment: Thanks for your patches, David. I've only applied the first one: looking at the second one, I don't think they are really problems (-Wstrict-aliasing=2 is know for generating a lot of false positives). -- nosy: +neologix ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8623 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8604] Adding an atomic FS write API
Charles-François Natali neolo...@free.fr added the comment: Ah, it's a temporary file indeed. But does that mean you can't inspect your logs in real time? All log files I have ever seen are available under their final name while they are still being written to. Yes, logging was a poor example :-) And I understand your point about it being available in io or some io submodule (not a 3-level deep one though :-)). Perhaps you want to ask on python-dev? OK, I'll try that. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8604 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
Charles-François Natali neolo...@free.fr added the comment: I'd prefer an optional flag to rename() too. I really don't like having different functions that achieve the same thing. It's not obvious to infer from 'replace' its real intent, since it doesn't match any standard syscall/library. Ideally, this should be made an option to rename(), especially since on Unix this will just perform a standard rename. Another advantage of options over new functions is that it reduces boilerplate code (i.e. argument parsing, addition to posix_methods, repeating OS idiosyncrasies/conditional compilation blocks, docstring, documentation block...). But I remember Martin thinks that the os module should just be a thin wrapper around underlying syscalls/libraries (but we already have listdir() and friends). -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
anatoly techtonik techto...@gmail.com added the comment: os.rename(overwrite=True) to produce consistent cross-platform behavior. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
Antoine Pitrou pit...@free.fr added the comment: An alternative might be a flag on rename: overwrite=['always', 'os_default'] How about overwrite=[None, True] with None meaning OS default? with a warning and a switch of the default in a subsequent release. I think we should be conservative with warnings and compatibility-breaking changes. In this case there's no pressing need to change behaviour: the default isn't less secure or less efficient. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13511] Specifying multiple lib and include directories on linux
Ray rpq...@hotmail.com added the comment: Whether or not includedir and libdir are supposed to allow multiple packages is beyond me at this point so I'll change the topic to more reflect the problem I am having. More importantly (and possibly related to includedir and libdir) is the fact that python 2.7 does not allow specifying multiple lib and include directories in linux. Is there one way to do this that I overlooked? I included the bit about includedir, libdir, CFLAGS, and LDFLAGS in my original post to show what I tried. Is it a standard for CFLAGS AND LDFLAGS to accept multiple directories? I would think so. With the current python 2.7 and linux, that simply does not work. But it does for darwin platforms? From setup.py: if platform == 'darwin': # This should work on any unixy platform ;-) # If the user has bothered specifying additional -I and -L flags # in OPT and LDFLAGS we might as well use them here. -- title: Let ./configure accept multiple --includedir and --libdir options - Specifying multiple lib and include directories on linux versions: +Python 2.7 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13511 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
anatoly techtonik techto...@gmail.com added the comment: One of the Python advantages is providing predictable cross-platform behavior. If we can't introduce nice API without BC break, it is not a reason to introduce ulgy API. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
R. David Murray rdmur...@bitdance.com added the comment: I'm good with None/True, but that would imply that for posix rename we'll need to implement the overwrite=False option...which would be a nice thing (the shell mv command has -i for that). I think a warning would be good, because a unix programmer will assume rename will work the same on windows as it does on posix, and vice versa for a windows programmer. I suppose the fact that we haven't gotten many (any?) complaints about it means it isn't that common a problem, though, so I don't feel strongly about it. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
Antoine Pitrou pit...@free.fr added the comment: I'm good with None/True, but that would imply that for posix rename we'll need to implement the overwrite=False option...which would be a nice thing (the shell mv command has -i for that). My point was rather to forbid False as a value (on all OSes) :) I think a warning would be good, because a unix programmer will assume rename will work the same on windows as it does on posix, and vice versa for a windows programmer. It is already documented. I don't think we want to add a warning for every documented peculiar piece of behaviour. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
Charles-François Natali neolo...@free.fr added the comment: How about overwrite=[None, True] with None meaning OS default? +1. One of the Python advantages is providing predictable cross-platform behavior. If we can't introduce nice API without BC break, it is not a reason to introduce ulgy API. We cannot make rename() overwrite existing files by default (on Windows). It's out of question, too much code might rely on this, and this may very well introduce security flaws. If you're concerned with the semantics difference between platforms, well, there's not much we can do about it now. Java behaves in the same way, for example. I'm good with None/True, but that would imply that for posix rename we'll need to implement the overwrite=False option...which would be a nice thing (the shell mv command has -i for that). Why? The problem is that it's simply impossible to implement reliably. I didn't check mv source code, but it must be using something like: if '-i' and os.path.exists(target_path): continue os.rename(src_path, target_path). But there's a TOCTTOU race. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
R. David Murray rdmur...@bitdance.com added the comment: Ah, you are right about the race of course. So yes, I agree with your proposal. It's a weird API, but probably the best we can do. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13647] Python SSL stack doesn't securely validate certificate (as client)
Changes by Jesús Cea Avión j...@jcea.es: -- nosy: +jcea ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13647 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13655] Python SSL stack doesn't have a default CA Store
Changes by Jesús Cea Avión j...@jcea.es: -- nosy: +jcea ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13655 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5689] Support xz compression in tarfile module
Nadeem Vawda nadeem.va...@gmail.com added the comment: Patch looks good to me. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5689 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8623] Aliasing warnings in socketmodule.c
Arfrever Frehtes Taifersar Arahesis arfrever@gmail.com added the comment: This change probably should be backported to 3.2 branch. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8623 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
anatoly techtonik techto...@gmail.com added the comment: 2011/12/23 Charles-François Natali rep...@bugs.python.org One of the Python advantages is providing predictable cross-platform behavior. If we can't introduce nice API without BC break, it is not a reason to introduce ulgy API. We cannot make rename() overwrite existing files by default (on Windows). It's out of question, too much code might rely on this, and this may very well introduce security flaws. If you're concerned with the semantics difference between platforms, well, there's not much we can do about it now. Java behaves in the same way, for example. I propose quite the opposite. rename() should not overwrite existing files by default. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13655] Python SSL stack doesn't have a default CA Store
Benjamin Peterson benja...@python.org added the comment: I'm not sure Python should be in the business of distributing CA certificates. I think it's better left to the application or Linux distribution. -- nosy: +benjamin.peterson ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13655 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
Charles-François Natali neolo...@free.fr added the comment: I propose quite the opposite. rename() should not overwrite existing files by default. 1. That's not what I understood from: os.rename(overwrite=True) to produce consistent cross-platform behavior. 2. The above argument on backward incompatible change applies in exactly the same way (just exchange Windows for POSIX). 3. As explained above, it can not be done reliably on POSIX (TOCTTOU race). -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13565] test_multiprocessing.test_notify_all() hangs on AMD64 Snow Leopard 02 03.x
STINNER Victor victor.stin...@haypocalc.com added the comment: Victor, could you try the attached script on FreeBSD, to see if you get ECONNREFUSED? Yes, I get a ECONNREFUSED. I tested backlog.py on FreeBSD 8.2. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13565 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13565] test_multiprocessing.test_notify_all() hangs on AMD64 Snow Leopard 02 03.x
Roundup Robot devn...@psf.upfronthosting.co.za added the comment: New changeset 94494a779c20 by Charles-François Natali in branch '2.7': Issue #13565: Increase multiprocessing's server socket backlog, to avoid http://hg.python.org/cpython/rev/94494a779c20 New changeset 9b99adef3c78 by Charles-François Natali in branch '3.2': Issue #13565: Increase multiprocessing's server socket backlog, to avoid http://hg.python.org/cpython/rev/9b99adef3c78 New changeset 29cad1ac828c by Charles-François Natali in branch 'default': Issue #13565: Increase multiprocessing's server socket backlog, to avoid http://hg.python.org/cpython/rev/29cad1ac828c -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13565 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13565] test_multiprocessing.test_notify_all() hangs on AMD64 Snow Leopard 02 03.x
Charles-François Natali neolo...@free.fr added the comment: Yes, I get a ECONNREFUSED. I tested backlog.py on FreeBSD 8.2. Thanks. I bumped the backlog, I hope it will fix this. We can leave this report open for a couple days, to see how the buildbots behave. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13565 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
anatoly techtonik techto...@gmail.com added the comment: 2011/12/23 Charles-François Natali rep...@bugs.python.org Charles-François Natali neolo...@free.fr added the comment: I propose quite the opposite. rename() should not overwrite existing files by default. 1. That's not what I understood from: os.rename(overwrite=True) to produce consistent cross-platform behavior. 2. The above argument on backward incompatible change applies in exactly the same way (just exchange Windows for POSIX). 3. As explained above, it can not be done reliably on POSIX (TOCTTOU race). os.rename(overwrite=False) by default will do less harm than the opposite, so I'd say it is a way to go even if it can not be reliably done on POSIX. But I believe correct file system that supports transactions will make it possible to do reliably on POSIX too. Then I believe that having a small chance of overwriting file just created at exactly the same moment on a POSIX is a small price to pay for function that does safety check before rename on a platform that doesn't have such functionality at all. If you need this functionality - you will still do 'if exists ... rename' and the TOCTTOU race will affect you. So, the only exit is to place a little sign in some extreme cases Linux suffers from TOCTTOU problem when renaming files without overwriting, so keep that in mind. BUT let me remind you that this bug is about Atomic rename which should rollback in case of errors. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
Antoine Pitrou pit...@free.fr added the comment: os.rename(overwrite=False) by default will do less harm than the opposite, Disagreed. Then I believe that having a small chance of overwriting file just created at exactly the same moment on a POSIX is a small price to pay for function that does safety check before rename on a platform that doesn't have such functionality at all. Disagreed. If you need the functionality, it's *one* additional line of code. Not every trivial function deserves to be in the stdlib. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
anatoly techtonik techto...@gmail.com added the comment: On Fri, Dec 23, 2011 at 10:35 PM, Antoine Pitrou rep...@bugs.python.orgwrote: os.rename(overwrite=False) by default will do less harm than the opposite, Disagreed. Fine. No arguments == no consensus. Then I believe that having a small chance of overwriting file just created at exactly the same moment on a POSIX is a small price to pay for function that does safety check before rename on a platform that doesn't have such functionality at all. Disagreed. If you need the functionality, it's *one* additional line of code. Not every trivial function deserves to be in the stdlib. As a Windows programmer I am quite surprised to read this thread with information that on Linux os.rename() overwrites files without questions, so as I Windows programmer I want os.rename() to stop that. I always guard my code against accidental rewrite by catching the exception. EAFP and all that stuff. But there is no way I can ask forgiveness when files are already overwritten. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
R. David Murray rdmur...@bitdance.com added the comment: So maybe my warning idea isn't such a bad idea :) As a unix programmer, I was very surprised to read in this thread that Windows doesn't overwrite the file on rename. As a unix programmer, I don't check for errors on a rename, because I expect it to just work. I'd like the windows rename call to stop throwing errors if the file exists, it breaks my programs if they run on windows. (Actually, very few of my programs ever get run on Windows, but you get the idea.) Thus, the only possible course is to maintain backward compatibility, and allow the programmers who care to specify the desired behavior. Since one of the important aspects of 'rename' in unix programmers' minds is that it is atomic, a race condition is not acceptable, therefore overwrite=False is not an acceptable option for os.rename. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8828] Atomic function to rename a file
Antoine Pitrou pit...@free.fr added the comment: As a Windows programmer I am quite surprised to read this thread with information that on Linux os.rename() overwrites files without questions, so as I Windows programmer I want os.rename() to stop that. As a Windows programmer, you are not really qualified to criticize the behaviour of Unix systems. As a Linux programmer, I don't want to see the default behaviour changed. No arguments == no consensus. We don't strive to achieve consensus. Agreement among the majority of core developers is enough, and you aren't part of the population anyway. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8828 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13657] IDLE doesn't support sys.ps1 and sys.ps2.
Roger Serwy roger.se...@gmail.com added the comment: This would make the IDLE shell interface more consistent with the original interpreter. Presently, the prompt is faked by showprompt in PyShell.py. It relies on sys from the IDLE gui process and not from the sys in the subprocess, so mimicking the changed prompt would require querying the subprocess for its sys.ps1 and sys.ps2. The enter_callback method will need modification to remove sys.ps2 from the text buffer before execution. Also, EditorWindow.py has code for handling sys.ps1 in smart_backspace_event and newline_and_indent_event. If anything, this shell-specific, prompt-handling code needs some refactoring as it should only be in PyShell.py, not in EditorWindow.py. Issue13039 is a result of prompt code side-effects in EditorWindow.py. -- nosy: +serwy ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13657 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13658] Extra clause in class grammar documentation
Changes by Chris Rebert pyb...@rebertia.com: -- nosy: +cvrebert ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13658 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13644] Python 3 aborts with this code.
Georg Brandl ge...@python.org added the comment: @OP: As you yourself wrote, this is an abort, not a segfault. It is not a crash; it is a controlled exit of the Python executable. @Benjamin: I don't really understand your reasoning: what is preventing Python to raise the error during the except clause? -- nosy: +georg.brandl title: Python 3 crashes (segfaults) with this code. - Python 3 aborts with this code. ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13644 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13644] Python 3 aborts with this code.
Benjamin Peterson benja...@python.org added the comment: Nothing, but that would be pointless; the recursion would just start again. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13644 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13658] Extra clause in class grammar documentation
Changes by Terry J. Reedy tjre...@udel.edu: -- nosy: +terry.reedy ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13658 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13615] `setup.py register` fails with -r argument
Terry J. Reedy tjre...@udel.edu added the comment: Does it do the same with http instead of https? -- nosy: +terry.reedy ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13615 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13630] IDLE: Find(ed) text is not highlighted while dialog box is open
Changes by Terry J. Reedy tjre...@udel.edu: -- nosy: +terry.reedy ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13630 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13632] Update token documentation to reflect actual token types
Terry J. Reedy tjre...@udel.edu added the comment: Looks good to me. help(token) already has the corrections. - BACKQUOTE, + RARROW, ELLIPSIS -- nosy: +terry.reedy ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13632 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13632] Update token documentation to reflect actual token types
Changes by Terry J. Reedy tjre...@udel.edu: -- priority: low - normal ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13632 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13658] Extra clause in class grammar documentation
Roundup Robot devn...@psf.upfronthosting.co.za added the comment: New changeset b65007ef59c0 by Benjamin Peterson in branch '3.2': kill superfluous 'comprehension' case (closes #13658) http://hg.python.org/cpython/rev/b65007ef59c0 -- nosy: +python-dev resolution: - fixed stage: - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13658 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13639] UnicodeDecodeError when creating tar.gz with unicode name
Terry J. Reedy tjre...@udel.edu added the comment: 2.7 is closed to new features. This looks like it mignt be one. The 2.7 doc for tarfile.open says Return a TarFile object for the pathname name. Does the meaning of 'pathname' in 2.7 generally include unicode as well as str objects? (It is not in the Glossary.) The error does not occur under Python 3 (even with non-ascii characters), so it should be possible to create a tarfile with a unicode filename on Python 2.7. Python 3 has many new features that are not in 2.7, so 'possible' is not exactly the point ;-). -- nosy: +terry.reedy ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13639 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13643] 'ascii' is a bad filesystem default encoding
Terry J. Reedy tjre...@udel.edu added the comment: Martin, after reading most all of the unusually large sequence of messages, I am closing this because three of the core developers with the most experience in this area are dead-set against your proposal. That does not make it 'wrong', but does mean that it will not be approved and implemented without new data and more persuasive arguments than those presented so far. I do not see that continued repetition of what has been said so far will change anything. -- nosy: +terry.reedy resolution: - rejected stage: - test needed status: open - closed type: behavior - enhancement ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13643 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13644] Python 3 aborts with this code.
Terry J. Reedy tjre...@udel.edu added the comment: When I run this with 3.2.2 IDLE, from an edit window, I get an MSVC++ Runtime Library window: Runtime Error! .../pythonw This application has requested termination in an unusual way When I close that, IDLE continues. So I would say that this is not a crash and not even a bug, but a particular choice of undefined behavior given infinite loop code. So we have no obligation to change it. I presume the change from 2.x is a side-effect of a change to improve something else. def recurse(): recurse() recurse() does print RuntimeError: maximum recursion depth exceeded but only after printing al o n gtraceback. So for running from IDLE, I at least half prefer the immediate error box with no traceback. -- nosy: +terry.reedy type: crash - behavior ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13644 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13653] reorder set.intersection parameters for better performance
Terry J. Reedy tjre...@udel.edu added the comment: Given that equality is not identify, order does matter, although in 3.2.2 the results are the opposite of what one might expect. a = set((1,2,3)) b = set((1.0, 3.0, 5.0)) print(ab, ba) print(a.intersection(b), b.intersection(a)) a = b print(a) {1.0, 3.0} {1, 3} {1.0, 3.0} {1, 3} {1.0, 3.0} In my view, a = b should remove the members of a that are not in b, rather than deleting all and replacing some with equal members of b. That glitch aside, remains and remains binary for exact control of order. The doc should just say that intersection may re-order the intersection for efficiency. -- nosy: +terry.reedy ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13653 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3974] collections.namedtuple uses exec to create new classes
Changes by Jesús Cea Avión j...@jcea.es: -- nosy: +jcea ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue3974 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13657] IDLE doesn't support sys.ps1 and sys.ps2.
Terry J. Reedy tjre...@udel.edu added the comment: so mimicking the changed prompt would require querying the subprocess for its sys.ps1 and sys.ps2. Is that sensibly possible? Any line of code can change those, so IDLE would have to do the equivalent of idle.ps1,idle.ps2 = sys.ps1, sys.ps2 before every new ps1 statement prompt. A configuration option might work better. I would rather remove the prompts from the entry window itself, and use 4 char indents instead of 8, so that cutting does not pick up the prompts. IDLE does not have to exactly imitate the Command Window interface. It could also give the user a choice. -- nosy: +terry.reedy ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13657 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13644] Python 3 aborts with this code.
maniram maniram maniandra...@gmail.com added the comment: @Terry IDLE restarts python (like in the menu entry Restart Shell) when the Python process dies no matter how the Python process dies. So this issue is a valid bug. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13644 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6092] Changed Shortcuts don't show up in menu
Roger Serwy roger.se...@gmail.com added the comment: This only applies to menu items from extensions (in this case, ScriptBinding.py). Other events (Copy, Cut, Paste, etc) update the menu shortcut properly. IDLE handles bindings for extensions separately from built-in functions. As a consequence, bindings for extensions do not get saved with custom key maps in ~/.idlerc/config-keys.cfg, but instead in ~/.idlerc/config-extensions.cfg. -- nosy: +serwy ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6092 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13657] IDLE doesn't support sys.ps1 and sys.ps2.
Roger Serwy roger.se...@gmail.com added the comment: Is that sensibly possible? Any line of code can change those, so IDLE would have to do the equivalent of idle.ps1,idle.ps2 = sys.ps1, sys.ps2 before every new ps1 statement prompt. It may be possible if the code gets refactored such that the subprocess handles the prompt and has stdin/stdout/stderr through RPCProxy treat the PyShell text widget as a dumb terminal. I would rather remove the prompts from the entry window itself, and use 4 char indents instead of 8, so that cutting does not pick up the prompts. IDLE does not have to exactly imitate the Command Window interface. It could also give the user a choice. This is #11838 and #1178. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13657 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13632] Update token documentation to reflect actual token types
Roundup Robot devn...@psf.upfronthosting.co.za added the comment: New changeset b7d099e8c136 by Meador Inge in branch '3.2': Issue #13632: Update token documentation to reflect actual token types http://hg.python.org/cpython/rev/b7d099e8c136 New changeset 1461327e63b5 by Meador Inge in branch 'default': Issue #13632: Update token documentation to reflect actual token types http://hg.python.org/cpython/rev/1461327e63b5 -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13632 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13632] Update token documentation to reflect actual token types
Meador Inge mead...@gmail.com added the comment: Committed. Thanks for the review Terry. -- resolution: - fixed stage: patch review - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13632 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13607] Move generator specific sections out of ceval.
Changes by Ron Adam ron3...@gmail.com: Removed file: http://bugs.python.org/file24047/f_why1.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13607 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13615] `setup.py register` fails with -r argument
anatoly techtonik techto...@gmail.com added the comment: Can't test right now. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13615 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13659] Add a help() viewer for IDLE's Shell.
New submission from maniram maniram maniandra...@gmail.com: If you call help() a few times on some objects, due to help()'s output IDLE's Shell Window becomes very long and it becomes difficult to scroll through the window. I suggest a new window should be opened when help() is called in IDLE so that no help output comes in the IDLE Shell Window. This bug doesn't affect the Python command-line on Linux (and I think Mac OS X) since help() uses the less program to display the help output. -- components: IDLE messages: 150214 nosy: maniram.maniram priority: normal severity: normal status: open title: Add a help() viewer for IDLE's Shell. type: enhancement ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13659 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13643] 'ascii' is a bad filesystem default encoding
Martin Pool m...@sourcefrog.net added the comment: Terry, that's fine. Thanks to everyone who contributed to the discussion. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13643 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13607] Move generator specific sections out of ceval.
Ron Adam ron3...@gmail.com added the comment: Updated patch with suggested changes. It also has a cleaned up fast_block_end section. Concerning speed. What happens is (as Tim and Raymond have pointed out) that we can make some things a little faster, in exchange for other things being a little slower. You can play around with the order of the why cases in the fast_block_end section and see that effect. By using a switch instead of if-else's, that should result in more consistent balance between the block exit cases. The order I currently have gives a little more priority for exceptions and that seems to help a tiny bit with the ccbench scores. I think that is a better bench mark than the small micro tests like pybench does. The problem with pybench is, it doesn't test deeper nesting where these particular changes will have a greater effect. -- Added file: http://bugs.python.org/file24087/f_why2.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13607 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13644] Python 3 aborts with this code.
Roger Serwy roger.se...@gmail.com added the comment: This is identical to issue6028 and may be related to issue3555. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13644 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6092] IDLE: Changed Shortcuts don't show up in menu
Changes by Terry J. Reedy tjre...@udel.edu: -- title: Changed Shortcuts don't show up in menu - IDLE: Changed Shortcuts don't show up in menu versions: +Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6092 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13659] Add a help() viewer for IDLE's Shell.
maniram maniram maniandra...@gmail.com added the comment: Sorry, new window in I suggest a new window should be a new read-only editor window. It could be implemented through a wrapper around help. IDLE could have a configuration option whether to use the traditional help() or the new help() which opens a new window. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13659 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13660] maniandram maniandram wants to chat
New submission from mani and ram maniandra...@gmail.com: --- maniandram maniandram wants to stay in touch better using some of Google's great new products. If you already have Gmail or Google Talk, visit: http://mail.google.com/mail/b-a8ddcdef74-d9b3235799-jT0tC3HAEHyo_AwNuC2Pc1oJ4P0 You'll need to click this link to be able to chat with maniandram maniandram. To get Gmail - a free email account from Google with over 2,800 megabytes of storage - and chat with maniandram maniandram, visit: http://mail.google.com/mail/a-a8ddcdef74-d9b3235799-jT0tC3HAEHyo_AwNuC2Pc1oJ4P0 Gmail offers: - Instant messaging directly inside Gmail - Powerful spam protection - Built-in search for finding your messages and a helpful way of organising emails into conversations - No pop-up ads or untargeted banners - just text ads and related information that are relevant to the content of your messages All this, and it's yours for free. But wait, there's more! By opening a Gmail account, you also have access to Google Talk, Google's instant messaging service: http://www.google.com/talk/intl/en-GB/ Google Talk offers: - Web-based chat that you can use anywhere, without a download - A contact list that's synchronised with your Gmail account - Free, high-quality PC-to-PC voice calls when you download the Google Talk client We're working hard to add new features and make improvements, so we may also ask for your comments and suggestions periodically. We appreciate your help in making our products even better! Thanks, The Google Team To learn more about Gmail and Google Talk, visit: http://mail.google.com/mail/help/intl/en_GB/about.html http://www.google.com/talk/intl/en-GB/about.html (If clicking the URLs in this message does not work, copy and paste them into the address bar of your browser). -- messages: 150219 nosy: maniandram priority: normal severity: normal status: open title: maniandram maniandram wants to chat ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13660 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13661] maniandram maniandram wants to chat
New submission from mani and ram maniandra...@gmail.com: --- maniandram maniandram wants to stay in touch better using some of Google's great new products. If you already have Gmail or Google Talk, visit: http://mail.google.com/mail/b-a8ddcdef74-00d3fc0b9c-JWXaXVhq1RAj9Ddx82oOpmk1-4Y You'll need to click this link to be able to chat with maniandram maniandram. To get Gmail - a free email account from Google with over 2,800 megabytes of storage - and chat with maniandram maniandram, visit: http://mail.google.com/mail/a-a8ddcdef74-00d3fc0b9c-JWXaXVhq1RAj9Ddx82oOpmk1-4Y Gmail offers: - Instant messaging directly inside Gmail - Powerful spam protection - Built-in search for finding your messages and a helpful way of organising emails into conversations - No pop-up ads or untargeted banners - just text ads and related information that are relevant to the content of your messages All this, and it's yours for free. But wait, there's more! By opening a Gmail account, you also have access to Google Talk, Google's instant messaging service: http://www.google.com/talk/intl/en-GB/ Google Talk offers: - Web-based chat that you can use anywhere, without a download - A contact list that's synchronised with your Gmail account - Free, high-quality PC-to-PC voice calls when you download the Google Talk client We're working hard to add new features and make improvements, so we may also ask for your comments and suggestions periodically. We appreciate your help in making our products even better! Thanks, The Google Team To learn more about Gmail and Google Talk, visit: http://mail.google.com/mail/help/intl/en_GB/about.html http://www.google.com/talk/intl/en-GB/about.html (If clicking the URLs in this message does not work, copy and paste them into the address bar of your browser). -- messages: 150220 nosy: maniandram priority: normal severity: normal status: open title: maniandram maniandram wants to chat ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13661 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com