[issue19469] Duplicate namespace package portions (but not on Windows)
New submission from Eric Snow: In changeset 88c3a1a3c2ff you'll find in test_api.py where I threw together a __path__ to compare against the one I was getting (which had 2 identical entries) on my Ubuntu 12.04 workstation. The XP buildbot (http://buildbot.python.org/all/builders/x86%20XP-4%203.x) took issue with that (but non-windows was fine). I was able to work around the difference (78d36d54391c), but I find the extra namespace portions surprising. I'd like to get to the bottom of it. I expect it has to do with how path entries are done on Windows, or perhaps with the way support.temp_cwd() iteracts with sys.path during testing. -- messages: 201880 nosy: brett.cannon, eric.smith, eric.snow priority: normal severity: normal stage: test needed status: open title: Duplicate namespace package portions (but not on Windows) type: behavior versions: Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19469 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19413] Reload semantics changed unexpectedly in Python 3.3
Eric Snow added the comment: Windows looks happy now. I'll look into the duplicate portions separately in issue19469. -- status: open - pending ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19413 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19413] Reload semantics changed unexpectedly in Python 3.3
Changes by Eric Snow ericsnowcurren...@gmail.com: -- status: pending - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19413 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19462] Add remove_argument() method to argparse.ArgumentParser
paul j3 added the comment: When you add an argument, argparse creates an `Action`, and returns it. It also places that action in various lists (e.g. parse._actions) and dictionaries. A `remove_argument` function would have to trace and remove all of those links. That's a non-trivial task. However modifying an argument (or Action) is much easier, since there is only one instance. Obviously some modifications will be safer than others. For example: parser = ArgumentParser() a = parser.add_argument('--foo') print a produces: _StoreAction(option_strings=['--foo'], dest='foo', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None) `vars(a)` gives a somewhat longer list of attributes. Within reason, those attributes can be changed directly. I think the 'dest', 'help', 'nargs', 'metavar' could all be changed without hidden effects. There's also a 'required' attribute that could be changed for optionals. Changing the 'option_strings' might be problematic, since the parser has a dictionary using those strings as keys. The constant `argparse.SUPPRESS` is used in several places to alter actions. For example, to suppress the help, or to suppress default values in the Namespace. So it might be possible to 'hide' arguments in the subclass, even if you can't remove them. In http://bugs.python.org/issue14191 I explored a couple of ways of temporarily 'deactivating' certain groups of arguments, so as to parse the optionals and positionals separately. It's an advance issue, but might still give some ideas. Another possibility is to use 'parent' parsers to define clusters of arguments. Your base class could create a parser with one set of parents, and the subclass could use a different set. -- nosy: +paul.j3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19462 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19063] Python 3.3.3 encodes emails containing non-ascii data as 7bit
Vajrasky Kok added the comment: Attached the *preliminary* patch to address R. David Murray's request. It does not address the case where we send raw utf-8 bytes to payload. Maybe we should handle that in different ticket. msg.set_payload(b'\xd0\x90\xd0\x91\xd0\x92') == chucks -- Added file: http://bugs.python.org/file32447/fix_8bit_data_charset_none_set_payload_v2.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19063 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19470] email.header.Header - should not allow two newlines in a row
hhm added the comment: (see also http://bugs.python.org/issue5871) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19470 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19470] email.header.Header - should not allow two newlines in a row
New submission from hhm: An email.header.Header object should not allow two consecutive newlines, since this terminates interpretation of headers and starts the body section. This can be exploited by an attacker in a case of user input being used in headers, and validated with the Header object, by stopping interpretation of any further headers, which become interpreted by an user (or other) agent. This in turn can be used to modify the behavior of emails, web pages, and the like, where such code is present. -- components: Library (Lib) messages: 201884 nosy: hhm priority: normal severity: normal status: open title: email.header.Header - should not allow two newlines in a row type: security versions: Python 2.7 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19470 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19471] pandas DataFrame access results in segfault
New submission from Russell Jurney: Python 2.7.6 RC1 on Mac OS X Mavericks 10.9 results in segfault when accessing a Pandas DataFrame. Same problem as in 2.7.5. See http://stackoverflow.com/questions/19722580/segfault-with-pandas-with-python-v2-7-6-rc1-on-mac-os-x-10-9 -- messages: 201886 nosy: Russell.Jurney priority: normal severity: normal status: open title: pandas DataFrame access results in segfault type: crash versions: Python 2.7 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19471 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19470] email.header.Header - should not allow two newlines in a row
Changes by Vajrasky Kok sky@speaklikeaking.com: -- nosy: +r.david.murray, vajrasky ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19470 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19471] pandas DataFrame access results in segfault
Ezio Melotti added the comment: This is probably a duplicate of #18458. -- nosy: +ezio.melotti, ned.deily, ronaldoussoren resolution: - duplicate stage: - committed/rejected status: open - closed superseder: - interactive interpreter crashes and test_readline fails on OS X 10.9 Mavericks due to libedit update ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19471 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18458] interactive interpreter crashes and test_readline fails on OS X 10.9 Mavericks due to libedit update
Russell Jurney added the comment: I have installed 2.7.6 RC1 on OS X 10.9, and this bug still exists. See http://stackoverflow.com/questions/19722580/segfault-11-with-pandas-with-python-v2-7-6-rc1-on-mac-os-x-10-9 -- nosy: +Russell.Jurney ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18458 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19470] email.header.Header - should not allow two newlines in a row
Changes by hhm heehooman+bugspyt...@gmail.com: -- versions: +Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19470 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18923] Use the new selectors module in the subprocess module
Changes by Charles-François Natali cf.nat...@gmail.com: Added file: http://bugs.python.org/file32448/subprocess_selectors-2.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18923 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19465] selectors: provide a helper to choose a selector using constraints
Charles-François Natali added the comment: There are actually two reasons to choosing poll over epoll/kqueue (i.e. no extra FD): - it's a bit faster (1 syscall vs 3) - but more importantly - and that's the main reason I did it in telnetlib/multiprocessing/subprocess - sometimes, you really don't want to use an extra FD: for example, if you're creating 300 telnet/subprocess instances, one more FD per instance can make you reach RLIMIT_NOFILE, which makes some syscalls fail with EMFILE (at work we have up to a 100 machines, and we spawn 1 subprocess per machine when distributing files with bittorrent). So I agree it would be nice to have a better way to get a selector not requiring any extra FD. The reason I didn't add such a method in the first place is that I don't want to end up like many Java APIs: Foo.getBarFactory().getInstance().initialize().provide() :-) I read somewhere that differenet selectors may have different limits on the number of file descriptors. Apart from select(), all other selectors don't have an upper limit. As for the performance profiles, depending on the application usage, select() can be faster than poll(), poll() can be faster than epoll(), etc. But since it's really highly usage-specific - and of course OS specific - I think the current choice heuristic is fine: people with specific needs can just use PollSelector/EpollSelector themselves. To sum up, get_selector(use_fd=True) looks fine to me. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19465 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19462] Add remove_argument() method to argparse.ArgumentParser
Artem Ustinov added the comment: Paul, essentialy, what i looking for is to replace the 'help' string of the inherited argument with the new one. If you say it could be changed without any effect so what would be the proper way to do it using argparse? Artem -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19462 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19472] inspect.getsource() raises a wrong exception type
New submission from Marco Buttu: I was looking at inspect.getsource(). In Python 3.3 and 3.4 either the docstring and the online doc say it raises a OSError, and in fact: import inspect def foo(): ... pass ... inspect.getsource(foo) Traceback (most recent call last): ... OSError: could not get source code However, getsource() calls getfile(), and this one raises a TypeError: inspect.getsource(0) Traceback (most recent call last): ... TypeError: 0 is not a module, class, method, function, traceback, frame, or code object -- assignee: docs@python components: Documentation, Library (Lib) messages: 201891 nosy: docs@python, marco.buttu priority: normal severity: normal status: open title: inspect.getsource() raises a wrong exception type type: behavior versions: Python 3.3, Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19472 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16500] Add an 'atfork' module
Richard Oudkerk added the comment: Given PEP 446 (fds are now CLOEXEC by default) I prepared an updated patch where the fork lock is undocumented and subprocess no longer uses the fork lock. (I did not want to encourage the mixing of threads with fork() without exec() by exposing the fork lock just for that case.) But I found that a test for the leaking of fds to a subprocess started with closefds=False was somewhat regularly failing because the creation of CLOEXEC pipe fds is not atomic -- the GIL is not held while calling pipe(). It seems that PEP 446 does not really make the fork lock redundant for processes started using fork+exec. So now I don't know whether the fork lock should be made public. Thoughts? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16500 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19473] Expose cache validation check in FileFinder
New submission from Brett Cannon: People seem to be sensitive enough to stat calls that exposing the cache validation check in FileFinder so it can be overridden to effectively turn it off would be useful to power users. -- components: Library (Lib) messages: 201893 nosy: brett.cannon priority: low severity: normal stage: test needed status: open title: Expose cache validation check in FileFinder type: enhancement versions: Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19473 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19473] Expose cache validation check in FileFinder
Changes by Brett Cannon br...@python.org: -- assignee: - brett.cannon ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19473 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19464] Remove warnings from Windows buildbot clean script
Roundup Robot added the comment: New changeset 599b5200ad51 by Tim Golden in branch 'default': Issue #19464 Suppress compiler warnings during clean. Patch by Zachary Ware. http://hg.python.org/cpython/rev/599b5200ad51 -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19464 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19437] More failures found by pyfailmalloc
Stefan Krah added the comment: Since this is tagged crash, I'm curious if you managed to crash _decimal. The unhandled return in convert_op_cmp should result in AtrributeError(object does not have a numerator attribute). The exception that wasn't set in dec_format should result in a wrong exception, but not a crash. -- nosy: +skrah ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19437 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19331] Revise PEP 8 recommendation for class names
Nick Coghlan added the comment: +1, works for me :) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19331 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue10197] subprocess.getoutput fails on win32
Changes by Tim Golden m...@timgolden.me.uk: -- assignee: - tim.golden versions: +Python 3.4 -Python 3.2 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue10197 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19470] email.header.Header - should not allow two newlines in a row
R. David Murray added the comment: I'm not sure how appropriate it is to validate a header using the Header object. Header is for *composing* internationalized headers, and does no validation to speak of. However, if you'd like to write a patch to add this check, I would probably commit it, since it is analogous to issue 5871. However, since the security issue was already dealt with in issue 5871, this fix would be a convenience (detecting the issue earlier). On the flip side, it would also be a behavior change, so there might be objections to backporting it. (Do any programs use Header for things other than composing email messages and actually rely on embedded newlines? I hope not, but you never know :) Further, if you use the new policies available in 3.3 and 3.4 (currently provisional, but they are the Way of the Future ;), you don't ever need to use Header objects, and embedded newlines are rejected as soon as you try to assign a string containing them as a header value in a message object. -- components: +email nosy: +barry type: security - behavior versions: +Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19470 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16500] Add an 'atfork' module
Charles-François Natali added the comment: Given PEP 446 (fds are now CLOEXEC by default) I prepared an updated patch where the fork lock is undocumented and subprocess no longer uses the fork lock. (I did not want to encourage the mixing of threads with fork() without exec() by exposing the fork lock just for that case.) But I found that a test for the leaking of fds to a subprocess started with closefds=False was somewhat regularly failing because the creation of CLOEXEC pipe fds is not atomic -- the GIL is not held while calling pipe(). Was it on Linux? If yes, was it on an old kernel/libc? (I just want to make sure that pipe2() is indeed used if available). It seems that PEP 446 does not really make the fork lock redundant for processes started using fork+exec. So now I don't know whether the fork lock should be made public. Thoughts? IMO it should be kept private for now: I think it's really only useful in some corner cases, and if it turns out to be useful, we can expose it later. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16500 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19385] dbm.dumb should be consistent when the database is closed
Claudiu.Popa added the comment: Here's the new version which addresses your last comment. Regarding the first issue, I don't believe that the result will be as readable (but I agree with you that it will be better). For instance, `items` will probably look like this: try: return [(key, self[key]) for key in self._index.keys()] except AttributeError: raise dbm.dumb.error(...) from None but will look totally different for other __len__: try: return len(self._index) except TypeError: raise dbm.dumb.error(...) from None. We could catch TypeError only for dunder methods though and for the rest of the methods check the value of _index before access. -- Added file: http://bugs.python.org/file32449/dbm_dumb1.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19385 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18810] Stop doing stat calls in importlib.machinery.FileFinder to see if something is a file or folder
Changes by Brett Cannon br...@python.org: -- dependencies: +Restore empty string special casing in importlib.machinery.FileFinder ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18810 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19474] Argument Clinic causing compiler warnings about uninitialized variables
New submission from Brett Cannon: In the curses module there are some variables that can go uninitialized which are causing clang to complain: /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:624:17: warning: variable 'x' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (!PyArg_ParseTuple(args, Ol:addch, ch, attr)) ^~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:643:65: note: uninitialized use occurs here return_value = curses_window_addch_impl(self, group_left_1, x, y, ch, group_right_1, attr); ^ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:624:13: note: remove the 'if' if its condition is always true if (!PyArg_ParseTuple(args, Ol:addch, ch, attr)) ^~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:620:17: warning: variable 'x' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (!PyArg_ParseTuple(args, O:addch, ch)) ^~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:643:65: note: uninitialized use occurs here return_value = curses_window_addch_impl(self, group_left_1, x, y, ch, group_right_1, attr); ^ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:620:13: note: remove the 'if' if its condition is always true if (!PyArg_ParseTuple(args, O:addch, ch)) ^~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:612:10: note: initialize the variable 'x' to silence this warning int x; ^ = 0 /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:624:17: warning: variable 'y' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (!PyArg_ParseTuple(args, Ol:addch, ch, attr)) ^~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:643:68: note: uninitialized use occurs here return_value = curses_window_addch_impl(self, group_left_1, x, y, ch, group_right_1, attr); ^ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:624:13: note: remove the 'if' if its condition is always true if (!PyArg_ParseTuple(args, Ol:addch, ch, attr)) ^~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:620:17: warning: variable 'y' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (!PyArg_ParseTuple(args, O:addch, ch)) ^~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:643:68: note: uninitialized use occurs here return_value = curses_window_addch_impl(self, group_left_1, x, y, ch, group_right_1, attr); ^ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:620:13: note: remove the 'if' if its condition is always true if (!PyArg_ParseTuple(args, O:addch, ch)) ^~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:613:10: note: initialize the variable 'y' to silence this warning int y; ^ = 0 /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:629:17: warning: variable 'attr' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (!PyArg_ParseTuple(args, iiO:addch, x, y, ch)) ^ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:643:90: note: uninitialized use occurs here return_value = curses_window_addch_impl(self, group_left_1, x, y, ch, group_right_1, attr); ^~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:629:13: note: remove the 'if' if its condition is always true if (!PyArg_ParseTuple(args, iiO:addch, x, y, ch)) ^~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:620:17: warning: variable 'attr' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if
[issue18458] interactive interpreter crashes and test_readline fails on OS X 10.9 Mavericks due to libedit update
Changes by Robert Xiao nneon...@gmail.com: Removed file: http://bugs.python.org/file32320/readline.so ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18458 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18458] interactive interpreter crashes and test_readline fails on OS X 10.9 Mavericks due to libedit update
Robert Xiao added the comment: Russell, that's not related to readline. Please file a new bug report. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18458 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19410] Restore empty string special casing in importlib.machinery.FileFinder
Roundup Robot added the comment: New changeset 17d730d37b2f by Brett Cannon in branch 'default': Issue #19410: Put back in special-casing of '' for http://hg.python.org/cpython/rev/17d730d37b2f -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19410 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19410] Restore empty string special casing in importlib.machinery.FileFinder
Changes by Brett Cannon br...@python.org: -- resolution: - fixed stage: needs patch - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19410 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18810] Stop doing stat calls in importlib.machinery.FileFinder to see if something is a file or folder
Changes by Brett Cannon br...@python.org: -- resolution: - fixed stage: test needed - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18810 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18810] Stop doing stat calls in importlib.machinery.FileFinder to see if something is a file or folder
Brett Cannon added the comment: Wrong issue -- dependencies: -Restore empty string special casing in importlib.machinery.FileFinder ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18810 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18810] Stop doing stat calls in importlib.machinery.FileFinder to see if something is a file or folder
Brett Cannon added the comment: I'm going to go ahead and close this. I think the optimistic change is the only one worth making since it's backwards-compatible. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18810 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19465] selectors: provide a helper to choose a selector using constraints
Guido van Rossum added the comment: Hm. If you really are going to create 300 instances, you should probably use asyncio. Otherwise, how are you going to multiplex them? Create 300 threads each doing select() on 1 FD? That sounds like a poor architecture and I don't want to bend over backwards to support or encourage that. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19465 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19437] More failures found by pyfailmalloc
STINNER Victor added the comment: I don't have the gdb trace anymore but it was really a crash. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19437 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue10197] subprocess.getoutput fails on win32
Tim Golden added the comment: Patched according to Nick Coghlan's suggestion in http://bugs.python.org/issue9922#msg150093. Ad hoc tests look ok on Windows. I'll add tests look at *nix later. -- Added file: http://bugs.python.org/file32450/issue10197.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue10197 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16500] Add an 'atfork' module
STINNER Victor added the comment: The PEP 446 does not offer any warranty on the atomicity on clearing the inheritable flag. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16500 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19465] selectors: provide a helper to choose a selector using constraints
Charles-François Natali added the comment: Of course, when I have 300 connections to remote nodes, I use poll() to multiplex between them. But there are times when you can have a large number of threads running concurrently, and if many of them call e.g. subprocess.check_output() at the same time (which does call subprocess.communicate() behind the scene, and thus calls select/poll), then one extra FD per instance could be an issue. For example, in http://bugs.python.org/issue18756, os.urandom() would start failing when multiple threads called it at the same time. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19465 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19473] Expose cache validation check in FileFinder
Changes by Brett Cannon br...@python.org: -- resolution: - duplicate status: open - closed superseder: - Expose mtime check in importlib.machinery.FileFinder ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19473 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19439] Build _testembed on Windows
Zachary Ware added the comment: That appears to be the case: P:\Projects\OSS\Python\cpython\ $ chcp Active code page: 437 P:\Projects\OSS\Python\cpython\ $ PCbuild\python_d.exe Python 3.4.0a4+ (default:995173ed248a+, Nov 1 2013, 09:12:43) [MSC v.1600 32 bit (Intel)] on win32 Type help, copyright, credits or license for more information. import os, sys rfd, wfd = os.pipe() r = os.fdopen(rfd, 'r') w = os.fdopen(wfd, 'w') sys.stdin.encoding, sys.stdout.encoding ('cp437', 'cp437') r.encoding, w.encoding ('cp1252', 'cp1252') The test passes as patched if I do 'chcp 1252' before running. Is it reasonable to patch the test to expect the default stdout and stderr encoding to equal ``os.fdopen(os.pipe[1], 'w').encoding``? Doing so passes on Windows, don't know about various Unixes. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19439 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16500] Add an 'atfork' module
Richard Oudkerk added the comment: It is a recent kernel and does support pipe2(). After some debugging it appears that a pipe handle created in Popen.__init__() was being leaked to a forked process, preventing Popen.__init__() from completing before the forked process did. Previously the test passed because Popen.__init__() acquired the fork lock. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16500 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19462] Add remove_argument() method to argparse.ArgumentParser
paul j3 added the comment: Just hang on the Action object that the `add_argument` returned, and change its `help` attribute. a = parser.add_argument('--foo', help='initial help') a.help = 'new help' If using a custom parser class and subclass, I'd do something like: self.changeablearg = self.parser.add_argument... in the class, and self.changeablearg.help = 'new help' in the subclass You can test the help message with print parser.format_help() -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19462 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19331] Revise PEP 8 recommendation for class names
Changes by Barry A. Warsaw ba...@python.org: -- nosy: -python-dev resolution: - fixed status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19331 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19331] Revise PEP 8 recommendation for class names
Barry A. Warsaw added the comment: Thanks Ethan, your latest patch is wonderful. Applied! -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19331 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19331] Revise PEP 8 recommendation for class names
Roundup Robot added the comment: New changeset 1a40d4eaa00b by Barry Warsaw in branch 'default': Ethan Furman's latest patch for Issue 19331. http://hg.python.org/peps/rev/1a40d4eaa00b -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19331 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19448] SSL: add OID / NID lookup
Christian Heimes added the comment: Thanks for the feed back! The new patch implements a class with two additional class methods. The low level functions are no longer part of the public API. -- Added file: http://bugs.python.org/file32451/ssl_asn1obj2.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19448 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19475] Inconsistency between datetime's str()/isoformat() and its strptime() method
New submission from Skip Montanaro: I have a CSV file. Here are a few rows: 2013-10-30 14:26:46.000528,1.36097023829 2013-10-30 14:26:46.999755,1.36097023829 2013-10-30 14:26:47.999308,1.36097023829 2013-10-30 14:26:49.002472,1.36097023829 2013-10-30 14:26:50,1.36097023829 2013-10-30 14:26:51.000549,1.36097023829 2013-10-30 14:26:51.999315,1.36097023829 2013-10-30 14:26:52.999703,1.36097023829 2013-10-30 14:26:53.999640,1.36097023829 2013-10-30 14:26:54.999139,1.36097023829 I want to parse the strings in the first column as timestamps. I can, and often do, use dateutil.parser.parse(), but in situations like this where all the timestamps are of the same format, it can be incredibly slow. OTOH, there is no single format I can pass to datetime.datetime.strptime() that will parse all the above timestamps. Using %Y-%m-%d %H:%M:%S I get errors about the leftover microseconds. Using %Y-%m-%d %H:%M:%S.%f I get errors when I try to parse a timestamp which doesn't have microseconds. Alas, it is datetime itself which is to blame for this problem. The above timestamps were all printed from an earlier Python program which just dumps the str() of a datetime object to its output CSV file. Consider: dt = dateutil.parser.parse(2013-10-30 14:26:50) print dt 2013-10-30 14:26:50 dt2 = dateutil.parser.parse(2013-10-30 14:26:51.000549) print dt2 2013-10-30 14:26:51.000549 The same holds for isoformat(): print dt.isoformat() 2013-10-30T14:26:50 print dt2.isoformat() 2013-10-30T14:26:51.000549 Whatever happened to be strict in what you send, but generous in what you receive? If strptime() is going to complain the way it does, then str() should always generate a full timestamp, including microseconds. The above is from a Python 2.7 session, but I also confirmed that Python 3.3 behaves the same. I've checked 2.7 and 3.3 in the Versions list, but I don't think it can be fixed there. Can the __str__ and isoformat methods of datetime (and time) objects be modified for 3.4 to always include the microseconds? Alternatively, can the %S format character be modified to consume optional decimal point and microseconds? I rate this as easy considering the easiest fix is to modify __str__ and isoformat, which seems unchallenging. -- components: Extension Modules keywords: easy messages: 201917 nosy: skip.montanaro priority: normal severity: normal status: open title: Inconsistency between datetime's str()/isoformat() and its strptime() method type: behavior versions: Python 2.7, Python 3.3, Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19475 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19475] Inconsistency between datetime's str()/isoformat() and its strptime() method
Ezio Melotti added the comment: See #7342. -- nosy: +ezio.melotti ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19475 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19471] pandas DataFrame access results in segfault
Ned Deily added the comment: No, this does not fit the signature of Issue18458, which is fixed in 2.7.6rc1 anyway. On the other hand, it is not likely that this is a problem in Python or its standard library. Pandas uses numpy and other third-party packages that contain C code. It's much more likely there is a problem there. Russell, how did you install Python and Numpy and Pandas? -- resolution: duplicate - stage: committed/rejected - status: closed - open superseder: interactive interpreter crashes and test_readline fails on OS X 10.9 Mavericks due to libedit update - ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19471 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19471] pandas DataFrame access results in segfault
Ned Deily added the comment: Googling around a bit, there was another report of this problem that includes OS X crash stack traces. The crash there occurred in umath.so, a part of Numpy and that leads to a now-resolved bug in Numpy. https://github.com/pydata/pandas/issues/5396 https://github.com/numpy/numpy/issues/3962 -- resolution: - invalid stage: - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19471 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19475] Inconsistency between datetime's str()/isoformat() and its strptime() method
R. David Murray added the comment: It may be simple but as Ezio has pointed out, it has already been rejected :) The problem with being generous in what you accept in this context is that the parsing is using a specific format string, and the semantics of that format string are based on external standards and are pretty inflexible. The pythonic solution, IMO, is to have datetime's constructor accept what its str produces. And indeed, exactly this has been suggested by Alexander Belopolsky in issue 15873. So I'm going to close this one as a duplicate of that one. -- nosy: +r.david.murray resolution: - duplicate stage: - committed/rejected superseder: - datetime: add ability to parse RFC 3339 dates and times ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19475 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19476] Add a dedicated specification for module reloading to the language reference
New submission from Eric Snow: In recent PEP 451-related discussions, the subject of reloading has come up multiple times. Most recently, PJE suggested that reload semantics are under-specified (and under-tested). [1][2] It may be worth adding a dedicated section on reloading to the reference doc. As evidenced by that email thread (and issue #19413), there are some reload semantics that should be specified (and tested) but aren't. While reload has a less prominent place in Python 3 (no longer a builtin), it is still a long-standing feature of the import system which gets used at more than just the interactive prompt. I'd hate to see more issues like 19413 pop up later because of under-specification. Furthermore, it would likely help other implementations pre-3.3 (a.k.a. pre-importlib) cover reload corner cases. [1] https://mail.python.org/pipermail/python-dev/2013-October/129868.html [2] https://mail.python.org/pipermail/python-dev/2013-October/129971.html -- components: Interpreter Core messages: 201923 nosy: brett.cannon, eric.snow, ncoghlan, pje priority: normal severity: normal stage: needs patch status: open title: Add a dedicated specification for module reloading to the language reference type: enhancement versions: Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19476 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19475] Inconsistency between datetime's str()/isoformat() and its strptime() method
Skip Montanaro added the comment: I don't accept your conclusion. I understand that making %S consume microseconds or .%f be optional would be a load. What's the problem with forcing __str__ and isoformat to emit microseconds in all cases though? That would allow you to parse what they produce using existing code. No new constructor needed. The issue of sometimes emitting microseconds, sometimes not, is annoying, even beyond this issue. I think for consistency's sake it makes sense for the string version of datetime and time objects to always be the same length. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19475 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19475] Inconsistency between datetime's str()/isoformat() and its strptime() method
R. David Murray added the comment: It's not my conclusion. It's Guido's and the other developers who designed datetime. Argue with them. (I'd guess it would be better argued on python-ideas rather than python-dev, but use your own judgement.) -- status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19475 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18809] Expose mtime check in importlib.machinery.FileFinder
Brett Cannon added the comment: So I tried extracting out the check by implementing a path_mtime() method on FileFinder, but then I realized it would simply be easier to abstract out _os.stat() to _path_stat() and let people cache stat calls at the global level, which would have a side-effect of never refreshing the path cache. Otherwise all of the other experiments I tried with minimizing stat calls didn't buy me much according to the benchmarks. I have also attached a patch which abstracts all file system code that passed through _os into a class. It didn't buy me much plus added a little overhead thanks to the extra abstraction, so I did not bother to commit it. -- keywords: +patch resolution: - rejected status: open - closed Added file: http://bugs.python.org/file32452/OO_os.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18809 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16113] SHA-3 (Keccak) support may need to be removed before 3.4
Christian Heimes added the comment: New information on NIST's hash forum strongly suggest that NIST is going to standardize SHA-3 according to the original proposal with c=2n and Sakura padding as well as two SHAKEs with variable length output. SHA3-224 with c=448 SHA3-256 with c=512 SHA3-384 with c=768 SHA3-512 with c=1024 SHAKE128 with c=256 SHAKE256 with c=512 -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16113 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19475] Inconsistency between datetime's str()/isoformat() and its strptime() method
Tim Peters added the comment: The decision to omit microseconds when 0 was a Guido pronouncement, back when datetime was first written. The idea is that str() is supposed to be friendly, and for the vast number of applications that don't use microseconds at all, it's unfriendly to shove .00 in their face all the time. Much the same reason is behind why, e.g., str(2.0) doesn't produce 2.. I doubt this will change. If you want to use a single format, you could massage the data first, like if '.' not in dt: dt += .00 -- nosy: +tim.peters ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19475 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19475] Inconsistency between datetime's str()/isoformat() and its strptime() method
Skip Montanaro added the comment: Okay, so no to __str__. What about isoformat? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19475 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17621] Create a lazy import loader mixin
Brett Cannon added the comment: Won't work until PEP 451 code lands and lets us drop __package__/__loader__ checking/setting post-load. -- dependencies: +Implementation for PEP 451 (importlib.machinery.ModuleSpec) ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17621 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19475] Inconsistency between datetime's str()/isoformat() and its strptime() method
Tim Peters added the comment: I don't know, Skip. Since `.isoformat()` and `str()` have *always* worked this way, and that was intentional, it's probably going to take a strong argument to change either. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19475 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19475] Inconsistency between datetime's str()/isoformat() and its strptime() method
Guido van Rossum added the comment: Well, I don't know if this sways anything, but I was probably responsible, and I think my argument was something about not all timestamp sources having microseconds, and not wanting to emit the .00 in that case. If I could go back I'd probably do something else; after all str(1.0) doesn't return '1' either. But that's water under the bridge; fixing this is undoubtedly going to break a lot of code. Maybe we can give isoformat() a flag parameter to force the inclusion or exclusion of the microseconds (with a default of None meaning the current behavior)? -- nosy: +gvanrossum resolution: duplicate - status: closed - open ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19475 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19477] document tp_print() as being dead in Py3
New submission from Stefan Behnel: The tp_print slot is still documented as it was in Py2, although it is no longer used in Py3. http://docs.python.org/3.4/c-api/typeobj.html?highlight=tp_print#PyTypeObject.tp_print Given that it no longer serves any purpose, it should at least be deprecated and documented as unused/ignored (and eventually removed completely, at the same time as tp_reserved). -- assignee: docs@python components: Documentation messages: 201933 nosy: docs@python, scoder priority: normal severity: normal status: open title: document tp_print() as being dead in Py3 type: behavior versions: Python 3.1, Python 3.2, Python 3.3, Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19477 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19475] Inconsistency between datetime's str()/isoformat() and its strptime() method
Skip Montanaro added the comment: The ultimate culprit here is actually the csv module. :-) It calls str() on every element it's about to write. In my applications which write to CSV files I can special case datetime objects. I will stop swimming upstream. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19475 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19475] Inconsistency between datetime's str()/isoformat() and its strptime() method
R. David Murray added the comment: I suppose in an ideal world the csv module would have some sort of hookable serialization protocol, like the database modules do :) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19475 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18864] Implementation for PEP 451 (importlib.machinery.ModuleSpec)
Changes by Arfrever Frehtes Taifersar Arahesis arfrever@gmail.com: -- nosy: +Arfrever ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18864 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19478] Add ability to prefix posix semaphore names created by multiprocessing module
New submission from Marc Liyanage: I'm running Python 2.7 in a sandboxed OS X app. There are restrictions on the naming of POSIX semaphores when running in the sandbox. Specifically, there is a mandatory prefix. I would like the ability to inject this prefix into the part of the multiprocessing module that creates the semaphore, perhaps by way of an environment variable. I see that this is how the module generates the semaphore name: PyOS_snprintf(buffer, sizeof(buffer), /mp%ld-%d, (long)getpid(), counter++); Apple's documentation about the restrictions are here: https://developer.apple.com/library/mac/documentation/security/conceptual/AppSandboxDesignGuide/AppSandboxInDepth/AppSandboxInDepth.html#//apple_ref/doc/uid/TP40011183-CH3-SW24 The relevant part: POSIX semaphores and shared memory names must begin with the application group identifier, followed by a slash (/), followed by a name of your choosing. So if I could inject that string before the leasing slash, I could make this work. -- components: Extension Modules messages: 201936 nosy: Marc.Liyanage, jnoller, sbt priority: normal severity: normal status: open title: Add ability to prefix posix semaphore names created by multiprocessing module type: enhancement versions: Python 2.7 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19478 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19478] Add ability to prefix posix semaphore names created by multiprocessing module
Marc Liyanage added the comment: leasing - leading -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19478 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19478] Add ability to prefix posix semaphore names created by multiprocessing module
Marc Liyanage added the comment: I'm thinking something along the lines of char *env = Py_GETENV(PYTHONSEMAPHOREPREFIX); if (env *env != '\0') { PyOS_snprintf(buffer, sizeof(buffer), %s/mp%ld-%d, env, (long)getpid(), counter++); } else { PyOS_snprintf(buffer, sizeof(buffer), /mp%ld-%d, (long)getpid(), counter++); } -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19478 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19478] Add ability to prefix posix semaphore names created by multiprocessing module
Changes by Ned Deily n...@acm.org: -- nosy: +ned.deily, ronaldoussoren ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19478 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19478] Add ability to prefix posix semaphore names created by multiprocessing module
Ned Deily added the comment: I don't have any experience using OS X sandboxing yet but I wonder whether there are other instances of semaphores or other resources used elsewhere in the standard library that would benefit from a common solution. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19478 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19478] Add ability to prefix posix semaphore names created by multiprocessing module
Marc Liyanage added the comment: From the description above, I would guess shared memory names as well, but I don't know which parts of the Python library use those, if any. In general, it's easy to adjust the Python code to deal with the restriction of the sandboxed environment (mostly file-system releated), and I haven't encountered any other issues that require changes to the C code. The name generation for semaphores is one exception where it's not possible to work around it in pure Python code. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19478 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19478] Add ability to prefix posix semaphore names created by multiprocessing module
Richard Oudkerk added the comment: Although it is undocumented, in python 3.4 you can control the prefix used by doing multiprocessing.current_process()._config['semprefix'] = 'myprefix' in the main process at the beginning of the program. Unfortunately, this will make the full prefix '/myprefix', so it will still start with '/'. Changing this for 3.4 would be easy, but I don't know if it is a good idea to change 2.7. Note that your suggested change can cause a buffer overflow. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19478 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19385] dbm.dumb should be consistent when the database is closed
Changes by Claudiu.Popa pcmantic...@gmail.com: Added file: http://bugs.python.org/file32453/dbm_dumb1.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19385 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19478] Add ability to prefix posix semaphore names created by multiprocessing module
Marc Liyanage added the comment: Great to hear that this is mostly supported in 3.4. I would definitely like to see the small change added that lets me insert a string before the leading slash. It would also be helpful to have it in Python 2.7 as well. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19478 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15873] datetime: add ability to parse RFC 3339 dates and times
Changes by Ethan Furman et...@stoneleaf.us: -- nosy: +ethan.furman ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15873 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19475] Add microsecond flag to datetime isoformat()
Terry J. Reedy added the comment: As I understand Guido's message, he reopened this to consider adding a new parameter. Given an existing csv file like that given, either Tim's solution or try: parse with microseconds except ValueError: parse without should work. -- nosy: +terry.reedy title: Inconsistency between datetime's str()/isoformat() and its strptime() method - Add microsecond flag to datetime isoformat() type: behavior - enhancement versions: -Python 2.7, Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19475 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18039] dbm.open(..., flag=n) does not work and does not give a warning
Claudiu.Popa added the comment: And the patch. -- keywords: +patch Added file: http://bugs.python.org/file32455/dbm_dumb_open.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18039 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18039] dbm.open(..., flag=n) does not work and does not give a warning
Claudiu.Popa added the comment: Here's a patch which adds support for the `n` value of the flag. It makes the dbm consistent across implementations and it's thus more reliable. Also, attached a script which replicates the problem for Windows (where dbm.dumb is used). My output (after a couple of runs): D:\Projects\snippets\DBMpy -3 a.py u7 test [b'u3', b'u2', b'u5', b'u4', b'u7', b'u6'] test.dat exists? True test.dir exists? True b'u3' b'there' b'u2' b'there' b'u5' b'there' b'u4' b'there' b'u7' b'there' b'u6' b'there' -- nosy: +Claudiu.Popa Added file: http://bugs.python.org/file32454/test_dbm.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18039 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18864] Implementation for PEP 451 (importlib.machinery.ModuleSpec)
Eric Snow added the comment: Here's a new patch that is mostly up to date with the PEP. I still need to work on Docs and add more tests. There are a few failing tests (due to the recent reload patch) that I need to fix when I get a minute. This patch also implements find_spec() on FileFinder and PathFinder. Left to do: * deprecations and removals * refactor importlib loaders to use the new Finder/Loader APIs * refactor pythonrun.c to make use of __spec__ * adjust other APIs to use __spec__ (pickle, etc.) -- Added file: http://bugs.python.org/file32456/modulespec-primary-changes.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18864 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18864] Implementation for PEP 451 (importlib.machinery.ModuleSpec)
Changes by Eric Snow ericsnowcurren...@gmail.com: Removed file: http://bugs.python.org/file32408/modulespec-primary-changes.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18864 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18864] Implementation for PEP 451 (importlib.machinery.ModuleSpec)
Changes by Eric Snow ericsnowcurren...@gmail.com: Added file: http://bugs.python.org/file32457/modulespec-primary-changes.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18864 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18864] Implementation for PEP 451 (importlib.machinery.ModuleSpec)
Changes by Eric Snow ericsnowcurren...@gmail.com: Removed file: http://bugs.python.org/file32456/modulespec-primary-changes.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18864 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19398] test_trace fails with -S
Terry J. Reedy added the comment: The test should use the more specific assertXyz method: self.assertIn(pprint.cover, files) The error message would then be the more informative AssertionError: 'pprint.cover' not found in files listed -- nosy: +terry.reedy ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19398 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19417] Add tests for bdb (previously not tested)
Terry J. Reedy added the comment: Is the patch against 3.4? I am not sure if we backport new test files. -- components: +Tests nosy: +terry.reedy stage: - patch review title: bdb test coverage - Add tests for bdb (previously not tested) type: - enhancement versions: +Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19417 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19417] Add tests for bdb (previously not tested)
Terry J. Reedy added the comment: Does all of the code for say, BdbTestCase.setUp, need to be repeated for each test method, versus being put in a .setUpClass method to be executed just once for all the methods in BdbTestCase. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19417 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19451] urlparse accepts invalid hostnames
Terry J. Reedy added the comment: The 3.4 urllib.parse.urlparse doc says The module has been designed to match the Internet RFC on Relative Uniform Resource Locators. It supports the following URL schemes: list of 24, including 'file:'. To me, 'support' means 'accept every valid URL for the particular scheme' but not necessarily 'reject every URL that is invalid for the particular scheme'. The other RFCs references are these: Following the syntax specifications in RFC 1808, urlparse recognizes a netloc only if it is properly introduced by ‘//’. and The fragment is now parsed for all URL schemes (unless allow_fragment is false), in accordance with RFC 3986. I currently see this, at best, as a request to deprecate 'over-acceptance', to be removed in the future. But if there are urls in the wild that use _s, then practicality says that this should be closed as invalid. -- nosy: +terry.reedy type: behavior - enhancement versions: -Python 2.6, Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python 3.5 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19451 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19406] PEP 453: add the ensurepip module
Ned Deily added the comment: Here are my review comments (sorry, no Rietveld): ensurepip/__init__.py - Why have the separate _run_pip function? It would be simpler and less confusing to just merge run_pip into bootstrap and eliminate the extra for loop. Both depend on the _PROJECTS list anyway. -- Ah, I see that the reason for the separation is for mocking purposes in test_ensurepip. How about constructing the list of paths to insert in bootstrap and passing that as the new second argument to _run_pip. Then the knowledge about the wheel names is only in one place. test_ensurepip.py - s/bootsraping/bootsrapping/g checkpip.py --- It would be useful if checkpip.py returned an non-zero exit status in the case any projects are out-of-date. Makefile.pre.in --- Need to add ensurepip and ensurepip/_bundled to LIBSUBDIRS so that they are installed. ensurepip/_bundeled --- The actual wheel files are not in the patch. For other reviewers, Donald pointed me to their source here: https://github.com/dstufft/cpython/blob/ensurepip/Lib/ensurepip/_bundled/ Using those wheels, which, as Donald notes, are preliminary (especially the setuptools one), I did some installs using a non-standard --prefix for python. Here are the contents of the bin directory (what would be installed into /usr/local/bin by default) after make altinstall. $ ls -l bin total 18760 -rwxr-xr-x 1 nad pyd 110 Nov 1 15:08 2to3-3.4* -rwxr-xr-x 1 nad pyd 108 Nov 1 15:08 idle3.4* -rwxr-xr-x 1 nad pyd 93 Nov 1 15:08 pydoc3.4* -rwxr-xr-x 2 nad pyd 4791296 Nov 1 15:08 python3.4* -rwxr-xr-x 2 nad pyd 4791296 Nov 1 15:08 python3.4dm* -rwxr-xr-x 1 nad pyd 2041 Nov 1 15:08 python3.4dm-config* -rwxr-xr-x 1 nad pyd 245 Nov 1 15:08 pyvenv-3.4* Now after python3.4 --ensurepip is run: -rwxr-xr-x 1 nad pyd110 Nov 1 15:08 2to3-3.4* -rw-r- 1 nad pyd687 Nov 1 15:19 easy_install -rw-r- 1 nad staff 355 Nov 1 15:19 easy_install-3.3.pya -rw-r- 1 nad pyd687 Nov 1 15:19 easy_install-3.4 -rw-r- 1 nad staff 347 Nov 1 15:19 easy_install.pya -rwxr-xr-x 1 nad pyd108 Nov 1 15:08 idle3.4* -rw-r- 1 nad pyd659 Nov 1 15:19 pip -rw-r- 1 nad pyd659 Nov 1 15:19 pip3 -rw-r- 1 nad pyd659 Nov 1 15:19 pip3.4 -rwxr-xr-x 1 nad pyd 93 Nov 1 15:08 pydoc3.4* -rwxr-xr-x 2 nad pyd4791296 Nov 1 15:08 python3.4* -rwxr-xr-x 2 nad pyd4791296 Nov 1 15:08 python3.4dm* -rwxr-xr-x 1 nad pyd 2041 Nov 1 15:08 python3.4dm-config* -rwxr-xr-x 1 nad pyd245 Nov 1 15:08 pyvenv-3.4* Now after make install is run: lrwxr-x--- 1 nad pyd 8 Nov 1 15:21 2to3@ - 2to3-3.4 -rwxr-xr-x 1 nad pyd110 Nov 1 15:21 2to3-3.4* -rw-r- 1 nad pyd687 Nov 1 15:19 easy_install -rw-r- 1 nad staff 355 Nov 1 15:19 easy_install-3.3.pya -rw-r- 1 nad pyd687 Nov 1 15:19 easy_install-3.4 -rw-r- 1 nad staff 347 Nov 1 15:19 easy_install.pya lrwxr-x--- 1 nad pyd 7 Nov 1 15:21 idle3@ - idle3.4 -rwxr-xr-x 1 nad pyd108 Nov 1 15:21 idle3.4* -rw-r- 1 nad pyd659 Nov 1 15:19 pip -rw-r- 1 nad pyd659 Nov 1 15:19 pip3 -rw-r- 1 nad pyd659 Nov 1 15:19 pip3.4 lrwxr-x--- 1 nad pyd 8 Nov 1 15:21 pydoc3@ - pydoc3.4 -rwxr-xr-x 1 nad pyd 93 Nov 1 15:21 pydoc3.4* lrwxr-x--- 1 nad pyd 9 Nov 1 15:21 python3@ - python3.4 lrwxr-x--- 1 nad pyd 16 Nov 1 15:21 python3-config@ - python3.4-config -rwxr-xr-x 2 nad pyd4791296 Nov 1 15:20 python3.4* lrwxr-x--- 1 nad pyd 18 Nov 1 15:21 python3.4-config@ - python3.4dm-config -rwxr-xr-x 2 nad pyd4791296 Nov 1 15:20 python3.4dm* -rwxr-xr-x 1 nad pyd 2041 Nov 1 15:21 python3.4dm-config* lrwxr-x--- 1 nad pyd 10 Nov 1 15:21 pyvenv@ - pyvenv-3.4 -rwxr-xr-x 1 nad pyd245 Nov 1 15:21 pyvenv-3.4* The problem I see here is that pip is unconditionally installing both a pip and a pip3 script along with the versioned script (pip3.4). Setuptools also has the same issue (along with the wonky .pya scripts which I think should be Windows only). For system installs, pip, setuptools, and ensurepip should support the equivalent of altinstall and install options, with the former only installing fully-versioned names and the latter adding 3 names and, to be consistent, neither should install the totally unversioned links for Python 3, so no pip or easy_install. Third-party packagers solve the conflict between Py2 and Py3 scripts in various ways, like providing some administrative command (e.g. debian update-alternatives or Macports port select). For virtual environments, the user has complete control over the bin directory and the current behavior of pip and easy_install is OK
[issue19406] PEP 453: add the ensurepip module
Ned Deily added the comment: I suppose the changes could be isolated to just ensurepip if it used a temporary dir for the scripts and then moved the appropriate ones itself to the standard scripts directory. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19406 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19456] ntpath doesn't join paths correctly when a drive is present
Changes by Martin Panter vadmium...@gmail.com: -- nosy: +vadmium ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19456 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19406] PEP 453: add the ensurepip module
Ned Deily added the comment: Just for the record, here's what the installed ./lib/python3.4/site-packages looks like after ensurepip has run: -rw-r--r-- 1 nad pyd 119 Nov 1 15:20 README drwxr-x--- 2 nad pyd 204 Nov 1 15:21 __pycache__/ drwxr-x--- 3 nad pyd 170 Nov 1 15:21 _markerlib/ -rw-r- 1 nad staff 126 Nov 1 15:19 easy_install.py drwxr-x--- 7 nad pyd 782 Nov 1 15:21 pip/ drwxr-x--- 2 nad pyd 306 Nov 1 15:19 pip-1.5.dev1.dist-info/ -rw-r- 1 nad staff 101430 Nov 1 15:19 pkg_resources.py drwxr-x--- 6 nad pyd 1020 Nov 1 15:21 setuptools/ drwxr-x--- 2 nad pyd 374 Nov 1 15:19 setuptools-1.1.6.dist-info/ And, within pip/_vendor, the following additional projects are installed: -rw-r- 1 nad staff266 Nov 1 15:19 __init__.py drwxr-x--- 2 nad pyd 272 Nov 1 15:21 __pycache__/ drwxr-x--- 3 nad pyd 306 Nov 1 15:21 colorama/ drwxr-x--- 4 nad pyd 714 Nov 1 15:21 distlib/ drwxr-x--- 8 nad pyd 544 Nov 1 15:21 html5lib/ -rw-r- 1 nad staff773 Nov 1 15:19 re-vendor.py drwxr-x--- 4 nad pyd 646 Nov 1 15:21 requests/ -rw-r- 1 nad staff 12415 Nov 1 15:19 six.py -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19406 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19406] PEP 453: add the ensurepip module
Donald Stufft added the comment: The .pya thing is an experimental extension type that setuptools added that just got missed during the new features to generate scripts during wheel install vs wheel build time. I opened a bug to remove that and it'll be gone before 1.5 is released. I can fix the typos and add those to the Makefile.pre.in. I agree the versioned scripts need some sort of resolution, I'm not entirely sure what that resolution is. This is coming from pip itself so it's not specific to ensurepip. So there are 4 cases that pip needs to handle. 1) Installation via the original bootstrapping methods into a pre Python 3.4 Python, including a 2.x Python. 2) Installation via ensurepip in Python 3.4+ 3) Installation via easy_install 4) Installation via pip install --upgrade pip So there's obviously a number of solutions that solve the problem in specifically the ensurepip case (adding a flag, temporary directory, etc). What I wonder is: A) Is it considered reasonable that if someone installs pip with ensurepip, but then later upgrades it with ``pip install --upgrade pip`` that they'll get typical pip behavior of installing pip, pipX, and pipX.Y or is this believed to be something that fundamentally needs to change in pip? B) What about in cases where there is *not* a third party distributor, is it reasonable that if there isn't already a ``pip`` command that pip would provide it, but if there is a pip command already pip *won't* ? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19406 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19406] PEP 453: add the ensurepip module
Donald Stufft added the comment: Oh one thing, I can't move anything out of _run_pip because the part you're referring to is actually modifying the sys.path. If I move it then I can't prevent the tests from having side effects. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19406 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19406] PEP 453: add the ensurepip module
Donald Stufft added the comment: Oh nevermind, I understand now. I misread the statement. I can do that. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19406 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19406] PEP 453: add the ensurepip module
Donald Stufft added the comment: Attached is the second combined2 patch with Ned's feedback incorporated. For anyone testing this the patch does not contain the binary files which can be found at https://github.com/dstufft/cpython/blob/ensurepip/Lib/ensurepip/_bundled/. -- Added file: http://bugs.python.org/file32458/combined2.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19406 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19406] PEP 453: add the ensurepip module
Nick Coghlan added the comment: The install everything approach is OK for Windows and virtual environments. The challenge is the shared bin directories on *nix systems. Perhaps pip itself could be updated such that it installs the bare pip only if sys.executable matches shutil.which(python)? At the very least, ensurepip should work that way, but setuptools actually has the same problem with respect to easy_install. Also, if we do the temp directory workaround then we need to copy and then delete the original rather than move (otherwise the file context will be wrong under SELinux) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19406 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19406] PEP 453: add the ensurepip module
Ned Deily added the comment: Without digging deeper, I'd be a little cautious about using a test involving sys.executable and shutil.which. sys.executable in the past at least was not always what you might think in certain cases with OS X framework installs. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19406 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15809] IDLE console uses incorrect encoding.
Geraldo Xexeo added the comment: The same program will behave different in Windows and Mac. utf-8 works on Mac (10.6.8), cp1256 does not print some lines cp1256 works on Windows 7, utf-8 prints some characters in a wrong way For the record, I use accentuated letters from Portuguese alphabet ( atilde; ã, for example). -- nosy: +Geraldo.Xexeo ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15809 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19411] binascii.hexlify docs say it returns a string (it returns bytes)
Changes by Martin Panter vadmium...@gmail.com: -- nosy: +vadmium ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19411 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com