[issue46273] Document what asyncio.wait() and asyncio.as_completed() do if canceled.
New submission from Mikhail Terekhov : It is not clear from documentation what happens with awaitable objects when these are canceled. -- assignee: docs@python components: Documentation, asyncio messages: 409801 nosy: asvetlov, docs@python, termim, yselivanov priority: normal severity: normal status: open title: Document what asyncio.wait() and asyncio.as_completed() do if canceled. versions: Python 3.10, Python 3.11, Python 3.8, Python 3.9 ___ Python tracker <https://bugs.python.org/issue46273> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue44198] Add flags or function in pathlib.Path
New submission from Mikhail : Hello! This is a very useful feature when a Path-object gets a list (or generator, as it is now) of files/dirs in self.dir, I think. Right now this is the .iterdir() function, but sometimes you only need `dirs` of that path (for example, I really needed the function when I was working with images for classification), and at the moment this is only solved by (path for path in root.iterdir() if path.is_dir()). You could make separate functions for this, but I suggest just adding the only_dirs/only_files(/only_links) flags to .iterdir(). -- components: Library (Lib) messages: 394064 nosy: tetelevm priority: normal severity: normal status: open title: Add flags or function in pathlib.Path versions: Python 3.10 ___ Python tracker <https://bugs.python.org/issue44198> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43654] IDLE: Applying settings disables tab completion
Mikhail added the comment: I also checked this behavior in Jython and IPython, and there errors are explicitly caused when putting/calling such values (I also checked on MicroPython online version, everything just hangs there). For IPython I created an issue on their Github, I'm thinking of doing the same for Jython. Since you're my guide to the world of bugs and issues for CPython, any advice on whether to create a separate issue here or leave it as is? P.S. I like the Python community, everyone here is kind and helpful :) -- ___ Python tracker <https://bugs.python.org/issue43654> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43654] IDLE: Applying settings disables tab completion
Mikhail added the comment: I did a little experiment, and it turned out that the problem is not in the IDLE, but inside Python itself. With this case, the same behavior remains inside the terminal version of Python, and IPython also produces a similar error. -- ___ Python tracker <https://bugs.python.org/issue43654> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43654] IDLE: Applying settings disables tab completion
Mikhail added the comment: Hello again! I found another kind of bug, where the autosupplement window doesn't show up. In order for the bug to occur, you need to put a non-string value into `locals()`. Example: ``` locals()['arg'] = 123 # or locals().setdefault('arg', 123) # ^ it's okay locals()[123] = 123 # or locals().setdefault(123, 123) # ^ completion window is not shown ``` Of course, I know that "Whether or not updates to this dictionary will affect name lookups in the local scope and vice-versa not covered by any backwards compatibility guarantees" , but take a little bug :) Here is the traceback of the error ``` Exception in Tkinter callback Traceback (most recent call last): File "/usr/lib/python3.9/tkinter/__init__.py", line 1885, in __call__ return self.func(*args) File "/usr/lib/python3.9/idlelib/multicall.py", line 176, in handler r = l[i](event) File "/usr/lib/python3.9/idlelib/autocomplete.py", line 74, in autocomplete_event opened = self.open_completions(TAB) File "/usr/lib/python3.9/idlelib/autocomplete.py", line 146, in open_completions comp_lists = self.fetch_completions(comp_what, mode) File "/usr/lib/python3.9/idlelib/autocomplete.py", line 171, in fetch_completions return rpcclt.remotecall("exec", "get_the_completion_list", File "/usr/lib/python3.9/idlelib/rpc.py", line 219, in remotecall return self.asyncreturn(seq) File "/usr/lib/python3.9/idlelib/rpc.py", line 250, in asyncreturn return self.decoderesponse(response) File "/usr/lib/python3.9/idlelib/rpc.py", line 270, in decoderesponse raise what TypeError: '<' not supported between instances of 'int' and 'str' ``` -- versions: +Python 3.9 -Python 3.10 ___ Python tracker <https://bugs.python.org/issue43654> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43654] IDLE: Applying settings disables tab completion
Change by Mikhail : -- nosy: +tetelevm ___ Python tracker <https://bugs.python.org/issue43654> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43647] Sudden crash displaying certain characters in tk widget
Mikhail added the comment: Yes, this is exactly the same problem as `issue42225`. I suspected it was a Tkinter problem, and also thought that Python might be under the hood catching C method call errors. But since you know about this problem, and in more detail than I have written here, this issue can be closed. P.S. By the way, while I was doing my little investigation with fonts, here's another little bug I found :) When I start to write any word in IDLE and press Tab, the autocomplete box is shown (or auto-complete if the only mapping). But if I was doing something in "Configure IDLE" and pressed "Ok" to close the configure window, then pressing Tab just causes tab to appear at the cursor instead of auto-complete. You probably know about it, but You know, I'm something of a developer myself, so it's better to report a bug than not report it. -- ___ Python tracker <https://bugs.python.org/issue43647> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43647] Sudden crash on print() of some characters
Mikhail added the comment: I checked the behavior, and found out that it depends on the font. I have "Noto Sans Mono", and if I enter, for example, '\u2709', IDLE crashes. But if I put another font, for example 'Dejavu Mono', just a blank line is displayed. Also, if I output the characters to "dejavu" and then switch to "noto", the bug disappears until I restart IDLE. P.S. I've played around, and crashes don't always happen when I change font, but, personally, it always happens when I open IDLE with "Noto Sans Mono" font. Also, if needed, I can check tomorrow on other laptops with other systems. -- ___ Python tracker <https://bugs.python.org/issue43647> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43647] Sudden crash on print() of some characters
New submission from Mikhail : Hi! I'm not sure if it's an IDLE, library, Xserver or font error, but either way, IDLE is behaving incorrectly. I have installed 3.8 and 3.9 versions, and on both it works, I do not know about the others, but I suspect that on the others, this error also occurs. The error occurs in the following way: if you type any of the characters '\u270(5-f)' in IDLE, its work will stop unexpectedly. I suspect that for many other symbols there will be the same error, but so far noticed only on these. This is what the output to the terminal says: ``` X Error of failed request: BadLength (poly request too large or internal Xlib length error) Major opcode of failed request: 139 (RENDER) Minor opcode of failed request: 20 (RenderAddGlyphs) Serial number of failed request: 2131 Current serial number in output stream: 2131 ``` I think the error is somewhere in the system error handler or in the incorrect behavior of the fonts display (or both :) ), it would be more correct to catch the error and display it in the output, rather than suddenly terminate. My system is Ubuntu 20.04, KDE 5. -- assignee: terry.reedy components: IDLE messages: 389635 nosy: terry.reedy, tetelevm priority: normal severity: normal status: open title: Sudden crash on print() of some characters versions: Python 3.8, Python 3.9 ___ Python tracker <https://bugs.python.org/issue43647> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42547] argparse: add_argument(... nargs='+', metavar=) does not work with positional arguments
Change by Mikhail Khvoinitsky : -- keywords: +patch pull_requests: +22485 stage: -> patch review pull_request: https://github.com/python/cpython/pull/23617 ___ Python tracker <https://bugs.python.org/issue42547> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42547] argparse: add_argument(... nargs='+', metavar=) does not work with positional arguments
New submission from Mikhail Khvoinitsky : Example which works: parser.add_argument('--test', nargs='+', metavar=('TEST', 'TEST2')) Example which doesn't work: parser.add_argument('test', nargs='+', metavar=('TEST', 'TEST2')) it raises: Traceback (most recent call last): File args = parser.parse_args() File "/usr/lib/python3.8/argparse.py", line 1768, in parse_args args, argv = self.parse_known_args(args, namespace) File "/usr/lib/python3.8/argparse.py", line 1800, in parse_known_args namespace, args = self._parse_known_args(args, namespace) File "/usr/lib/python3.8/argparse.py", line 2006, in _parse_known_args start_index = consume_optional(start_index) File "/usr/lib/python3.8/argparse.py", line 1946, in consume_optional take_action(action, args, option_string) File "/usr/lib/python3.8/argparse.py", line 1874, in take_action action(self, namespace, argument_values, option_string) File "/usr/lib/python3.8/argparse.py", line 1044, in __call__ parser.print_help() File "/usr/lib/python3.8/argparse.py", line 2494, in print_help self._print_message(self.format_help(), file) File "/usr/lib/python3.8/argparse.py", line 2471, in format_help formatter.add_arguments(action_group._group_actions) File "/usr/lib/python3.8/argparse.py", line 276, in add_arguments self.add_argument(action) File "/usr/lib/python3.8/argparse.py", line 261, in add_argument invocations = [get_invocation(action)] File "/usr/lib/python3.8/argparse.py", line 549, in _format_action_invocation metavar, = self._metavar_formatter(action, default)(1) ValueError: too many values to unpack (expected 1) Expected result: help message should look like this: usage: test_argparse [-h] TEST [TEST2 ...] positional arguments: TEST optional arguments: -h, --help show this help message and exit -- components: Library (Lib) messages: 382341 nosy: m_khvoinitsky priority: normal severity: normal status: open title: argparse: add_argument(... nargs='+', metavar=) does not work with positional arguments type: crash versions: Python 3.10 ___ Python tracker <https://bugs.python.org/issue42547> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41923] Add PEP 613 typing.TypeAlias to the standard library
Change by Mikhail Golubev : -- keywords: +patch nosy: +east825 nosy_count: 3.0 -> 4.0 pull_requests: +21535 stage: -> patch review pull_request: https://github.com/python/cpython/pull/22532 ___ Python tracker <https://bugs.python.org/issue41923> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41923] Add PEP 613 typing.TypeAlias to the standard library
New submission from Mikhail Golubev : TypeAlias is already included in typing_extensions package, making it available for pre-3.10 versions of Python. I'd like port this implementation to the upstream version of typing. -- components: Library (Lib) messages: 377890 nosy: mikhail.golubev priority: normal severity: normal status: open title: Add PEP 613 typing.TypeAlias to the standard library type: enhancement versions: Python 3.10 ___ Python tracker <https://bugs.python.org/issue41923> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41882] CCompiler.has_function does not delete temporary files
Change by Mikhail Terekhov : -- keywords: +patch pull_requests: +21475 stage: -> patch review pull_request: https://github.com/python/cpython/pull/22446 ___ Python tracker <https://bugs.python.org/issue41882> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue41882] CCompiler.has_function does not delete temporary files
New submission from Mikhail Terekhov : CCompiler.has_function does not delete temporary files. Depending on the check result it leaves temporary C source, object and executable files. -- components: Distutils messages: 377646 nosy: dstufft, eric.araujo, termim priority: normal severity: normal status: open title: CCompiler.has_function does not delete temporary files type: resource usage versions: Python 3.10, Python 3.5, Python 3.6, Python 3.7, Python 3.8, Python 3.9 ___ Python tracker <https://bugs.python.org/issue41882> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue36794] asyncio.Lock documentation in Py3.8 lacks parts presented in documentation in Py3.6
New submission from Mikhail Gerasimov : Compare: https://docs.python.org/3.6/library/asyncio-sync.html#asyncio.Lock https://docs.python.org/3.8/library/asyncio-sync.html#asyncio.Lock First version is much more detailed. It allows to avoid confusions like one with unlocking order: https://stackoverflow.com/q/55951233/1113207 -- assignee: docs@python components: Documentation, asyncio messages: 341385 nosy: asvetlov, docs@python, germn, yselivanov priority: normal severity: normal status: open title: asyncio.Lock documentation in Py3.8 lacks parts presented in documentation in Py3.6 type: enhancement versions: Python 3.8 ___ Python tracker <https://bugs.python.org/issue36794> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue34335] Fix examples in asyncio docs (suppliment to bpo-32258)
Change by Mikhail Terekhov : -- keywords: +patch pull_requests: +8167 stage: -> patch review ___ Python tracker <https://bugs.python.org/issue34335> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue32258] Rewrite asyncio docs to use async/await syntax
Change by Mikhail Terekhov : -- pull_requests: +8168 ___ Python tracker <https://bugs.python.org/issue32258> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue34335] Fix examples in asyncio docs (suppliment to bpo-32258)
New submission from Mikhail Terekhov : Couple of examples in in asyncio documentation mix @asyncio.coroutine decorator and await. -- components: asyncio messages: 323121 nosy: asvetlov, termim, yselivanov priority: normal severity: normal status: open title: Fix examples in asyncio docs (suppliment to bpo-32258) versions: Python 3.6, Python 3.7, Python 3.8 ___ Python tracker <https://bugs.python.org/issue34335> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33948] doc truncated lines in PDF
Mikhail added the comment: This file was taken from https://docs.python.org/3.7/archives/python-3.7.0rc1-docs-pdf-a4.zip Hashes CRC32: 327CF408 MD5: 7EBEB565C1EA7E52F366B5C734500FAC SHA-1: 09727C07C45965E4E43664B727E7CAECC4F3CD89 SHA-256: 3EB1E769F3A1F17922B3BC99AE5C316209E74B7CB6CBE4B4769D55D859AC5BC8 SHA-512: EB60766B2C594BD86CF2C038147AF50462DFC379F7DA88C0A89F8791ED0332F67986DA6D328549B463E6CD5A0630F1ECDC140E6DE2C769EE20799C03384F0A2C SHA3-256: 136575BABCC4B666E39AEBD9E96D09684EE677EDC01825C4D891E141D43CC252 Thank you -- ___ Python tracker <https://bugs.python.org/issue33948> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33948] doc truncated lines in PDF
New submission from Mikhail : Hello, Python Team, In reference.pdf I came across truncated lines in Python syntax that are not wrapped and carried forward to the next line, but instead run across the right margin. Examples "2.3 Identifiers and keywords" line contains "id_start ::= " expression" It would be VERY convenient to fix this for printing. Thank you -- assignee: docs@python components: Documentation messages: 320313 nosy: Mikhail_D, docs@python priority: normal severity: normal status: open title: doc truncated lines in PDF versions: Python 3.7 ___ Python tracker <https://bugs.python.org/issue33948> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33272] Which are reasonable reason for recursion limit in function _vformat of class Formatter lib string?
New submission from Mikhail <mikhail.v.gavri...@gmail.com>: The presence of the restriction of recursion prevent making nested conditions for the superformatter: https://github.com/ebrehault/superformatter for example: import string class SuperFormatter(string.Formatter): """World's simplest Template engine.""" def format_field(self, value, spec): if spec.startswith('repeat'): template = spec.partition(':')[-1] if type(value) is dict: value = value.items() return ''.join([template.format(item=item) for item in value]) elif spec == 'call': return value() elif spec.startswith('if'): return (value and spec.partition(':')[-1]) or '' else: return super(SuperFormatter, self).format_field(value, spec) data = { 'a1':1, 'a2':2, 'a3':3 } tmpl = ''' {a1:if: {a2:if: {a2} } {a1} } ''' sf = SuperFormatter() out = sf.format(tmpl, **data) print(out) Causes error: $ python3.6 my_progs/test.py Traceback (most recent call last): File "my_progs/test.py", line 37, in out = sf.format(tmpl, **data) File "/usr/lib64/python3.6/string.py", line 190, in format return self.vformat(format_string, args, kwargs) File "/usr/lib64/python3.6/string.py", line 194, in vformat result, _ = self._vformat(format_string, args, kwargs, used_args, 2) File "/usr/lib64/python3.6/string.py", line 244, in _vformat auto_arg_index=auto_arg_index) File "/usr/lib64/python3.6/string.py", line 244, in _vformat auto_arg_index=auto_arg_index) File "/usr/lib64/python3.6/string.py", line 244, in _vformat auto_arg_index=auto_arg_index) File "/usr/lib64/python3.6/string.py", line 201, in _vformat raise ValueError('Max string recursion exceeded') ValueError: Max string recursion exceeded If there was not this restriction, then the example code is worked. -- components: Library (Lib) messages: 315242 nosy: mv.gavrilov priority: normal severity: normal status: open title: Which are reasonable reason for recursion limit in function _vformat of class Formatter lib string? type: behavior versions: Python 3.6 ___ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue33272> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33229] Documentation - io — Core tools for working with streams - seek()
Change by Mikhail Zakharov <zmey20...@yahoo.com>: -- stage: -> resolved status: open -> closed ___ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue33229> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33229] Documentation - io — Core tools for working with streams - seek()
Mikhail Zakharov <zmey20...@yahoo.com> added the comment: OK, I got it. Sorry for disturbing you. The should be called like: io.SEEK_* -- ___ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue33229> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33229] Documentation - io — Core tools for working with streams - seek()
Mikhail Zakharov <zmey20...@yahoo.com> added the comment: Seems in my, quite old 3.4.5 version, it doesn't work: $ python3 Python 3.4.5 (default, Jun 1 2017, 13:52:39) [GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> f = open('/tmp/text.txt', 'r') >>> f.seek(0, SEEK_END) Traceback (most recent call last): File "", line 1, in NameError: name 'SEEK_END' is not defined >>> f.close() >>> >>> import os >>> f = open('/tmp/text.txt', 'r') >>> f.seek(0, os.SEEK_END) 214 >>> f.close() -- ___ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue33229> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33229] Documentation - io — Core tools for working with streams - seek()
New submission from Mikhail Zakharov <zmey20...@yahoo.com>: Documentation for io.IOBase class and it's seek() method at https://docs.python.org/3/library/io.html mentions SEEK_* constants like: "SEEK_SET or 0 – start of the stream (the default); offset should be zero or positive SEEK_CUR or 1 – current stream position; offset may be negative SEEK_END or 2 – end of the stream; offset is usually negative " It seems, they actually should be used as os.SEEK_SET, os.SEEK_CUR and os.SEEK_END. -- assignee: docs@python components: Documentation messages: 314970 nosy: Mikhail Zakharov, docs@python priority: normal severity: normal status: open title: Documentation - io — Core tools for working with streams - seek() type: enhancement versions: Python 2.7, Python 3.4, Python 3.5, Python 3.6, Python 3.7, Python 3.8 ___ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue33229> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue32297] Few misspellings found in Python source code comments.
New submission from Mikhail Afanasev <meha...@gmail.com>: I have noticed few misspellings in Python source code comments while doing some research with the help of spelling and grammatic tools. I double checked all of them and corrected. There is just one docstring affected. All the other changes are in Python source code comments. It also affects 49 different files from all the modules. I made a PR, and I think it's up to file maintainers to decide if they want to merge any of this edits. At this moment maintainer of idlelib package picked and merged changes which affect his pars independently. -- messages: 308175 nosy: mehanig priority: normal pull_requests: 4720 severity: normal status: open title: Few misspellings found in Python source code comments. type: enhancement versions: Python 3.7 ___ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue32297> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue31678] Incorrect C Function name for timedelta
Change by Mironov Mikhail <phobos...@gmail.com>: -- keywords: +patch pull_requests: +3850 stage: -> patch review ___ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue31678> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue31539] asyncio.sleep may sleep less time then it should
Mikhail Gerasimov added the comment: STINNER Victor, thanks for explanation! I don't know if this issue has practical disadvantages, but such behavior seems to be confusing, especially, since it can be reproduced with event_loop.time() and asyncio doc says nothing about resolution - https://docs.python.org/3/library/asyncio-eventloop.html#delayed-calls Do you think this issue should be closed? Should I make PR to add info about clock's resolution to asyncio documentation? -- ___ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue31539> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue31539] asyncio.sleep may sleep less time then it should
New submission from Mikhail: Originally faced here: https://stackoverflow.com/q/46306660/1113207 Simple code to reproduce: import asyncio import time async def main(): while True: asyncio.ensure_future(asyncio.sleep(1)) t0 = time.time() await asyncio.sleep(0.1) t1 = time.time() print(t1 - t0) if t1 - t0 < 0.1: print('bug ^') break loop = asyncio.get_event_loop() loop.run_until_complete(main()) I thought that it may be related to event loop's internal clock, but changing time.time() with asyncio.get_event_loop().time() doesn't help. Tested on Windows 10 x64, Python 3.6.2. -- components: asyncio messages: 302671 nosy: germn, yselivanov priority: normal severity: normal status: open title: asyncio.sleep may sleep less time then it should type: behavior versions: Python 3.6 ___ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue31539> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue30345] test_gdb fails on Python 3.6 when built with LTO+PGO
Mikhail added the comment: So, I tried the modified patch (see http://aldan.algebra.com/~mi/tmp/patch-issue30345) -- and now I simply get a different variable name in the error-message: (gdb) py-bt Python Exception Variable 'func' not found.: Error occurred in Python command: Variable 'func' not found. However, the older version of the patch only referenced "func_obj" in test_gdb.py -- not in libpython.py -- so I may have misunderstood Jeremy's suggestion entirely... -- ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue30345> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue30345] test_gdb fails on Python 3.6 when built with LTO+PGO
Mikhail added the comment: The actual stack, which I'm trying to debug, begins like this: #0 0xbfbfd34e in ?? () #1 0x2a9ec81e in ?? () from /opt/lib/qt5/libQt5WebKit.so.5 #2 0x2acf0efe in ?? () from /opt/lib/qt5/libQt5WebKit.so.5 #3 0x2acd8b74 in ?? () from /opt/lib/qt5/libQt5WebKit.so.5 #4 0x2acd5d60 in ?? () from /opt/lib/qt5/libQt5WebKit.so.5 #5 0x2acd87ae in ?? () from /opt/lib/qt5/libQt5WebKit.so.5 #6 0x2a9fe2e3 in QWebFrameAdapter::load(QNetworkRequest const&, QNetworkAccessManager::Operation, QByteArray const&) () from /opt/lib/qt5/libQt5WebKit.so.5 #7 0x2d7a18dd in QWebFrame::setUrl(QUrl const&) () from /opt/lib/qt5/libQt5WebKitWidgets.so.5 #8 0x2d7ad5eb in QWebView::setUrl(QUrl const&) () from /opt/lib/qt5/libQt5WebKitWidgets.so.5 #9 0x2d75efd4 in meth_QWebView_setUrl(_object*, _object*) () from /opt/lib/python3.6/site-packages/PyQt5/QtWebKitWidgets.so #10 0x28125151 in _PyCFunction_FastCallDict () from /opt/lib/libpython3.6m.so.1.0 #11 0x28125326 in _PyCFunction_FastCallKeywords () from /opt/lib/libpython3.6m.so.1.0 #12 0x2819a458 in ?? () from /opt/lib/libpython3.6m.so.1.0 #13 0x28193ab2 in _PyEval_EvalFrameDefault () from /opt/lib/libpython3.6m.so.1.0 #14 0x2819b790 in ?? () from /opt/lib/libpython3.6m.so.1.0 #15 0x2819a425 in ?? () from /opt/lib/libpython3.6m.so.1.0 #16 0x28193ab2 in _PyEval_EvalFrameDefault () from /opt/lib/libpython3.6m.so.1.0 [...] Maybe, it is "too deep" into the native (not Python) code for the feature to work? -- ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue30345> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue30345] test_gdb fails on Python 3.6 when built with LTO+PGO
Mikhail added the comment: I rebuilt my python-3.6.1 with the path (https://github.com/python/cpython/commit/d05f7fdf6cf77724bd3064fb5a0846ef5cfe0c88) and tried debugging again -- same problem: % gdb7121 /opt/bin/python3.6 ... (gdb) r SCRIPT.py Thread 1 received signal SIGSEGV, Segmentation fault. ... (gdb) py-bt Python Exception Variable 'func_obj' not found.: Error occurred in Python command: Variable 'func_obj' not found. -- nosy: +mi ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue30345> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue28865] [MinGW32-x64]-PyList_Check PyDict_Check does not work
Mikhail added the comment: SOLVED: I found a solution. It turned out that on the Windows x64 need to use '-DMS_WIN64' compiler option. Three days wasted. And although no one helped me, I felt that mentally you were with me, guys. Thank you! ;) -- resolution: -> not a bug status: open -> closed ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue28865> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue28865] [MinGW32-x64]-PyList_Check PyDict_Check does not work
Mikhail added the comment: I made a small correction to the project. But the essence has not changed. With Microsoft Visual C++ Build Tools everything is fine. But I would like to use the GCC. -- Added file: http://bugs.python.org/file45755/PyAPITests.zip ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue28865> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue28865] [MinGW32-x64]-PyList_Check PyDict_Check does not work
Changes by Mikhail <smir...@gmail.com>: Removed file: http://bugs.python.org/file45754/PyAPITests.zip ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue28865> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue28865] [MinGW32-x64]-PyList_Check PyDict_Check does not work
Mikhail added the comment: Project included. building output in the console: running build_ext building '_PyAPITests' extension swigging PyAPITests.i to PyAPITests_wrap.c z:\PortableApps\MyApps\Dev\SWIGWin\swigwin-3.0.10\swig.exe -python -py3 -o PyAPITests_wrap.c PyAPITests.i z:\PortableApps\MyApps\Dev\mingw64\x86_64-6.2.0-win32-sjlj-rt_v5-rev1\mingw64\bin\gcc.exe -mdll -O -Wall -IZ:\PortableApps\MyApps\Dev\Python\Anaconda3\include -IZ:\PortableApps\MyApps\Dev\Python\Anaconda3\include -c PyAPITests_wrap.c -o build\temp.win-amd64-3.5\Release\pyapitests_wrap.o -std=c99 z:\PortableApps\MyApps\Dev\mingw64\x86_64-6.2.0-win32-sjlj-rt_v5-rev1\mingw64\bin\gcc.exe -mdll -O -Wall -IZ:\PortableApps\MyApps\Dev\Python\Anaconda3\include -IZ:\PortableApps\MyApps\Dev\Python\Anaconda3\include -c PyAPITests.c -o build\temp.win-amd64-3.5\Release\pyapitests.o -std=c99 writing build\temp.win-amd64-3.5\Release\_PyAPITests.cp35-win_amd64.def z:\PortableApps\MyApps\Dev\mingw64\x86_64-6.2.0-win32-sjlj-rt_v5-rev1\mingw64\bin\gcc.exe -shared -s build\temp.win-amd64-3.5\Release\pyapitests_wrap.o build\temp.win-amd64-3.5\Release\pyapitests.o build\temp.win-amd64-3.5\Release\_PyAPITests.cp35-win_amd64.def -LZ:\PortableApps\MyApps\Dev\Python\Anaconda3\libs -LZ:\PortableApps\MyApps\Dev\Python\Anaconda3\PCbuild\amd64 -lpython35 -lvcruntime140 -o Z:\Projects\AI\PyAPITests\_PyAPITests.cp35-win_amd64.pyd main output: Start TestIteration: 0 tp_name for List: list tp_name for Dict: dict PyType_GetFlags for List: 34362368 PyType_GetFlags for Dict: 537678848 PyList_Size: 0 PyDict_Size: 0 PyMapping_Check for List: 1 PyMapping_Check for Dict: 1 PyList_Check: 0 PyDict_Check: 0 Iterators test for Dict: End iterators test. - TestIteration: 1 tp_name for List: list tp_name for Dict: dict PyType_GetFlags for List: 34362368 PyType_GetFlags for Dict: 537678848 PyList_Size: 1 PyDict_Size: 1 PyMapping_Check for List: 1 PyMapping_Check for Dict: 1 PyList_Check: 0 PyDict_Check: 0 Iterators test for Dict: End iterators test. - TestIteration: 2 tp_name for List: list tp_name for Dict: dict PyType_GetFlags for List: 34362368 PyType_GetFlags for Dict: 537678848 PyList_Size: 2 PyDict_Size: 2 PyMapping_Check for List: 1 PyMapping_Check for Dict: 1 PyList_Check: 0 PyDict_Check: 0 Iterators test for Dict: End iterators test. - ReturnedResult: 3 End -- Added file: http://bugs.python.org/file45754/PyAPITests.zip ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue28865> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue28865] [MinGW32-x64]-PyList_Check PyDict_Check does not work
New submission from Mikhail: Windows 10 x64 Python 3.4, 3.5, Anaconda3 4.2 - x64 SWIG 3.0.8, 3.0.10 MinGW32/64 - TDM-GCC-64 5.1.0-2, x86_64-5.3.0-win32-sjlj-rt_v4-rev0, x86_64-6.2.0-win32-sjlj-rt_v5-rev1 The code in C compiles fine, there are no warnings. But then, in the finished module, do not work C-API functions such as: PyList_Check PyDict_Check PyDict_Next PyObject *result = PyList_New(1); printf("%i \n", PyList_Check(result)); Check always returns zero, even if the object is created in the previous line. But PyMapping_Check works fine -- components: Build, Distutils, Windows messages: 282333 nosy: dstufft, eric.araujo, mifik, paul.moore, steve.dower, tim.golden, zach.ware priority: normal severity: normal status: open title: [MinGW32-x64]-PyList_Check PyDict_Check does not work type: resource usage versions: Python 3.4, Python 3.5 ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue28865> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue27464] Document that SplitResult & friends are namedtuples
New submission from Mikhail Korobov: Docs currently say that urllib.parse.SplitResult is a subclass of tuple, without saying that it is namedtuple. What do you think about documenting it as a namedtuple? It has an useful _replace method which allows to change some part of URL before passing it to urlunsplit. It may also require updating typeshed - I noticed this issue because mypy shows an error when SplitResult._replace is used. -- messages: 269964 nosy: kmike priority: normal severity: normal status: open title: Document that SplitResult & friends are namedtuples ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue27464> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25838] Lib/httplib.py: Resend http request on server close connection
Mikhail Gulyaev added the comment: > Why can’t you do the file rewinding yourself, when you retry the request? Actually I'm not retry to send a request. This behavior I met for httplib library while I'm send a single request, httplib send it to exist connection and then recreates connection on failure and send it again. Maybe this doing tcp socket For GET POST and DELETE I meet the same behavior > if someone wrote code that expects data to be sent from a non-zero file > position. Well in this case I'd prefer to trunkate file before send. -- Added file: http://bugs.python.org/file41285/httplib.pcapng ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25838> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25838] Lib/httplib.py: Resend http request on server close connection
Changes by Mikhail Gulyaev <gmichae...@gmail.com>: Added file: http://bugs.python.org/file41286/Выделение_058.png ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25838> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25838] Lib/httplib.py: Resend http request on server close connection
Changes by Mikhail Gulyaev <gmichae...@gmail.com>: Added file: http://bugs.python.org/file41288/Выделение_061.png ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25838> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25838] Lib/httplib.py: Resend http request on server close connection
Changes by Mikhail Gulyaev <gmichae...@gmail.com>: Added file: http://bugs.python.org/file41287/Выделение_059.png ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25838> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25838] Lib/httplib.py: Resend http request on server close connection
Mikhail Gulyaev added the comment: Thanks for attention -- ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25838> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25838] Lib/httplib.py: Resend http request on server close connection
Mikhail Gulyaev added the comment: You right I found who resend requests! My request is goes through httplb2(which use httplib and resends request on failure), but the issue is that if request body contains file and then that file is read out and on retry there is nothing to read since we already read it in httplib. So what solution could you suggest for me? Is it some patch for httplib2 or totally my own troubles This issue is on border of interacting httplib and httplib2 - httplib sends request and reads out a file - httplib2 resends a request but file is already readed out Will it be honest if we rereads file in httplib2? and could we able assume that readable object(hasattr(data,'read') == True) has also tell and seek methods -- ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25838> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25838] Lib/httplib.py: Resend http request on server close connection
New submission from Mikhail Gulyaev: Hello guys! Recently I recived some strange behavior for sending http requests using httplib My python script uses httplib and interacts with a web server which have a keep-alive timeout 5 seconds. Script makes PUT requests and sends files to server. At first time it works ok. Then after 5 seconds server closes connection. And then I doing second PUT request, that fails in two stages: - HTTPConnection trys to send PUT request to closed socket. - HTTPConnection reconnects to server and sends request again but no file sended. This behavior was checked using wireshark and debug output of httplib. The best solution IMHO would be to checking socket state on each request, and reconnects if needed - but it seems this issue has no unique solution. So I offer a patch which simply rewinds file before sending if needed. hasattr(data,'tell') could be used in checking condition --- diff -r 002d8b981128 Lib/httplib.py --- a/Lib/httplib.pyWed Dec 09 19:44:30 2015 +0200 +++ b/Lib/httplib.pyFri Dec 11 12:59:47 2015 +0600 @@ -865,6 +865,7 @@ blocksize = 8192 if hasattr(data,'read') and not isinstance(data, array): if self.debuglevel > 0: print "sendIng a read()able" +if data.tell() > 0: data.seek(0) # rewind for retry send file datablock = data.read(blocksize) while datablock: self.sock.sendall(datablock) --- -- messages: 256204 nosy: gmixo priority: normal severity: normal status: open title: Lib/httplib.py: Resend http request on server close connection type: enhancement versions: Python 2.7 ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25838> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25838] Lib/httplib.py: Resend http request on server close connection
Changes by Mikhail Gulyaev <gmichae...@gmail.com>: -- keywords: +patch Added file: http://bugs.python.org/file41284/httplib.patch ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25838> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue24769] Interpreter doesn't start when dynamic loading is disabled
Changes by Mikhail Terekhov ter...@gmail.com: -- nosy: +termim ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue24769 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue24871] freeze.py doesn't work on x86_64 Linux out of the box
New submission from Mikhail Terekhov: On 64-bit Linux freeze.py uses lib instead of lib64 when constructing path to Makefile etc. Using sysconfig fixes this issue. Without encodings.ascii resulting program fails with the following error: Fatal Python error: Py_Initialize: Unable to get the locale encoding LookupError: unknown encoding: ANSI_X3.4-1968 Aborted Attached patch fixes both issues. -- components: Demos and Tools files: freeze-lib64.diff keywords: patch messages: 248633 nosy: termim priority: normal severity: normal status: open title: freeze.py doesn't work on x86_64 Linux out of the box versions: Python 3.2, Python 3.3, Python 3.4, Python 3.5 Added file: http://bugs.python.org/file40182/freeze-lib64.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue24871 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22003] BytesIO copy-on-write
Mikhail Korobov added the comment: Shouldn't this fix be mentioned in https://docs.python.org/3.5/whatsnew/3.5.html#optimizations ? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue22003 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22003] BytesIO copy-on-write
Changes by Mikhail Korobov kmik...@gmail.com: -- nosy: +kmike ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue22003 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20972] python34.dll not in System32 or SysWOW64 folders after install python-3.4.0.amd64.msi
Mikhail added the comment: For my successful install, I 1) ran the installer by the classic double-click-the-icon method, 2) installed for all users, 3) gave elevated privileges when it asked, and 4) left all options at default. Yes. And I did so. This is a very strange problem. I tried to install on another PC and everything is normal. X86 version on my machine so the same set perfectly. But the version of x86-64 does not install python34.dll on my machine. I tried to reboot, unloaded many active processes, disable Anti-Virus - nothing helps. I understand that the problem is on my PC, I will try next. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20972 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20972] python34.dll not in System32 or SysWOW64 folders after install python-3.4.0.amd64.msi
Mikhail added the comment: I noticed that after installing the file python34.dll belongs to the owner of the system. While the other files in the system32 folder belonging to the owner of the TrustedInstaller. Possibly this is a problem. My file manager just does not display the file, although running with administrator privileges. If it possible, make sure that the installation packages are customized to create files with a really correct owners and permissions on the file python34.dll. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20972 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20972] python34.dll not in System32 or SysWOW64 folders after install python-3.4.0.amd64.msi
Mikhail added the comment: Yes. I agree. Closed. Sorry for the panic :) -- status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20972 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20972] python34.dll not in System32 or SysWOW64 folders after install python-3.4.0.amd64.msi
New submission from Mikhail: The Windows x86-64 MSI Installer (python-3.4.0.amd64.msi, python-3.3.4.amd64.msi...) does not install python3X.dll in windows\system32 or windows\SysWOW64 folder. I select an option install for all users Windows 7 64 bit (The Windows x86 MSI installer works fine.) -- components: Installation messages: 214002 nosy: mifik priority: normal severity: normal status: open title: python34.dll not in System32 or SysWOW64 folders after install python-3.4.0.amd64.msi versions: Python 3.3, Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20972 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20972] python34.dll not in System32 or SysWOW64 folders after install python-3.4.0.amd64.msi
Mikhail added the comment: Python installation log included. MSI (s) (48:2C) [01:28:13:006]: Executing op: SetTargetFolder(Folder=C:\Windows\system32\) MSI (s) (48:2C) [01:28:13:006]: Executing op: SetSourceFolder(Folder=1\) MSI (s) (48:2C) [01:28:13:006]: Executing op: FileCopy(SourceName=PYTHON34.DLL|python34.dll,SourceCabKey=python34.dll,DestName=python34.dll,Attributes=512,FileSize=4044800,PerTick=65536,,VerifyMedia=1,CheckCRC=0,Version=3.4.150.1013,Language=0,InstallMode=58982400,,,) MSI (s) (48:2C) [01:28:13:007]: File: C:\Windows\system32\python34.dll; To be installed;Won't patch;No existing file MSI (s) (48:2C) [01:28:13:007]: Source for file 'python34.dll' is compressed InstallFiles: File: python34.dll, Directory: C:\Windows\system32\, Size: 4044800 BUT! python34.dll not in C:\Windows\system32\ folder and not in C:\Windows\SysWOW64\ folder. :( -- Added file: http://bugs.python.org/file34498/pythoninstall.log ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20972 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18219] csv.DictWriter is slow when writing files with large number of columns
Mikhail Traskin added the comment: Peter, thank you for letting me know that views work with list, I was not aware of this. This is indeed the best solution and it also keeps the DictWriter interface unchanged. Terry, attached patch contains the DictWriter change and a test case in test_csv.py. -- Added file: http://bugs.python.org/file31570/csvdictwriter.v4.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18219 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18219] csv.DictWriter is slow when writing files with large number of columns
Mikhail Traskin added the comment: What is the purpose in touching fieldnames [...] Wrapping the fieldnames property and tupleizing it guarantees that fieldnames and _fieldset fields are consistent. Otherwise, having a separate _fieldset field means that someone who is modifying the fieldnames field will not modify the _fieldset. This will result in inconsistent DictWriter behavior. Normal DictWriter users (ones that do not modify fieldnames after DictWriter was created) will not notice this wrapper. Non-normal DictWriter will have their code broken, but it is better than having inconsistent internal data structures since these errors are very hard to detect. If you insist on keeping the interface intact, then use the attached v3 of the patch: it creates a fieldset object every time the _dict_to_list method is executed. This does slow execution down, but performance is acceptable, just about 1.5 time slower than version with _fieldset field. wrong_fields could be calculated with [...] I believe it is better to report all wrong fields at ones. In addition this optimization is meaningless, since usually, unless something is wrong, the field check will require full scan of the rowdict. That said, in 3.x, replacing [...] In 2.x the list comprehension version is faster than the set difference version. In 3.x the set difference is slightly faster (maybe 10% faster). However, list comprehension works both in 2.x and 3.x, while set difference requires different code for them. Hence I prefer sticking with list comprehension. Does test/text_cvs have tests [...] No there are no tests for wrong fields. Correct fields are already checked with standard writing tests. I do not know how you write tests for exception handling. If you provide a link with instructions, I can write the missing test part. Also, if you have not done so yet, please go to [...] I have already done this. -- Added file: http://bugs.python.org/file31297/csvdictwriter.v3.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18219 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18473] some objects pickled by Python 3.x are not unpicklable in Python 2.x because of incorrect REVERSE_IMPORT_MAPPING
New submission from Mikhail Korobov: I think REVERSE_IMPORT_MAPPING is wrong (see http://hg.python.org/cpython/file/7272ef213b7c/Lib/_compat_pickle.py#l80 ). It relies on dictionary items order and maps 'collections' module to either UserString or UserList. This makes it impossible to unpickle collections module classes pickled by Python 3.x when using Python 2.x. import collections dct = collections.defaultdict() pickle.dumps(dct, protocol=1) b'cUserString\ndefaultdict\nq\x00)Rq\x01.' pickle.dumps(dct, protocol=2, fix_imports=False) b'ccollections\ndefaultdict\nq\x00)Rq\x01.' I think pickling of instances of classes from other modules could also suffer. I don't think it is a good idea to map io to cStringIO or StringIO, or to map http.server to either BaseHTTPServer, SimpleHTTPServer or CGIHTTPServer. Originally found this issue here: https://github.com/nltk/nltk/pull/441/files#L2R67 -- components: Library (Lib) messages: 193160 nosy: kmike priority: normal severity: normal status: open title: some objects pickled by Python 3.x are not unpicklable in Python 2.x because of incorrect REVERSE_IMPORT_MAPPING versions: Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18473 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18473] some objects pickled by Python 3.x are not unpicklable in Python 2.x because of incorrect REVERSE_IMPORT_MAPPING
Mikhail Korobov added the comment: my copy-paste went wrong, last statement in the example should be pickle.dumps(dct, protocol=1, fix_imports=False) b'ccollections\ndefaultdict\nq\x00)Rq\x01.' -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18473 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18219] csv.DictWriter is slow when writing files with large number of columns
Mikhail Traskin added the comment: Any way is fine with me. If you prefer to avoid having public filedset property, please use the attached patch. -- Added file: http://bugs.python.org/file30605/csvdictwriter.v2.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18219 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18219] csv.DictWriter is slow when writing files with large number of columns
New submission from Mikhail Traskin: _dict_to_list method of the csv.DictWriter objects created with extrasaction=raise uses look-up in the list of field names to check if current row has any unknown fields. This results in O(n^2) execution time and is very slow if there are a lot of columns in a CSV file (in hundreds or thousands). Replacing look-up in a list with a look-up in a set solves the issue (see the attached patch). -- components: Library (Lib) files: csvdictwriter.patch keywords: patch messages: 191197 nosy: mtraskin priority: normal severity: normal status: open title: csv.DictWriter is slow when writing files with large number of columns type: performance Added file: http://bugs.python.org/file30598/csvdictwriter.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18219 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6784] byte/unicode pickle incompatibilities between python2 and python3
Changes by Mikhail Korobov kmik...@gmail.com: -- nosy: +kmike ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6784 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15991] BaseHTTPServer with ThreadingMixIn serving wrong data sometimes
Mikhail Afanasyev added the comment: The bug is not only wget-specific. It was discovered while making APT proxy, so at least Debian APT fetcher has the same problem. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15991 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15991] BaseHTTPServer with ThreadingMixIn serving wrong data sometimes
New submission from Mikhail Afanasyev: When using BaseHTTPServer with ThreadingMixIn, sometimes the wrong data is served. The attached script requests normal URL and URLs which are not found in multiple threads using wget (which only saves pages if it gets 200 OK status). Every once in a while responses are incorrect. - sometimes normal URL gets a '404 not found' content with '200 OK' status. - sometimes, a '404 not found' page gets '200 OK' status code The problems become much, much less frequent if ThreadingMixIn is removed. Python 2.7.3 on ubuntu 12.04 x86_64. -- components: Library (Lib) files: http_server_bug.py messages: 170840 nosy: theamk priority: normal severity: normal status: open title: BaseHTTPServer with ThreadingMixIn serving wrong data sometimes versions: Python 2.7 Added file: http://bugs.python.org/file27237/http_server_bug.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15991 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15027] Faster UTF-32 encoding
Changes by Mikhail Korobov kmik...@gmail.com: -- nosy: +kmike ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15027 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13284] email.utils.formatdate function does not handle timezones correctly.
Mikhail I. Izmestev izmmish...@gmail.com added the comment: I have strange behavior too: im@cgt-serv ~ $ python Python 2.6.6 (r266:84292, Feb 28 2011, 09:01:15) [GCC 4.3.4] on linux2 Type help, copyright, credits or license for more information. from email.Utils import formatdate import time time.strftime(%a, %d %b %Y %T %z) 'Wed, 02 Nov 2011 18:21:08 +0400' formatdate(localtime=True) 'Wed, 02 Nov 2011 18:21:28 +0300' -- nosy: +izmmisha ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13284 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13125] test_all_project_files() expected failure
Mikhail Novikov freikse...@gmail.com added the comment: Updated patch to work properly with verbosity. -- Added file: http://bugs.python.org/file23484/i13125-2.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13125 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13125] test_all_project_files() expected failure
Mikhail Novikov freikse...@gmail.com added the comment: I modified the tests so that they don't do prints to stdout. For that I replaced print with warnings in the ParseError exception except and replaced os.system with subprocess.getoutput. -- keywords: +patch nosy: +freiksenet Added file: http://bugs.python.org/file23440/i13125.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13125 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11895] pybench prep_times calculation error
New submission from Mikhail Terekhov ter...@gmail.com: For some time now my builds of python 3.2 on x86_64 platform in SuSE OBS are failing depending on the phase of the moon. The spec file for the python3-base package uses 'make profile-opt' command to build and Makefile.pre.in uses pybench.py for profile guided optimization. The pybench.py fails sometimes with the '* Internal Error (use --debug to display the traceback)' error. Adding --debug gives 'calibration setup did not work' i.e. some of the self.overhead_times values in the Test.calibrate_test method became negative. It happens for the NestedForLoops test. The source inspection shows that most probably it was forgotten to divide by CALIBRATION_LOOPS when calculating prep_times. The patch against current head is attached, it solves the problem. -- components: Demos and Tools, Installation files: pybench.patch keywords: patch messages: 134192 nosy: termim priority: normal severity: normal status: open title: pybench prep_times calculation error type: crash versions: Python 3.2 Added file: http://bugs.python.org/file21745/pybench.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11895 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11397] os.path.realpath() may produce incorrect results
New submission from Mikhail Kovtun mikhail.kov...@duke.edu: This bug appears in Python 2.4, 2.5, 2.6; not tested in Python 2.7. How to reproduce on Linux: {{{ $ mkdir ~/testsymlinks $ cd ~/testsymlinks $ mkdir adir $ ln -s ../adir adir/blink $ mkdir -p adir/cdir/ddir $ ln -s adir/cdir/ddir/.. xlink $ ln -s xlink/../blink zlink }}} Then: {{{ $ readlink zlink -f /home/user/testsymlinks/adir }}} but: {{{ $ python Python 2.4.3 (#1, Sep 3 2009, 15:37:37) [GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2 Type help, copyright, credits or license for more information. import os.path os.path.realpath('zlink') '/home/user/testsymlinks/blink' }}} -- components: Extension Modules messages: 130060 nosy: mkovtun priority: normal severity: normal status: open title: os.path.realpath() may produce incorrect results type: behavior versions: Python 2.5, Python 2.6 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11397 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7639] bdist_msi fails on files with long names
New submission from Mikhail Terekhov ter...@gmail.com: When I try to build msi installer for my module that contains files with long names it crashes with the following traceback C:\home\python\dist_msi_bugpython setup.py bdist_msi running bdist_msi running build running build_scripts installing to build\bdist.win32\msi running install_scripts running install_data running install_egg_info Removing build\bdist.win32\msi\Lib\site-packages\hello-0.1-py2.6.egg-info Writing build\bdist.win32\msi\Lib\site-packages\hello-0.1-py2.6.egg-info Traceback (most recent call last): File setup.py, line 8, in module data_files = [(., [data.seq.one.dat, data.seq.two.dat])], File c:\python26\lib\distutils\core.py, line 152, in setup dist.run_commands() File c:\python26\lib\distutils\dist.py, line 975, in run_commands self.run_command(cmd) File c:\python26\lib\distutils\dist.py, line 995, in run_command cmd_obj.run() File c:\python26\lib\distutils\command\bdist_msi.py, line 242, in run self.add_files() File c:\python26\lib\distutils\command\bdist_msi.py, line 270, in add_files key = dir.add_file(file) File c:\python26\lib\msilib\__init__.py, line 340, in add_file short = self.make_short(file) File c:\python26\lib\msilib\__init__.py, line 299, in make_short assert file not in self.short_names AssertionError It seems that Directory.make_short fails to create unique short names in some cases. The test files are attached. -- components: Windows files: dist_msi_bug.zip messages: 97271 nosy: mmm77 severity: normal status: open title: bdist_msi fails on files with long names type: crash versions: Python 2.6 Added file: http://bugs.python.org/file15747/dist_msi_bug.zip ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7639 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5336] collections.namedtuple generates code causing PyChecker warnings
New submission from Mikhail Bessonov za...@mail.ru: The first argument of some methods generated by collections.namedtuple differs from 'self'. It upsets a number of code checkers, notably PyChecker, because in most cases it is indeed an error. As a result, the code using collections.namedtuple does not pass PyChecker, which is a commit or release requirement in many projects. The solution would be to rename the first argument of each method to 'self'. A sample 2-line program demonstrating the error is provided below. import collections DocRecord = collections.namedtuple('DocRecord', 'id, date, name, desc', verbose = True) Here's the PyChecker output. Methods that cause trouble are 'def _asdict (t):', etc. E:\src\mini-crawlerE:\Python26\python.exe E:\Python26\Lib\site-packages \pychecker\checker.py test.py class DocRecord(tuple): 'DocRecord(id, date, name, desc)' __slots__ = () _fields = ('id', 'date', 'name', 'desc') def __new__(cls, id, date, name, desc): return tuple.__new__(cls, (id, date, name, desc)) @classmethod def _make(cls, iterable, new=tuple.__new__, len=len): 'Make a new DocRecord object from a sequence or iterable' result = new(cls, iterable) if len(result) != 4: raise TypeError('Expected 4 arguments, got %d' % len (result)) return result def __repr__(self): return 'DocRecord(id=%r, date=%r, name=%r, desc=%r)' % self def _asdict(t): 'Return a new dict which maps field names to their values' return {'id': t[0], 'date': t[1], 'name': t[2], 'desc': t [3]} def _replace(self, **kwds): 'Return a new DocRecord object replacing specified fields with new values' result = self._make(map(kwds.pop, ('id', 'date', 'name', 'desc'), self)) if kwds: raise ValueError('Got unexpected field names: %r' % kwds.keys()) return result def __getnewargs__(self): return tuple(self) id = property(itemgetter(0)) date = property(itemgetter(1)) name = property(itemgetter(2)) desc = property(itemgetter(3)) Warnings... string:22: self is not first method argument -- components: Library (Lib) messages: 82562 nosy: mbessonov severity: normal status: open title: collections.namedtuple generates code causing PyChecker warnings type: behavior versions: Python 2.6 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5336 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4270] struct module: pack/unpack and byte order on x86_64
New submission from Mikhail Terekhov [EMAIL PROTECTED]: pack/unpack behavior changes unexpectedly depending on the byte order: l:/tmp uname -pmiovs Linux #1 SMP 2008-10-14 22:17:43 +0200 x86_64 x86_64 x86_64 GNU/Linux l:/tmp python python Python 2.5.1 (r251:54863, Aug 1 2008, 00:35:20) [GCC 4.2.1 (SUSE Linux)] on linux2 Type help, copyright, credits or license for more information. import struct import struct struct.pack(L,0xdeadbeef) struct.pack(L,0xdeadbeef) '\xde\xad\xbe\xef' struct.pack(L,0xdeadbeef) struct.pack(L,0xdeadbeef) '\xef\xbe\xad\xde\x00\x00\x00\x00' struct.pack(L,0xdeadbeef) struct.pack(L,0xdeadbeef) '\xef\xbe\xad\xde' The length of the result above is 8 when no byte order is specified and 4 when it is. Another example: struct.pack(L,0xdeadbeef) '\x00\x00\x00\x00\xef\xbe\xad\xde' struct.pack(L,0xdeadbeef) '\x00\x00\x00\x00' struct.pack(!L,0xdeadbeef) '\x00\x00\x00\x00' struct.pack(!L,0x12345678deadbeef) '\xde\xad\xbe\xef' struct.pack(L,0x12345678deadbeef) '\xef\xbe\xad\xdexV4\x12' Last results look strange. -- components: Library (Lib) messages: 75569 nosy: mmm77 severity: normal status: open title: struct module: pack/unpack and byte order on x86_64 type: behavior versions: Python 2.5 ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue4270 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4102] sphinx: ansi color even on dumb terminal
New submission from Mikhail Gusarov [EMAIL PROTECTED]: Debian bug #501629 (http://bugs.debian.org/cgi-bin/bugreport.cgi? bug=501629). Both sphinx-build and sphinx-quicksetup attempt (and fail) to use ansi color sequences, even when TERM=dumb (for example, when run from an emacs shell buffer, or m-x compile. This produces garbage, like this: ^[[01mSphinx v0.4.2, building linkcheck^[[39;49;00m While it does look like I can add -N in the generated Makefile, and thus this is only a wishlist item since I have a workaround - it really shouldn't generate color unless it has *some* indication that it might work - even mooching off of $LSCOLORS would be better than doing it blindly, though it should be enough to look at a TERM or TERMCAP property - or perhaps indirectly via curses.has_colors() which does appear to be able to tell xterm from dumb successfully. -- messages: 74644 nosy: dottedmag severity: normal status: open title: sphinx: ansi color even on dumb terminal ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue4102 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4103] sphinx: latexwriter uses undefined 'excdescni' environment
New submission from Mikhail Gusarov [EMAIL PROTECTED]: Debian bug#501763 (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=501763): when using the autodoc extension similiar to this template: .. automodule:: mvpa.misc.exceptions :members: :undoc-members: :show-inheritance: :noindex: the generated latex code cannot be compiled, as it uses an undefined environment. ! LaTeX Error: Environment excdescni undefined. This is supposed to be the corresponding env to 'excdesc' for exception descriptions that should not end up in the index. It looks like this has simply been forgotten, as e.g. funcdescni is part of texinputs/sphinx.sty Looking at http://svn.python.org/projects/doctools/trunk/sphinx/texinputs/ sphinx.sty I'd say, that the problem is still present in the current SVN trunk. -- assignee: georg.brandl components: Documentation messages: 74646 nosy: dottedmag, georg.brandl severity: normal status: open title: sphinx: latexwriter uses undefined 'excdescni' environment type: behavior ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue4103 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue460474] codecs.StreamWriter: reset() on close()
Mikhail Zabaluev added the comment: Wow, it's exciting to receive followups 6+ years after filing the bug. Could you come up with a patch ? No, I don't do much Python development these days. Tracker [EMAIL PROTECTED] http://bugs.python.org/issue460474 ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com