Re: Oh gods can we get any more off-topic *wink* [was Re: [Python-ideas] Inconsistencies]

2016-09-16 Thread Gregory Ewing

Marko Rauhamaa wrote:

It is actually quite interesting how the brain forms an accurate idea of
a straight line and, say, a circle. Whenever you get a new pair of
glasses, the brain needs a recalibration and manages to do it within a
week.


I had an interesting experience in that area a few years
ago. One of the entries in the PyWeek[1] game programming
competition was a platform game set on the inside of a
circular world. You saw a small part of the world at
a time side-on, with the ground curving up slightly
to the left and right.

After playing for a while, my brain must have trained
itself to see the curved ground as straight, because
when I looked away, all horizontal straight lines
looked like they were curved *downwards* slightly!

[1] A competition for Python-based games, so getting
a bit closer to being back on-topic.

--
Greg
--
https://mail.python.org/mailman/listinfo/python-list


[issue28178] allow to cache_clear(some_key) in lru_cache

2016-09-16 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

Method with name clear() usually removes all content. It would be better to use 
different name: remove() or invalidate() (is there a precedence in other 
caches?).

--
nosy: +ncoghlan, rhettinger, serhiy.storchaka
versions: +Python 3.7

___
Python tracker 

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



[issue28179] Segfault in test_recursionlimit_fatalerror

2016-09-16 Thread Berker Peksag

New submission from Berker Peksag:

This is a follow-up from msg275748 in issue 27213 (Rework CALL_FUNCTION* 
opcodes). I believe the test_runpy failure I mentioned there is also the same 
error, but this one can be reproduced easily.

test_recursionlimit_fatalerror in SysModuleTest (Lib/test/test_sys.py) 
segfaults on Ubuntu 12.04 (64-bit) with GCC 4.6.3. I compiled Python with the 
following commands:

$ make distclean
$ ./configure --with-pydebug
$ make -s -j

To reproduce it, run (adapted from the test)

import sys

def f():
try:
f()
except RecursionError:
f()

sys.setrecursionlimit(10)

f()

I tried with different values like 50, 10, 1000 and the behavior is same.

In case it helps, here is the start of the backtrace:

#2  0x004242fa in Py_FatalError (msg=0x6e0990 "Cannot recover from 
stack overflow.") at Python/pylifecycle.c:1457
#3  0x005b6bf8 in _Py_CheckRecursiveCall (where=0x6ac0c8 " while 
calling a Python object") at Python/ceval.c:651
#4  0x0045d701 in _PyObject_FastCallDict (func=, args=0x0, nargs=0, 
kwargs=0x0) at Objects/abstract.c:2292
#5  0x0045e4e9 in callmethod (func=, format=0x0, 
va=0x7ff36eb0, is_size_t=0) at Objects/abstract.c:2569
#6  0x0045e872 in _PyObject_CallMethodId (o=<_io.TextIOWrapper at 
remote 0x76607580>, name=0x94c030, format=0x0) at Objects/abstract.c:2626
#7  0x00421ceb in flush_std_files () at Python/pylifecycle.c:515
#8  0x004242f2 in Py_FatalError (msg=0x6e0990 "Cannot recover from 
stack overflow.") at Python/pylifecycle.c:1436
#9  0x005b6bf8 in _Py_CheckRecursiveCall (where=0x6e09db "") at 
Python/ceval.c:651
#10 0x005b6f3c in _PyEval_EvalFrameDefault (f=Frame 0xabf4a8, for file 
a.py, line 3, in f (), throwflag=0) at Python/ceval.c:1003
#11 0x005b6d88 in PyEval_EvalFrameEx (f=Frame 0xabf4a8, for file a.py, 
line 3, in f (), throwflag=0) at Python/ceval.c:718
Python Exception  There is no member named dk_entries.:
#12 0x005d4b85 in _PyFunction_FastCall (co=0x765731c0, 
args=0xabf3e8, nargs=0, globals=) at Python/ceval.c:4845
#13 0x005d4d7a in fast_function (func=, stack=0xabf3e8, nargs=0, kwnames=0x0) at Python/ceval.c:4880
#14 0x005d4841 in call_function (pp_stack=0x7ff39030, oparg=0, 
kwnames=0x0) at Python/ceval.c:4784
#15 0x005cc464 in _PyEval_EvalFrameDefault (f=Frame 0xabf258, for file 
a.py, line 5, in f (), throwflag=0) at Python/ceval.c:3250
#16 0x005b6d88 in PyEval_EvalFrameEx (f=Frame 0xabf258, for file a.py, 
line 5, in f (), throwflag=0) at Python/ceval.c:718
Python Exception  There is no member named dk_entries.: 
#17 0x005d4b85 in _PyFunction_FastCall (co=0x765731c0, 
args=0xabf198, nargs=0, globals=) at Python/ceval.c:4845
#18 0x005d4d7a in fast_function (func=, stack=0xabf198, nargs=0, kwnames=0x0) at Python/ceval.c:4880
#19 0x005d4841 in call_function (pp_stack=0x7ff3afa0, oparg=0, 
kwnames=0x0) at Python/ceval.c:4784
#20 0x005cc464 in _PyEval_EvalFrameDefault (f=Frame 0xabf008, for file 
a.py, line 5, in f (), throwflag=0) at Python/ceval.c:3250
#21 0x005b6d88 in PyEval_EvalFrameEx (f=Frame 0xabf008, for file a.py, 
line 5, in f (), throwflag=0) at Python/ceval.c:718

--
components: Interpreter Core
messages: 276686
nosy: berker.peksag, haypo, serhiy.storchaka
priority: normal
severity: normal
stage: needs patch
status: open
title: Segfault in test_recursionlimit_fatalerror
type: crash
versions: Python 3.6, Python 3.7

___
Python tracker 

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



[issue28139] Misleading Indentation in C source code

2016-09-16 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

In general LGTM. This is not cosmetic change, this fixes readability of the 
sources. But I left few comments on Rietveld.

--
assignee:  -> martin.panter
nosy: +serhiy.storchaka

___
Python tracker 

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



[issue26050] Add new StreamReader.readuntil() method

2016-09-16 Thread Марк Коренберг

Марк Коренберг added the comment:

It needs to compare python functoin(s) docstrings with  separate documentation. 
All information from docstrings should also be written in separate docs. Will 
compare later.

--

___
Python tracker 

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



[issue27348] traceback (and threading) drops exception message

2016-09-16 Thread STINNER Victor

STINNER Victor added the comment:

"Issue #27348: In the traceback module, restore the formatting of exception 
messages like "Exception: None".  This fixes a regression introduced in 3.5a2."

Humn, if it is described as a regression, it means that it's a bug no? You plan 
to push the change into Python 3.5, 3.6 and 3.7, right?

none-message.patch: LGTM.

--

___
Python tracker 

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



Re: how to automate java application in window using python

2016-09-16 Thread meInvent bbird
On Friday, September 16, 2016 at 2:26:47 AM UTC+8, bream...@gmail.com wrote:
> On Thursday, September 15, 2016 at 8:13:05 AM UTC+1, meInvent bbird wrote:
> > how to automate java application in window using python
> > 
> > 1. scroll up or down of scroll bar
> > 2. click button
> > 3. type text in textbox
> 
> Please read this http://www.catb.org/esr/faqs/smart-questions.html and then 
> this http://sscce.org/ and then rephrase your post.
> 
> Kindest regards.
> 
> Mark Lawrence.

i find this, but it is not python, it is a product

http://sqa.stackexchange.com/questions/18134/python-based-test-automation-tools-for-desktop-applications
-- 
https://mail.python.org/mailman/listinfo/python-list


[issue28123] _PyDict_GetItem_KnownHash ignores DKIX_ERROR return

2016-09-16 Thread Xiang Zhang

Xiang Zhang added the comment:

Yes, ignoring exceptions is due to historical reasons. Although it's used 
rarely but I am still afraid changing it may break knowledge of devs that are 
already familiar with dict APIs. And what's more is there already exists two 
versions of getitem, one version with no exceptions and one version propagates 
exceptions (witherror), maybe we can also introduce a 
_PyDict_GetItem_KnownHashWithError?

--

___
Python tracker 

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



how to robot recognize basic geometric object in window or ubuntu window

2016-09-16 Thread meInvent bbird
i am doing a robot to automate window itself with python 

i give some basic png diagram such as square, circle, triangle
and hope it recognize all kinds of square like things in window 
such as textbox of notepad etc

how a robot recognize basic geometric object in window or ubuntu window

i use cv2 template matching method 
and then draw black square or rectangle as a template

however, it can recognize the size of template only

and recognize not a square diagram from capture screen

then i try a black ground and white line of square, it recognize a File in menu

i feel that it need to try all kinds of color, and size in order to recognize
similar object in screen capture diagram

how do a robot recognize many color and size in seconds?
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: how to automate java application in window using python

2016-09-16 Thread meInvent bbird
On Thursday, September 15, 2016 at 3:52:41 PM UTC+8, Lawrence D’Oliveiro wrote:
> On Thursday, September 15, 2016 at 7:13:05 PM UTC+12, meInvent bbird wrote:
> > how to automate java application in window using python
> > 
> > 1. scroll up or down of scroll bar
> > 2. click button
> > 3. type text in textbox
> 
> Well, don’t leave us in suspense! Give us the link to your blog post!

i do not have blog post, 

search nothing about this in google, 

is it possible to automate java application with python?
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: how to automate java application in window using python

2016-09-16 Thread Lawrence D’Oliveiro
On Friday, September 16, 2016 at 6:55:07 PM UTC+12, meInvent bbird wrote:
> On Thursday, September 15, 2016 at 3:52:41 PM UTC+8, Lawrence D’Oliveiro
> wrote:
>> On Thursday, September 15, 2016 at 7:13:05 PM UTC+12, meInvent bbird
>> wrote:
>>> how to automate java application in window using python
>>> 
>>> 1. scroll up or down of scroll bar
>>> 2. click button
>>> 3. type text in textbox
>> 
>> Well, don’t leave us in suspense! Give us the link to your blog post!
> 
> i do not have blog post, 

Oh, now you make us sad. I thought you were promoting a blog post where you 
tell us “how to automate java application in window using python” using just 3 
steps! But it turns out you have nothing. You are an empty promiser.
-- 
https://mail.python.org/mailman/listinfo/python-list


[issue28178] allow to cache_clear(some_key) in lru_cache

2016-09-16 Thread Sébastien de Menten

New submission from Sébastien de Menten:

It would be useful to be able to clear a single item in the cache of a 
lru_cache decorated function.

Currently with:

@lru_cache
def foo(i):
  return i*2
foo(1)# -> add 1 as key in the cache
foo(2)# -> add 2 as key in the cache
foo.clear_cache() # -> this clears the whole cache
foo.clear_cache(1) # -> this would clear the cache entry for 1

--
components: Library (Lib)
messages: 276680
nosy: Sébastien de Menten
priority: normal
severity: normal
status: open
title: allow to cache_clear(some_key) in lru_cache
type: enhancement

___
Python tracker 

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



Re: Requests for webbrowser module

2016-09-16 Thread Jamie Ansell
Thanks for your help, I realise that what I wanted was chromes default new
tab page, not a blank page. 'about:blank' worked fine but it wasn't what I
wanted sorry. I'll try the CTRL+4 later and see it that works.

On 14 Sep 2016 21:11, "John Gordon"  wrote:

> In  Jamie <
> ja9...@my.bristol.ac.uk> writes:
>
> > I am not sure if this is an intended consequence but when using the
> > webbrowser module to open a new blank browser tab in chrome it opens it
> > in a new browser window instead of using the current window. Providing
>
> There is an internal setting within Chrome that controls whether new pages
> are opened in a new tab or a new window.  Perhaps that is your issue?
>
> --
> John Gordon   A is for Amy, who fell down the stairs
> gor...@panix.com  B is for Basil, assaulted by bears
> -- Edward Gorey, "The Gashlycrumb Tinies"
>
> --
> https://mail.python.org/mailman/listinfo/python-list
>
-- 
https://mail.python.org/mailman/listinfo/python-list


[issue27415] regression: BaseEventLoop.create_server does not accept port=None

2016-09-16 Thread Berker Peksag

Berker Peksag added the comment:

3.4 is in security-fix-only mode so it doesn't get bugfix updates anymore.

--
nosy: +berker.peksag
resolution:  -> out of date
status: open -> closed
versions: +Python 3.5

___
Python tracker 

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



[issue27415] regression: BaseEventLoop.create_server does not accept port=None

2016-09-16 Thread Marcus Cobden

Marcus Cobden added the comment:

Ah thanks, that's fair.
It seems a shame since this regression was introduced to 3.4 by a 
security/bugfix release.
Since there's a workaround it's not a big deal.

--

___
Python tracker 

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



[issue28180] sys.getfilesystemencoding() should default to utf-8

2016-09-16 Thread Jan Niklas Hasse

New submission from Jan Niklas Hasse:

Working with Docker I often end up with an environment where the locale isn't 
correctly set. In these cases it would be great if sys.getfilesystemencoding() 
could default to 'utf-8' instead of 'ascii', as it's the encoding of the future 
and ascii is a subset of it anyway.

Related: http://bugs.python.org/issue19846

--
components: Unicode
messages: 276693
nosy: Jan Niklas Hasse, ezio.melotti, haypo
priority: normal
severity: normal
status: open
title: sys.getfilesystemencoding() should default to utf-8
type: behavior
versions: Python 3.5

___
Python tracker 

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



[issue27391] server_hostname should only be required when checking host names

2016-09-16 Thread Christian Heimes

Christian Heimes added the comment:

You are still ignoring my remarks about TLS SNI. :)

Python uses server_hostname for two different but related parts of the TLS/SSL.

1) When server_hostname is set, the client sends the hostname to the server 
during the TLS handshake in the ClientHello message. [1] Without a TLS SNI 
extension your client may talk to the wrong service. TLS SNI not limited to 
HTTPS, although HTTPS virtual hosting is the biggest user of SNI. You should 
only omit the argument if you directly connect to an IP address.

2) Python uses server_hostname to verify that the certificate matches the 
hostname. Hostname matching can be disabled with a custom SSLContext that has 
check hostname disabled.
[1] https://en.wikipedia.org/wiki/Server_Name_Indication

server_hostname='' should not bypass hostname verification. That's a bug.

--

___
Python tracker 

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



Re: Expected type 'optional[bytes]' got 'str' instead

2016-09-16 Thread Peter Otten
> Daiyue Weng wrote:

[Please answer to the mailing list instead of sending private emails]

> On 13 September 2016 at 12:37, Peter Otten <__pete...@web.de> wrote:
>> Daiyue Weng wrote:
>>> Hi, I have the following piece of code,
>>> 
>>> rootPath = os.path.abspath(__file__)
>>> 
>>> rootPath = (rootPath.rsplit('\\', 1)[0]).rsplit('\\', 1)[0]
>>> 
>>> 
>>> PyCharm inspection gave me warning on argument '\\' of the 2nd rsplit,
>>> 
>>> Expected type 'optional[bytes]' got 'str' instead
>>> 
>>> 
>>> If I changed it to,
>>> 
>>> rootPath = (rootPath.rsplit('\\', 1)[0]).rsplit(b'\\', 1)[0]
>>> 
>>> Python game me errors,
>>> 
>>> TypeError: Can't convert 'bytes' object to str implicitly
>>> 
>>> How to fix it?
>> 
>> Do you use Python 2 or 3?
>> 
>> Is your version the one PyCharm expects and supports? If yes, consider
>> filing a bug report (for PyCharm, not Python).
>> 
>> You should of course still follow Chris' advice and use os.path to
>> manipulate file paths.

> Hi, I am using Python 3.5.1 on PyCharm. Is it a bug in PyCharm?

I think it is.

-- 
https://mail.python.org/mailman/listinfo/python-list


[issue27348] traceback (and threading) drops exception message

2016-09-16 Thread Martin Panter

Martin Panter added the comment:

Yes, a bug fix for 3.5+.

--

___
Python tracker 

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



[issue28134] socket.socket(fileno=fd) does not work as documented

2016-09-16 Thread Christian Heimes

Christian Heimes added the comment:

How about we fix the code and only document the limitations instead? :) After 
all it works fine on Windows and it is documented to work on all operating 
systems. Since it's a bug we can fix it in 3.5, too.

My patch implements a best-effort to get type, family and proto from the 
socket. It ignores any errors.

--
keywords: +patch
Added file: http://bugs.python.org/file44687/sock_initobj_types.patch

___
Python tracker 

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



[issue28179] Segfault in test_recursionlimit_fatalerror

2016-09-16 Thread Berker Peksag

Changes by Berker Peksag :


Added file: http://bugs.python.org/file44688/full_output.txt

___
Python tracker 

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



[issue25270] codecs.escape_encode systemerror on empty byte string

2016-09-16 Thread Berker Peksag

Berker Peksag added the comment:

Here is an updated patch.

--
versions: +Python 3.7
Added file: http://bugs.python.org/file44689/issue25270_v2.diff

___
Python tracker 

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



[issue27415] regression: BaseEventLoop.create_server does not accept port=None

2016-09-16 Thread Marcus Cobden

Marcus Cobden added the comment:

Still doesn't work in Python 3.4.5; I can confirm it's fixed in Python 3.5.2.

--
resolution: works for me -> 
status: closed -> open
versions:  -Python 3.5

___
Python tracker 

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



Re: how to automate java application in window using python

2016-09-16 Thread Christian Gollwitzer

Am 16.09.16 um 09:01 schrieb Lawrence D’Oliveiro:

On Friday, September 16, 2016 at 6:55:07 PM UTC+12, meInvent bbird
wrote:

On Thursday, September 15, 2016 at 3:52:41 PM UTC+8, Lawrence
D’Oliveiro wrote:

On Thursday, September 15, 2016 at 7:13:05 PM UTC+12, meInvent
bbird wrote:

how to automate java application in window using python

1. scroll up or down of scroll bar 2. click button 3. type text
in textbox


Well, don’t leave us in suspense! Give us the link to your blog
post!


i do not have blog post,


Oh, now you make us sad. I thought you were promoting a blog post
where you tell us “how to automate java application in window using
python” using just 3 steps! But it turns out you have nothing. You
are an empty promiser.


You are being mean. It is quite evident that English is not his first 
language, and highly probable that this was actually the question "How 
do I automate a Java application using Python?"


I don't have a real answer myself, but maybe using Jython one can get 
access to the Java objects underlying the application (and then, of 
course, execute methods of the GUI objects). This depends on the GUI 
toolkit (Swing/SWT) and knowledge of the applications' structure, of 
course. Another (less robust) way of desktop automation is Sikuli 
http://www.sikuli.org/ (Windows only, I think)


Christian

--
https://mail.python.org/mailman/listinfo/python-list


Find Nested group in LDAP by this i mean group in group

2016-09-16 Thread Robert Clove
Hi,

I was looking for search query in LDAP for nested group memebership.
It would be great if someone can provide the python code for the same.

Regards
-- 
https://mail.python.org/mailman/listinfo/python-list


[issue27761] Private _nth_root function loses accuracy

2016-09-16 Thread Mark Dickinson

Mark Dickinson added the comment:

> Mark, the code I showed in roots.py is somewhat more accurate and highly 
> significantly faster than the code you just posted.

Okay, fair enough. In that case, we still need a solution for computing rootn(x 
* 2**e) in the case where x*2**e itself overflows / underflows an IEEE 754 
float.

--

___
Python tracker 

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



[issue16700] Document that bytes OS API can returns unusable results on Windows

2016-09-16 Thread Mark Lawrence

Changes by Mark Lawrence :


--
nosy:  -BreamoreBoy

___
Python tracker 

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



[issue28183] Clean up and speed up dict iteration

2016-09-16 Thread Serhiy Storchaka

New submission from Serhiy Storchaka:

In some circumstances iterating dict under 3.6 can be 20% slower than under 3.5.

$ ./python -m perf timeit -s "d = dict.fromkeys(range(10**6))" -- "list(d)"

Python 3.5: Median +- std dev: 33.8 ms +- 0.7 ms
Python 3.6: Median +- std dev: 37.8 ms +- 0.5 ms

Seems this is compiler and platform specific, it is reproducible only with GCC 
on 32 bit.
 
Proposed patch restores 3.5 performance and simplifies the code.

Python 3.6 patched: Median +- std dev: 33.7 ms +- 0.7 ms

Other types of iteration:

$ ./python -m perf timeit -s "d = dict.fromkeys(range(10**6)); v = d.values()" 
-- "list(v)"
Python 3.5:Median +- std dev: 26.2 ms +- 0.7 ms
Python 3.6 unpatched:  Median +- std dev: 28.0 ms +- 0.6 ms
Python 3.6 patched:Median +- std dev: 26.3 ms +- 1.1 ms

$ ./python -m perf timeit -s "d = dict.fromkeys(range(10**6)); v = d.items()" 
-- "list(v)"
Python 3.5:Median +- std dev: 232 ms +- 6 ms
Python 3.6 unpatched:  Median +- std dev: 259 ms +- 6 ms
Python 3.6 patched:Median +- std dev: 243 ms +- 9 ms

_PyDict_Next():
$ ./python -m perf timeit -s "d = dict.fromkeys(range(10**6))" -- "set(d)"
Python 3.5:Median +- std dev: 68.3 ms +- 1.8 ms
Python 3.6 unpatched:  Median +- std dev: 68.1 ms +- 2.5 ms
Python 3.6 patched:Median +- std dev: 66.0 ms +- 1.2 ms

PyDict_Next():
$ ./python -m perf timeit -s "from _testcapi import test_dict_iteration as t" 
-- "t()"
Python 3.5:Median +- std dev: 3.31 ms +- 0.10 ms
Python 3.6 unpatched:  Median +- std dev: 3.51 ms +- 0.09 ms
Python 3.6 patched:Median +- std dev: 3.43 ms +- 0.09 ms

--
components: Interpreter Core
files: dict_iter.patch
keywords: patch
messages: 276755
nosy: haypo, ned.deily, rhettinger, serhiy.storchaka
priority: normal
severity: normal
status: open
title: Clean up and speed up dict iteration
type: performance
versions: Python 3.6, Python 3.7
Added file: http://bugs.python.org/file44697/dict_iter.patch

___
Python tracker 

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



[issue27761] Private _nth_root function loses accuracy

2016-09-16 Thread Tim Peters

Tim Peters added the comment:

Oops!  The `D2**e` in that code should be `pow(D2, e)`, to make it use the 
correct decimal context.

--

___
Python tracker 

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



[issue16700] Document that bytes OS API can returns unusable results on Windows

2016-09-16 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

Maybe this issue is outdated in 3.6 (thanks to PEP 529), but this still is a 
problem under 3.5 and 2.7.

--
status: closed -> open
versions: +Python 3.5 -Python 3.3, Python 3.4

___
Python tracker 

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



Re: why this code loop forever after a draw a rectangle

2016-09-16 Thread Gary Herron

On 09/16/2016 05:18 AM, meInvent bbird wrote:

i follow this post to give some time it to operate,
wait a long time still looping

http://answers.opencv.org/question/60094/libpng-warning-image-width-is-zero-in-ihdr/


i can not stand this Ninja coding life any more,
i have to open my code for ask this error


import cv2
import numpy as np
#from matplotlib import pyplot as plt
import time

#print("1=" + str(int(sys.argv[1])))
#print("2=" + str(int(sys.argv[2])))
#print("3=" + str(int(sys.argv[3])))

img_rgb = cv2.imread(r'C:\Users\martin\Documents\scree2.png')
img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
template = cv2.imread(r'C:\Users\martin\Documents\dragob.png',0)
w, h = template.shape[::-1]

res = cv2.matchTemplate(img_gray,template,cv2.TM_CCOEFF_NORMED)
threshold = 0.64
 
loc = np.where( res >= threshold)

pt = [(0,0)]
 
while not zip(*loc[::-1]):

 threshold = threshold - 0.02
 loc = np.where( res >= threshold)

counter = 1
print("threshold="+str(threshold))
for pt2 in zip(*loc[::-1]):
 cv2.rectangle(img_rgb, pt2, (pt2[0] + w, pt2[1] + h), (0,0,255), 2)
 pt = pt2
 crop_img = img_rgb[pt[1]:(pt[1]+h), pt[0]:(pt[0]+w)]
 counter = counter + 1

cv2.imwrite("C:\\Users\\tester\\Documents\\res.png",crop_img)


#import cv2
#winName = "Movement Indicator"
#cv2.namedWindow(winName, cv2.WINDOW_NORMAL)
img = cv2.imread(r'C:\Users\tester\Documents\res.png',1)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
height, width = gray.shape
edges = cv2.Canny(gray,height,width,apertureSize = 3)
#edges = cv2.Canny(gray,30,200)

#gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
#ret,thresh = 
cv2.threshold(edges.copy(),cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE,0)
ret,thresh = cv2.threshold(edges,250,150,0)
contours,hierarchy = cv2.findContours(thresh, 1, 2)
#contours = sorted(contours, key = cv2.contourArea, reverse = True)[:10]

im = img.copy()
cntcounter = 0
for cnt in contours:
 epsilon = 0.1*cv2.arcLength(cnt,True)
 approx = cv2.approxPolyDP(cnt,epsilon,True)
 #peri = cv2.arcLength(cnt, True)
 #approx = cv2.approxPolyDP(c, 0.5 * peri, True)
 #print("len(approx)="+str(len(approx)))
 if len(approx) == 4:
 print("approx=" + str(approx))
 cntcounter = cntcounter + 1
 print("here1")
 x,y,w,h = cv2.boundingRect(cnt)
 print("here2")
 #im = img.copy()
 while im is None:
 time.sleep(1)
 if im is not None:
 print("here3")
 im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), (0,255,0), 2)
 
#cv2.imwrite("C:\\Users\\martin\\Documents\\masda"+str(cntcounter)+".png",imi)
 #im = cv2.line(im,(x,y),(x+w,y),(0,255,0),2)
 #im = cv2.line(im,(x+w,y),(x+w,y+h),(0,255,0),2)
 #im = cv2.line(im,(x,y+h),(x+w,y+h),(0,255,0),2)
 #im = cv2.line(im,(x,y),(x,y+h),(0,255,0),2)








On Friday, September 16, 2016 at 7:34:04 PM UTC+8, Waffle wrote:

On 16 September 2016 at 14:24, meInvent bbird  wrote:

im = img.copy()
cntcounter = 0
for cnt in contours:
 epsilon = 0.1*cv2.arcLength(cnt,True)
 approx = cv2.approxPolyDP(cnt,epsilon,True)
 #peri = cv2.arcLength(cnt, True)
 #approx = cv2.approxPolyDP(c, 0.5 * peri, True)
 #print("len(approx)="+str(len(approx)))
 if len(approx) == 4:
 print("approx=" + str(approx))
 cntcounter = cntcounter + 1
 print("here1")
 x,y,w,h = cv2.boundingRect(cnt)
 print("here2")
 while im is None:
 time.sleep(1)
 if im is not None:
 print("here3")
 im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), (0,255,0), 2)
 #im = cv2.line(im,(x,y),(x+w,y),(0,255,0),2)
 #im = cv2.line(im,(x+w,y),(x+w,y+h),(0,255,0),2)
 #im = cv2.line(im,(x,y+h),(x+w,y+h),(0,255,0),2)
 #im = cv2.line(im,(x,y),(x,y+h),(0,255,0),2)


cv2.imwrite(r'C:\Users\tester\Documents\masda.png',im)
--
https://mail.python.org/mailman/listinfo/python-list

not sure but..  this bit reads really suspicious:

 while im is None:
 time.sleep(1)

if im is ever None then how will it ever become not None? unless there
is some other thread at work i can't really see this happening.
and if there is some other thread at work then there is probably some
better solution than sleep()


Reading the manual for opencv, we see that cv2.rectangle does indeed 
return None:
  Python: cv.Rectangle(img, pt1, pt2, color, thickness=1, 
lineType=8, shift=0) → None


So the first pass through your loop does indeed set im to None with the line
im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), (0,255,0), 2)
and the next pass through the loop hits the infinite loop:
while im is None:
time.sleep(1)



[issue27761] Private _nth_root function loses accuracy

2016-09-16 Thread Mark Dickinson

Mark Dickinson added the comment:

> And it's still the case that I haven't found a case where its result isn't 
> correctly rounded.

Here's one: :-)

>>> rootn(1 + 2**-52, 2)
1.0002

The correctly rounded result would be 1.0.

--

___
Python tracker 

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



[issue27922] Make IDLE tests less flashy

2016-09-16 Thread Terry J. Reedy

Terry J. Reedy added the comment:

It is more a matter of tradeoffs rather than 'okay'.

There is no general pydev rule against gui flashing.  The tk and ttk gui tests 
still do, but that is primarily Serhiy's concern.

The IDLE tests are at most perhaps a third complete, so they would have become 
collectively 3 or more times worse.  I should run the IDLE tests at least once 
for each patch and usually do it multiple times.  When I work on a module or 
its tests, I tend work incrementally and run the test for the module 10 or 20 
times or more.  So my first concern is my own eyes and mental state.

Second, I plan to ask others to run test_idle to make up for the lack of 
buildbot coverage, and I will feel better about doing so after the patches 
already made.  If one or a few flashes are left, I and others are still much 
better off.

In this case, there are two obvious fixes, but I don't like either.  Maybe I 
will come up with a third I like better, perhaps after some refactoring of the 
module.  I would also like to better understand the detailed behavior.  In the 
meanwhile, I reopened to add a comment to the test, so I don't lose track of 
the source of the remaining flash.

--
status: closed -> open

___
Python tracker 

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



[issue28111] geometric_mean can raise OverflowError for large input length

2016-09-16 Thread Mark Dickinson

Changes by Mark Dickinson :


--
title: geometric_mean can raise OverflowError when checking for inf -> 
geometric_mean can raise OverflowError for large input length

___
Python tracker 

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



[issue15443] datetime module has no support for nanoseconds

2016-09-16 Thread Steve Holden

Steve Holden added the comment:

I agree on reflection that a single nanoseconds integral value makes more 
sense. This then requires refactoring of the existing code so that existing 
tests continue to pass using a microsecond property.

Code using ONLY nanoseconds is a disjoint case, for which new tests will be 
required. It clearly cannot be expected to be backwards compatible with 
pre-implementation versions.

Does it make sense to define behaviour for cases where the user attempts to MIX 
microseconds and nanoseconds? One validation I would suggest if so is that in 
the presence of a microseconds specification a constraint of 0 <= nanoseconds < 
1000 must be imposed.

--

___
Python tracker 

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



[issue28179] Segfault in test_recursionlimit_fatalerror

2016-09-16 Thread Terry J. Reedy

Terry J. Reedy added the comment:

Running with fresh build from IDLE in a subprocess on Win10, with 15 instead of 
10, I quickly get a fatal Python error and the Windows box equivalent to a 
segfault.

--
nosy: +terry.reedy

___
Python tracker 

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



[issue22493] Deprecate the use of flags not at the start of regular expression

2016-09-16 Thread Tim Graham

Tim Graham added the comment:

Yes, I found that Django needs an update to support that syntax in URLpatterns. 
Thanks.

--

___
Python tracker 

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



[issue27806] 2.7 32-bit builds fail on future releases of OS X due to dependency on deleted header file

2016-09-16 Thread Jeremy Sequoia

Jeremy Sequoia added the comment:

sys/cdefs.h (on new enough darwin) does this for such cases:

#ifndef __has_include
#define __has_include(x) 0
#endif

but of course that isn't present in sys/cdefs.h on older SDKs, so you can just 
shove that above the check and it should fallback the way you want.

Using gcc-4.2 on Sierra would end up with the wrong result, but that's not a 
supported configuration.

--

___
Python tracker 

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



[issue24416] Return a namedtuple from date.isocalendar()

2016-09-16 Thread Alexander Belopolsky

Changes by Alexander Belopolsky :


--
assignee:  -> belopolsky
nosy: +belopolsky
versions: +Python 3.7 -Python 3.6

___
Python tracker 

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



[issue27806] 2.7 32-bit builds fail on future releases of OS X due to dependency on deleted header file

2016-09-16 Thread Jeremy Sequoia

Jeremy Sequoia added the comment:

Thanks, yep that looks much nicer to me.  Containing the core logic at a 
central choke point makes maintenance much easier.  I'll work to get this into 
MacPorts.

--

___
Python tracker 

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



How to get the source code of python function being decorated?

2016-09-16 Thread Peng Yu
Hi, See the following example, I am not able to get the source code of
the actual function that does the calculation of partial_ratio. Does
anybody know what is the correct way of getting the source?

/tmp$ ./main.py
@functools.wraps(func)
def decorator(*args, **kwargs):
if args[0] is None or args[1] is None:
return 0
return func(*args, **kwargs)

/tmp$ cat ./main.py
#!/usr/bin/env python
# vim: set noexpandtab tabstop=2 shiftwidth=2 softtabstop=-1 fileencoding=utf-8:

import fuzzywuzzy.fuzz
import inspect
print inspect.getsource(fuzzywuzzy.fuzz.partial_ratio)

-- 
Regards,
Peng
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: why this code loop forever after a draw a rectangle

2016-09-16 Thread Gary Herron

On 09/16/2016 04:24 AM, meInvent bbird wrote:

im = img.copy()
cntcounter = 0
for cnt in contours:
 epsilon = 0.1*cv2.arcLength(cnt,True)
 approx = cv2.approxPolyDP(cnt,epsilon,True)
 #peri = cv2.arcLength(cnt, True)
 #approx = cv2.approxPolyDP(c, 0.5 * peri, True)
 #print("len(approx)="+str(len(approx)))
 if len(approx) == 4:
 print("approx=" + str(approx))
 cntcounter = cntcounter + 1
 print("here1")
 x,y,w,h = cv2.boundingRect(cnt)
 print("here2")
 while im is None:
 time.sleep(1)
 if im is not None:
 print("here3")
 im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), (0,255,0), 2)
 #im = cv2.line(im,(x,y),(x+w,y),(0,255,0),2)
 #im = cv2.line(im,(x+w,y),(x+w,y+h),(0,255,0),2)
 #im = cv2.line(im,(x,y+h),(x+w,y+h),(0,255,0),2)
 #im = cv2.line(im,(x,y),(x,y+h),(0,255,0),2)


cv2.imwrite(r'C:\Users\tester\Documents\masda.png',im)



These two lines:

  while im is None:
time.sleep(1)

are an infinite loop if im is None;


Since you haven't told us what im (or img, contours, cv2) are, I can't 
tell how im might become None, but it does look like you (confusingly) 
use im for two different things:  an img.copy() and a cv2.rectangle, 
whatever those may be.


Pure guesswork:  if cv2.rectangle draws a rectangle, what does it 
return?  If it doesn't return anything, the line

im = cv2.rectangle(...)
is how im gets the value of None.

--
Dr. Gary Herron
Professor of Computer Science
DigiPen Institute of Technology
(425) 895-4418

--
https://mail.python.org/mailman/listinfo/python-list


[issue15443] datetime module has no support for nanoseconds

2016-09-16 Thread Alexander Belopolsky

Alexander Belopolsky added the comment:

Another advantage of a single nanoseconds field is that currently microseconds 
are packed in 3 bytes and nanoseconds would fit in 4 - a 1 byte increase, but 
to add a 0-999 field, one would need at least 2 bytes.

--
versions: +Python 3.7 -Python 3.6

___
Python tracker 

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



Re: How to get the source code of python function being decorated?

2016-09-16 Thread Peter Otten
Peng Yu wrote:

> Hi, See the following example, I am not able to get the source code of
> the actual function that does the calculation of partial_ratio. Does
> anybody know what is the correct way of getting the source?
> 
> /tmp$ ./main.py
> @functools.wraps(func)
> def decorator(*args, **kwargs):
> if args[0] is None or args[1] is None:
> return 0
> return func(*args, **kwargs)
> 
> /tmp$ cat ./main.py
> #!/usr/bin/env python
> # vim: set noexpandtab tabstop=2 shiftwidth=2 softtabstop=-1
> # fileencoding=utf-8:
> 
> import fuzzywuzzy.fuzz
> import inspect
> print inspect.getsource(fuzzywuzzy.fuzz.partial_ratio)

In Python 3 functools.wraps() records the wrapped function as __wrapped__:

$ cat tmp.py
import functools

def spam(func):
@functools.wraps(func)
def decorator(*args, **kwargs):
return func(*args, **kwargs)
return decorator

@spam
def ham(foo, bar):
return 42

$ python3
...
>>> import inspect
>>> import tmp  
>>> print(inspect.getsource(tmp.ham))
@functools.wraps(func)
def decorator(*args, **kwargs):
return func(*args, **kwargs)

>>> print(inspect.getsource(tmp.ham.__wrapped__))
@spam
def ham(foo, bar):
return 42

In Python 2 when you look into the attributes of tmp.ham() using dir() 
you'll eventually find

>>> print inspect.getsource(tmp.ham.__closure__[0].cell_contents)
@spam
def ham(foo, bar):
return 42

but I'm not sure this is general enough to spare you the look into the 
source code.

-- 
https://mail.python.org/mailman/listinfo/python-list


[issue27761] Private _nth_root function loses accuracy

2016-09-16 Thread Mark Dickinson

Mark Dickinson added the comment:

Here's the error analysis, for the record. It's crude, but effective.  Assume
our decimal context precision is p (so p = 20 for the above code).

1. d is represented exactly with value in [1.0, 2.0).  (Conversions from float
   to Decimal are exact.)

2. c.ln(d) < 1.0, and Decimal's ln operation is correctly rounded, so the
   *absolute* error in c.ln(d) is at most 0.5 * 10**-p.

3. Similarly, LOG2 has an absolute error of at most 0.5 * 10**-p.

4. Let q be the unique integer satisfying 10**q <= n < 10**(q+1).

5. r * LOG2 < n < 10**(q+1), so ulp(r * LOG2) <= 10**(q + 1 - p),
   and the rounding error in computing r * LOG2 is at most
   0.5 * 10**(q + 1 - p). We also inherit the error from LOG2, scaled
   up by r (which is less than 10**(q+1)), so this inherited error
   is also bounded by 0.5 * 10**(q + 1 - p). Our total absolute error
   is now bounded by 10**(q + 1 - p).

6. The result of the addition of d to r * LOG2 is also bounded by
   n < 10**(q+1), so introduces a new rounding error of up to
   0.5 * 10**(q + 1 - p) on top of the errors in d and r * LOG2
   (steps 2 and 5). Our total error is now bounded by 1.5*10**(q + 1 - p).

7. Division by n produces a result <= 1.0. It divides our absolute error so
   far by n (>= 10**q), giving a new error of at most 15 * 10**-p, and
   introduces a new rounding error of at most 0.5 * 10**-p. Bound
   so far is 15.5 * 10**-p.

8. The exponential operation gives a result in the range [1.0, 2.0],
   and converts our absolute error of 15.5 * 10**-p into a relative
   error of at most 15.5 * 10**-p (let's call it 16 * 10**-p to be
   safe), which since our result is bounded by 2.0 amounts to an absolute
   error of at most 32 * 10**-p. We get a rounding error on the result
   of at most 5 * 10**-p (like ln, the decimal module's "exp" operation
   is also correctly rounded), making our total error bounded by 37 * 10**-p.

Finally, we want to express the error bound above in terms of ulps of the
original IEEE 754 binary64 format that float (almost certainly) uses.
Since our result (before the ldexp) is in the range [1.0, 2.0], one ulp
for the binary format is 2**-52. So the error bound in step 8, expressed
in binary64 ulps, is 37 / 2 **-52 * 10**-p < 2 * 10**(17-p) ulps. Rounding
from the final Decimal value to float also incurs an error of at most
0.5 ulps, so we end up with an error bound of

   final_error <= 0.5 + 2 * 10**(17-p) ulps.

For p = 20, this is 0.502 ulps.

--

___
Python tracker 

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



Re: how to automate java application in window using python

2016-09-16 Thread vern . muhr
On Thursday, September 15, 2016 at 11:57:04 PM UTC-7, meInvent bbird wrote:
> On Friday, September 16, 2016 at 2:26:47 AM UTC+8, bream...@gmail.com wrote:
> > On Thursday, September 15, 2016 at 8:13:05 AM UTC+1, meInvent bbird wrote:
> > > how to automate java application in window using python
> > > 
> > > 1. scroll up or down of scroll bar
> > > 2. click button
> > > 3. type text in textbox
> > 

Check out Sikuli at www.sikuli.org. It uses Jython, but hopefully that is close 
enough.

Best, Vern
-- 
https://mail.python.org/mailman/listinfo/python-list


[issue26149] Suggest PyCharm Community as an editor for Unix platforms

2016-09-16 Thread Guido van Rossum

Guido van Rossum added the comment:

Hm, maybe the list should just removed and only the link to the wiki preserved? 
Agreed that the list here feels outdated. And updating it is always going to be 
a political game (e.g. why isn't Wing IDE listed?)

--
nosy: +gvanrossum

___
Python tracker 

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



[issue27761] Private _nth_root function loses accuracy

2016-09-16 Thread Tim Peters

Tim Peters added the comment:

Mark, the code I showed in roots.py is somewhat more accurate and highly 
significantly faster than the code you just posted.  It's not complicated at 
all:  it just uses Decimal to do a single Newton correction with extended 
precision.

Since it doesn't use the Decimal exp() or ln(), it's faster.  It does use the 
Decimal pow(), but with an integer exponent, so this specific use of pow() 
doesn't invoke the Decimal exp() or ln() either.  And it's still the case that 
I haven't found a case where its result isn't correctly rounded.  My testing 
framework found multiple not-correctly-rounded cases in your new code within 
seconds.

Presumably you could boost the precision to improve that, but then it would get 
even slower.

--

___
Python tracker 

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



How to install Python.h on FreeBSD 10.0-RELEASE?

2016-09-16 Thread Don Kuenz

The installed python packages are shown below. Searches lead me to
believe that a PTH option make play a role.


$ uname -v
FreeBSD 10.0-RELEASE #0 r260789: Thu Jan 16 22:34:59 UTC 2014 
r...@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC

$ pkg info | grep python
py27-dnspython-1.14.0  DNS toolkit for Python
py27-notify-0.1.1_11   python bindings for libnotify
py27-telepathy-python-0.15.19_1 Python bindings for the Telepathy framework
python-2.7_2,2 The "meta-port" for the default version of 
Python interpreter
python2-2_3The "meta-port" for version 2 of the Python 
interpreter
python27-2.7.12Interpreted object-oriented programming language
python3-3_3The "meta-port" for version 3 of the Python 
interpreter
python34-3.4.5 Interpreted object-oriented programming language

$ cd /usr/ports/lang/python
$ make config
===> No options to configure

---

Thank you,

--
Don Kuenz KB7RPU

There be triple ways to take, of the eagle or the snake,
Or the way of a man with a maid;
But the seetest way to me is a ship's upon the sea
In the heel of the Northeast Trade.
  - Kipling
-- 
https://mail.python.org/mailman/listinfo/python-list


[issue28179] Segfault in test_recursionlimit_fatalerror

2016-09-16 Thread Serhiy Storchaka

Changes by Serhiy Storchaka :


--
nosy: +ned.deily
priority: normal -> release blocker

___
Python tracker 

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



Re: why this code loop forever after a draw a rectangle

2016-09-16 Thread MRAB

On 2016-09-16 20:14, Gary Herron wrote:

On 09/16/2016 04:24 AM, meInvent bbird wrote:

im = img.copy()
cntcounter = 0
for cnt in contours:
 epsilon = 0.1*cv2.arcLength(cnt,True)
 approx = cv2.approxPolyDP(cnt,epsilon,True)
 #peri = cv2.arcLength(cnt, True)
 #approx = cv2.approxPolyDP(c, 0.5 * peri, True)
 #print("len(approx)="+str(len(approx)))
 if len(approx) == 4:
 print("approx=" + str(approx))
 cntcounter = cntcounter + 1
 print("here1")
 x,y,w,h = cv2.boundingRect(cnt)
 print("here2")
 while im is None:
 time.sleep(1)
 if im is not None:
 print("here3")
 im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), (0,255,0), 2)
 #im = cv2.line(im,(x,y),(x+w,y),(0,255,0),2)
 #im = cv2.line(im,(x+w,y),(x+w,y+h),(0,255,0),2)
 #im = cv2.line(im,(x,y+h),(x+w,y+h),(0,255,0),2)
 #im = cv2.line(im,(x,y),(x,y+h),(0,255,0),2)


cv2.imwrite(r'C:\Users\tester\Documents\masda.png',im)



These two lines:

   while im is None:
 time.sleep(1)

are an infinite loop if im is None;


Since you haven't told us what im (or img, contours, cv2) are, I can't
tell how im might become None, but it does look like you (confusingly)
use im for two different things:  an img.copy() and a cv2.rectangle,
whatever those may be.

Pure guesswork:  if cv2.rectangle draws a rectangle, what does it
return?  If it doesn't return anything, the line
 im = cv2.rectangle(...)
is how im gets the value of None.


It looks like the OP is using OpenCV.

You're right about cv2.rectangle; it does return None.

The line:

im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), (0,255,0), 2)

makes a copy of the image im, draws a rectangle on it, and then binds 
None to im.


The copied rectangle is discarded because there's no reference to it, so 
the entire line in pointless.


It basically does the same thing as:

im = None

only slower!

--
https://mail.python.org/mailman/listinfo/python-list


[issue27806] 2.7 32-bit builds fail on future releases of OS X due to dependency on deleted header file

2016-09-16 Thread Ned Deily

Ned Deily added the comment:

sashk, thanks for the patches!  The general approach LGTM as well.  
Unfortunately, we need the fix to work with gcc-4.2 since the Python 2.7 
installers are still built and supported on OS X 10.5 and 10.6 and the 
__has_include preprocessor construct is not available in gcc-4.2.

--

___
Python tracker 

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



[issue28184] Trailing whitespace in C source code

2016-09-16 Thread Francisco Couzo

New submission from Francisco Couzo:

As per Terry's recommendations (#28145), I'm going to open a new issue for each 
case.

--
files: trailing_whitespace.patch
keywords: patch
messages: 276761
nosy: franciscouzo, josh.r, mark.dickinson, martin.panter, r.david.murray, 
terry.reedy
priority: normal
severity: normal
status: open
title: Trailing whitespace in C source code
versions: Python 3.7
Added file: http://bugs.python.org/file44701/trailing_whitespace.patch

___
Python tracker 

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



Re: how to automate java application in window using python

2016-09-16 Thread Lawrence D’Oliveiro
On Friday, September 16, 2016 at 10:22:34 PM UTC+12, Christian Gollwitzer wrote:
> "How do I automate a Java application using Python?"

Which is really a meaningless question. “Automation” is what computer programs 
do. (Assuming “application” is just another word for “program”.) If the program 
doesn’t work the way you expect, fix it.

But then, “automation” and “GUI” never really went together, did they 
 ...
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Where is the documentation for ','?

2016-09-16 Thread MRAB

On 2016-09-17 03:05, Peng Yu wrote:

Hi,

I'm wondering where is the documentation for ',' as in the following usage.

x = 1
y = 2
x, y = y, x

I tried help(','). But there are too many ',' in it and I don't see in
which section ',' is documented. Could anybody let me know? Thanks.


Search for 'tuple' instead.
--
https://mail.python.org/mailman/listinfo/python-list


Is there something similar to `set -v` of bash in python

2016-09-16 Thread Peng Yu
Hi, `set -v` in bash allows the print of the command before print the
output of the command.

I want to do the similar thing --- print a python command and then
print the output of the command. Is it possible with python?

-- 
Regards,
Peng
-- 
https://mail.python.org/mailman/listinfo/python-list


[issue28168] Use _winapi.WaitForMultipleObjects in Popen.wait()

2016-09-16 Thread STINNER Victor

STINNER Victor added the comment:

> I decided to make it an error to pass an empty sequence

It makes sense since the original WaitForMultipleObjects() also requires at 
least one object:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms687025(v=vs.85).aspx

nCount [in]

The number of object handles in the array pointed to by lpHandles. The 
maximum number of object handles is MAXIMUM_WAIT_OBJECTS. This parameter cannot 
be zero.

--

___
Python tracker 

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



[issue28168] Use _winapi.WaitForMultipleObjects in Popen.wait()

2016-09-16 Thread STINNER Victor

STINNER Victor added the comment:

Oh nice, you implemented the PEP 475 for _winapi.WaitForMultipleObjects()! I 
missed this function when implementing this PEP :-)

--
nosy: +haypo

___
Python tracker 

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



[issue26149] Suggest PyCharm Community as an editor for Unix platforms

2016-09-16 Thread Mariatta Wijaya

Mariatta Wijaya added the comment:

Hmm.. not sure if I did this correctly. I uploaded another patch file, is this 
right? Or, how can I edit my original patch?
Thanks.

--

___
Python tracker 

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



[issue27806] 2.7 32-bit builds fail on macOS 10.12 Sierra due to dependency on deleted header file QuickTime/QuickTime.h

2016-09-16 Thread Ned Deily

Ned Deily added the comment:

Thanks, Alexander and especially Jeremy, for the reviews and suggestions.  
Thanks again sashk for the patches.  Committed for release in 2.7.13.

--
resolution:  -> fixed
stage: needs patch -> resolved
status: open -> closed
title: 2.7 32-bit builds fail on future releases of OS X due to dependency on 
deleted header file -> 2.7 32-bit builds fail on macOS 10.12 Sierra due to 
dependency on deleted header file QuickTime/QuickTime.h

___
Python tracker 

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



[issue22493] Deprecate the use of flags not at the start of regular expression

2016-09-16 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

Patch LGTM (but I changed tests a little). Thanks Tim!

--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 

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



[issue27806] 2.7 32-bit builds fail on future releases of OS X due to dependency on deleted header file

2016-09-16 Thread sashk

sashk added the comment:

Ned, please see attached third version of the patch with workaround suggested 
by Jeremy for older versions of OS X.

--
Added file: http://bugs.python.org/file44699/issue27806_v3.patch

___
Python tracker 

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



Re: why this code loop forever after a draw a rectangle

2016-09-16 Thread meInvent bbird
after succeed to draw lines in graph,

however,

https://drive.google.com/file/d/0Bxs_ao6uuBDUWVBFZzVIVGotRlk/view?usp=sharing

expected the blue line connect the bottom of red line graph

https://drive.google.com/file/d/0Bxs_ao6uuBDUNGZFS2F3WnJERzA/view?usp=sharing

how can convex hull be adjusted to do like second graph of sky blue line


On Saturday, September 17, 2016 at 7:48:46 AM UTC+8, meInvent bbird wrote:
> img is the image
> 
> im is a new memory of image using  img.copy()
> 
> 
> On Saturday, September 17, 2016 at 7:46:42 AM UTC+8, meInvent bbird wrote:
> > thank you very much,
> > it out of the loop now.
> > because drawLine function return things
> > 
> > i just change drawLine to rectangle,
> > have not thought that rectangle not return thing, just edit the parameter
> > 
> > 
> > 
> > On Saturday, September 17, 2016 at 5:26:53 AM UTC+8, MRAB wrote:
> > > On 2016-09-16 20:14, Gary Herron wrote:
> > > > On 09/16/2016 04:24 AM, meInvent bbird wrote:
> > > >> im = img.copy()
> > > >> cntcounter = 0
> > > >> for cnt in contours:
> > > >>  epsilon = 0.1*cv2.arcLength(cnt,True)
> > > >>  approx = cv2.approxPolyDP(cnt,epsilon,True)   
> > > >>  #peri = cv2.arcLength(cnt, True)
> > > >>  #approx = cv2.approxPolyDP(c, 0.5 * peri, True)
> > > >>  #print("len(approx)="+str(len(approx)))
> > > >>  if len(approx) == 4:
> > > >>  print("approx=" + str(approx))
> > > >>  cntcounter = cntcounter + 1
> > > >>  print("here1")
> > > >>  x,y,w,h = cv2.boundingRect(cnt)
> > > >>  print("here2")
> > > >>  while im is None:
> > > >>  time.sleep(1)
> > > >>  if im is not None:
> > > >>  print("here3")
> > > >>  im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), 
> > > >> (0,255,0), 2)
> > > >>  #im = cv2.line(im,(x,y),(x+w,y),(0,255,0),2)
> > > >>  #im = cv2.line(im,(x+w,y),(x+w,y+h),(0,255,0),2)
> > > >>  #im = cv2.line(im,(x,y+h),(x+w,y+h),(0,255,0),2)
> > > >>  #im = cv2.line(im,(x,y),(x,y+h),(0,255,0),2)
> > > >>
> > > >>
> > > >> cv2.imwrite(r'C:\Users\tester\Documents\masda.png',im)
> > > >
> > > >
> > > > These two lines:
> > > >
> > > >while im is None:
> > > >  time.sleep(1)
> > > >
> > > > are an infinite loop if im is None;
> > > >
> > > >
> > > > Since you haven't told us what im (or img, contours, cv2) are, I can't
> > > > tell how im might become None, but it does look like you (confusingly)
> > > > use im for two different things:  an img.copy() and a cv2.rectangle,
> > > > whatever those may be.
> > > >
> > > > Pure guesswork:  if cv2.rectangle draws a rectangle, what does it
> > > > return?  If it doesn't return anything, the line
> > > >  im = cv2.rectangle(...)
> > > > is how im gets the value of None.
> > > >
> > > It looks like the OP is using OpenCV.
> > > 
> > > You're right about cv2.rectangle; it does return None.
> > > 
> > > The line:
> > > 
> > >  im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), (0,255,0), 2)
> > > 
> > > makes a copy of the image im, draws a rectangle on it, and then binds 
> > > None to im.
> > > 
> > > The copied rectangle is discarded because there's no reference to it, so 
> > > the entire line in pointless.
> > > 
> > > It basically does the same thing as:
> > > 
> > >  im = None
> > > 
> > > only slower!

-- 
https://mail.python.org/mailman/listinfo/python-list


[issue28185] Tabs in C source code

2016-09-16 Thread Francisco Couzo

New submission from Francisco Couzo:

Files I didn't change: Python/dup2.c, Python/strdup.c (Since they are external 
dependencies)

--
files: tabs_c.patch
keywords: patch
messages: 276762
nosy: franciscouzo, josh.r, mark.dickinson, martin.panter, r.david.murray, 
terry.reedy
priority: normal
severity: normal
status: open
title: Tabs in C source code
Added file: http://bugs.python.org/file44702/tabs_c.patch

___
Python tracker 

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



[issue26149] Suggest PyCharm Community as an editor for Unix platforms

2016-09-16 Thread Mariatta Wijaya

Mariatta Wijaya added the comment:

Thanks for the feedback :)
As suggested, I removed all other IDEs and just link to the wiki.

--
Added file: http://bugs.python.org/file44705/docupdate2.patch

___
Python tracker 

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



array.itemsize: Documentation Versus Reality

2016-09-16 Thread Lawrence D’Oliveiro
>>> a = array.array("I", (0,))
>>> a.itemsize
4
>>> a = array.array("L", (0,))
>>> a.itemsize
8

According to , the “minimum size” 
should be 2 and 4 respectively. It further says:

The actual representation of values is determined by the machine
architecture (strictly speaking, by the C implementation).
The actual size can be accessed through the itemsize attribute.

Are there any C compilers still in common use where the values will not be 4 
and 8, as above?
-- 
https://mail.python.org/mailman/listinfo/python-list


Looking for tips and gotchas for working with Python 3.5 zipapp feature

2016-09-16 Thread Malcolm Greene
Looking for tips or edge case gotchas associated with using Python 3.5's
new zipapp feature. For those of you wondering what this feature is, see
the end of this post for a brief background [1].

Two questions in particular:

1. Are there any issues with deploying scripts that sit in sub-
   folders beneath the directory being zipped, eg. does zipapp only
   support a flat folder of scripts or does it recursively zip and
   path sub-folders?

2. Can additional non-Python files like config files be added to a
   zipapp without breaking them and if so, how would your script
   reference these embedded files (by opening up the zipapp as a zip
   archive and navigating from there?).

Thank you,
Malcolm

[1] The zipapp feature of Python 3.5 is pretty cool: It allows you to
package your Python scripts in a single executable zip file. This
isn't a replacement for tools like PyInstaller or Py2Exe, eg. it
doesn't bundle the Python interpreter in the zip file, but it's a
clean way to distribute multi-file scripts in environments where you
have control over users' Python setups.

Here's the manual page:

zipapp — Manage executable python zip archives
https://docs.python.org/3/library/zipapp.html

-- 
https://mail.python.org/mailman/listinfo/python-list


is it possible to adjust convex hull to draw blue line instead of green line?

2016-09-16 Thread meInvent bbird
i succeed to use code to draw green line, but green line not draw the 
large area, expect second uploaded picture, the blue line connect
the bottom of red line graph

im = img.copy()
cntcounter = 0
for cnt in contours:
#epsilon = 0.1*cv2.arcLength(cnt,True)
#approx = cv2.approxPolyDP(cnt,epsilon,True)
#peri = cv2.arcLength(cnt, True)
#approx = cv2.approxPolyDP(cnt, 0.15 * peri, True)
#print("len(approx)="+str(len(approx)))
#if len(approx) == 2:
print("approx=" + str(approx))
cntcounter = cntcounter + 1
print("here1")
#x,y,w,h = cv2.boundingRect(cnt)
hull = cv2.convexHull(cnt,returnPoints = True)
print("here2")
while im is None:
time.sleep(1)
if im is not None:
print("here3")
#cv2.rectangle(im, (x,y), (x+w, y+h), (0,255,0), 2) 

#cv2.imwrite("C:\\Users\\tester\\Documents\\masda"+str(cntcounter)+".png",imi)  
  
#im = cv2.line(im,(x,y),(x+w,y),(0,255,0),2)
#im = cv2.line(im,(x+w,y),(x+w,y+h),(0,255,0),2)
#im = cv2.line(im,(x,y+h),(x+w,y+h),(0,255,0),2)
#im = cv2.line(im,(x,y),(x,y+h),(0,255,0),2)
previousx = 0
previousy = 0 
for c in hull: 
if previousx != 0 and previousy != 0 and c[0][0] != 0 and 
c[0][1] != 0 and abs(previousy - c[0][1]) > 10 and abs(c[0][0] - previousx) > 
1:
while im is None:
time.sleep(1)

cv2.line(im,(previousx,previousy),(c[0][0],c[0][1]),(0,255,0),2)
print("")
#print("previousx=" + str(previousx))
#print("previousy=" + str(previousy))
#print("c[0][0]=" + str(c[0][0]))
#print("c[0][1]=" + str(c[0][1]))
previousx = c[0][0]
previousy = c[0][1]



https://drive.google.com/file/d/0Bxs_ao6uuBDUWVBFZzVIVGotRlk/view?usp=sharing

expected is

https://drive.google.com/file/d/0Bxs_ao6uuBDUNGZFS2F3WnJERzA/view?usp=sharing
-- 
https://mail.python.org/mailman/listinfo/python-list


[issue28185] Tabs in C source code

2016-09-16 Thread Francisco Couzo

Changes by Francisco Couzo :


--
versions: +Python 3.7
Added file: http://bugs.python.org/file44703/tabs_h.patch

___
Python tracker 

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



Re: Where is the documentation for ','?

2016-09-16 Thread Lawrence D’Oliveiro
On Saturday, September 17, 2016 at 2:05:49 PM UTC+12, Peng Yu wrote:
> x, y = y, x

It’s just syntactic sugar for

(x, y) = (y, x)
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Where is the documentation for ','?

2016-09-16 Thread Nathan Ernst
The grammar and what it represents is defined at
https://docs.python.org/3/reference/expressions.html#expression-lists

Regards

On Sep 16, 2016 9:59 PM, "Peng Yu"  wrote:

> OK. But it is documented somewhere in python doc?
>
> On Fri, Sep 16, 2016 at 9:48 PM, Lawrence D’Oliveiro
>  wrote:
> > On Saturday, September 17, 2016 at 2:05:49 PM UTC+12, Peng Yu wrote:
> >> x, y = y, x
> >
> > It’s just syntactic sugar for
> >
> > (x, y) = (y, x)
> > --
> > https://mail.python.org/mailman/listinfo/python-list
>
>
>
> --
> Regards,
> Peng
> --
> https://mail.python.org/mailman/listinfo/python-list
>
-- 
https://mail.python.org/mailman/listinfo/python-list


[issue28183] Clean up and speed up dict iteration

2016-09-16 Thread STINNER Victor

Changes by STINNER Victor :


--
nosy: +methane, xiang.zhang

___
Python tracker 

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



[issue22493] Deprecate the use of flags not at the start of regular expression

2016-09-16 Thread Roundup Robot

Roundup Robot added the comment:

New changeset c35a528268fd by Serhiy Storchaka in branch '3.6':
Issue #22493: Warning message emitted by using inline flags in the middle of
https://hg.python.org/cpython/rev/c35a528268fd

New changeset 9d0f4da4d531 by Serhiy Storchaka in branch 'default':
Issue #22493: Warning message emitted by using inline flags in the middle of
https://hg.python.org/cpython/rev/9d0f4da4d531

--

___
Python tracker 

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



[issue28168] Use _winapi.WaitForMultipleObjects in Popen.wait()

2016-09-16 Thread Eryk Sun

Changes by Eryk Sun :


Added file: http://bugs.python.org/file44698/issue_28168_03.patch

___
Python tracker 

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



[issue28168] Use _winapi.WaitForMultipleObjects in Popen.wait()

2016-09-16 Thread Eryk Sun

Changes by Eryk Sun :


Removed file: http://bugs.python.org/file44673/issue_28168_01.patch

___
Python tracker 

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



[issue28168] Use _winapi.WaitForMultipleObjects in Popen.wait()

2016-09-16 Thread Eryk Sun

Changes by Eryk Sun :


Removed file: http://bugs.python.org/file44674/issue_28168_02.patch

___
Python tracker 

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



Re: why this code loop forever after a draw a rectangle

2016-09-16 Thread meInvent bbird
img is the image

im is a new memory of image using  img.copy()


On Saturday, September 17, 2016 at 7:46:42 AM UTC+8, meInvent bbird wrote:
> thank you very much,
> it out of the loop now.
> because drawLine function return things
> 
> i just change drawLine to rectangle,
> have not thought that rectangle not return thing, just edit the parameter
> 
> 
> 
> On Saturday, September 17, 2016 at 5:26:53 AM UTC+8, MRAB wrote:
> > On 2016-09-16 20:14, Gary Herron wrote:
> > > On 09/16/2016 04:24 AM, meInvent bbird wrote:
> > >> im = img.copy()
> > >> cntcounter = 0
> > >> for cnt in contours:
> > >>  epsilon = 0.1*cv2.arcLength(cnt,True)
> > >>  approx = cv2.approxPolyDP(cnt,epsilon,True) 
> > >>  #peri = cv2.arcLength(cnt, True)
> > >>  #approx = cv2.approxPolyDP(c, 0.5 * peri, True)
> > >>  #print("len(approx)="+str(len(approx)))
> > >>  if len(approx) == 4:
> > >>  print("approx=" + str(approx))
> > >>  cntcounter = cntcounter + 1
> > >>  print("here1")
> > >>  x,y,w,h = cv2.boundingRect(cnt)
> > >>  print("here2")
> > >>  while im is None:
> > >>  time.sleep(1)
> > >>  if im is not None:
> > >>  print("here3")
> > >>  im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), 
> > >> (0,255,0), 2)
> > >>  #im = cv2.line(im,(x,y),(x+w,y),(0,255,0),2)
> > >>  #im = cv2.line(im,(x+w,y),(x+w,y+h),(0,255,0),2)
> > >>  #im = cv2.line(im,(x,y+h),(x+w,y+h),(0,255,0),2)
> > >>  #im = cv2.line(im,(x,y),(x,y+h),(0,255,0),2)
> > >>
> > >>
> > >> cv2.imwrite(r'C:\Users\tester\Documents\masda.png',im)
> > >
> > >
> > > These two lines:
> > >
> > >while im is None:
> > >  time.sleep(1)
> > >
> > > are an infinite loop if im is None;
> > >
> > >
> > > Since you haven't told us what im (or img, contours, cv2) are, I can't
> > > tell how im might become None, but it does look like you (confusingly)
> > > use im for two different things:  an img.copy() and a cv2.rectangle,
> > > whatever those may be.
> > >
> > > Pure guesswork:  if cv2.rectangle draws a rectangle, what does it
> > > return?  If it doesn't return anything, the line
> > >  im = cv2.rectangle(...)
> > > is how im gets the value of None.
> > >
> > It looks like the OP is using OpenCV.
> > 
> > You're right about cv2.rectangle; it does return None.
> > 
> > The line:
> > 
> >  im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), (0,255,0), 2)
> > 
> > makes a copy of the image im, draws a rectangle on it, and then binds 
> > None to im.
> > 
> > The copied rectangle is discarded because there's no reference to it, so 
> > the entire line in pointless.
> > 
> > It basically does the same thing as:
> > 
> >  im = None
> > 
> > only slower!

-- 
https://mail.python.org/mailman/listinfo/python-list


[issue28168] Use _winapi.WaitForMultipleObjects in Popen.wait()

2016-09-16 Thread Eryk Sun

Eryk Sun added the comment:

Hopefully this is my last change until someone reviews this. I decided to make 
it an error to pass an empty sequence, which previously would implicitly wait 
on the SIGINT event. This way simplifies the code and prevents someone from 
accidentally waiting forever on SIGINT when it's ignored or doesn't raise an 
exception. There should always be at least 1 other handle in the wait list.

--
Added file: http://bugs.python.org/file44700/issue_28168_04.patch

___
Python tracker 

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



Re: is it possible to adjust convex hull to draw blue line instead of green line?

2016-09-16 Thread MRAB

On 2016-09-17 01:20, meInvent bbird wrote:

i succeed to use code to draw green line, but green line not draw the
large area, expect second uploaded picture, the blue line connect
the bottom of red line graph


[snip]

Here's the code with the commented code and print statements removed and 
the indentation fixed:



im = img.copy()

for cnt in contours:
hull = cv2.convexHull(cnt, returnPoints=True)
previousx = 0
previousy = 0

for c in hull:
if previousx != 0 and previousy != 0 and c[0][0] != 0 and 
c[0][1] != 0 and abs(previousy - c[0][1]) > 10 and abs(c[0][0] - 
previousx) > 1:
cv2.line(im, (previousx, previousy), (c[0][0], c[0][1]), 
(0, 255, 0), 2)


previousx = c[0][0]
previousy = c[0][1]



https://drive.google.com/file/d/0Bxs_ao6uuBDUWVBFZzVIVGotRlk/view?usp=sharing

expected is

https://drive.google.com/file/d/0Bxs_ao6uuBDUNGZFS2F3WnJERzA/view?usp=sharing

I think the problem might be that you're setting previousx to c[0][0] 
and previousy to c[0][1] even if you don't draw the line (because of the 
indentation), so you get a series of unconnected lines.


I'm not sure whether you should be setting previousx and previousy to 0 
each time around the outer loop. I can't test it, but if the previous 
fix doesn't work, it's one more thing to try.

--
https://mail.python.org/mailman/listinfo/python-list


Where is the documentation for ','?

2016-09-16 Thread Peng Yu
Hi,

I'm wondering where is the documentation for ',' as in the following usage.

x = 1
y = 2
x, y = y, x

I tried help(','). But there are too many ',' in it and I don't see in
which section ',' is documented. Could anybody let me know? Thanks.

-- 
Regards,
Peng
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Where is the documentation for ','?

2016-09-16 Thread Peng Yu
OK. But it is documented somewhere in python doc?

On Fri, Sep 16, 2016 at 9:48 PM, Lawrence D’Oliveiro
 wrote:
> On Saturday, September 17, 2016 at 2:05:49 PM UTC+12, Peng Yu wrote:
>> x, y = y, x
>
> It’s just syntactic sugar for
>
> (x, y) = (y, x)
> --
> https://mail.python.org/mailman/listinfo/python-list



-- 
Regards,
Peng
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: is it possible to adjust convex hull to draw blue line instead of green line?

2016-09-16 Thread Steve D'Aprano
On Sat, 17 Sep 2016 10:20 am, meInvent bbird wrote:

> i succeed to use code to draw green line, but green line not draw the
> large area, expect second uploaded picture, the blue line connect
> the bottom of red line graph


Please don't waste our time with dead code that has been commented out or
that doesn't do anything.

Here is your code with the commented out dead code removed. You should do
this, don't expect us to do it:


im = img.copy()
cntcounter = 0
for cnt in contours:
print("approx=" + str(approx))
cntcounter = cntcounter + 1
print("here1")
hull = cv2.convexHull(cnt,returnPoints = True)
print("here2")
while im is None:
# WARNING: THIS IS AN INFINITE LOOP
time.sleep(1)
if im is not None:
print("here3")
previousx = 0
previousy = 0 
for c in hull: 
if (previousx != 0 and previousy != 0 and c[0][0] != 0
and c[0][1] != 0 and abs(previousy - c[0][1]) > 10
and abs(c[0][0] - previousx) > 1
):
while im is None:
# WARNING: THIS IS AN INFINITE LOOP
time.sleep(1)
cv2.line(im, (previousx, previousy),
 (c[0][0], c[0][1]), (0, 255, 0), 2)
print("")
previousx = c[0][0]
previousy = c[0][1]




Now it is much easier to read without the noise.

Problems:

(1) img is not defined;

(2) approx is not defined;

(3) contours is not defined;

(4) cv2 is not defined;

(5) you have TWO possible infinite loops in your code;

(6) time is not defined, but this at least I can guess is the 
standard time module;

(7) c is not defined.


As given to us, we cannot run your code or understand it, because too many
things are undefined.

My **guess** is that cv2.line() will take an argument to set the line
colour. You should read the documentation for cv2.line().


Before asking any more questions, please read this:

http://sscce.org/






-- 
Steve
“Cheer up,” they said, “things could be worse.” So I cheered up, and sure
enough, things got worse.

-- 
https://mail.python.org/mailman/listinfo/python-list


[issue28185] Tabs in C source code

2016-09-16 Thread Francisco Couzo

Changes by Francisco Couzo :


Added file: http://bugs.python.org/file44704/tabs_h.patch

___
Python tracker 

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



[issue28185] Tabs in C source code

2016-09-16 Thread Francisco Couzo

Changes by Francisco Couzo :


Removed file: http://bugs.python.org/file44703/tabs_h.patch

___
Python tracker 

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



Re: Where is the documentation for ','?

2016-09-16 Thread Peng Yu
help(tuple) gives me this, which does not mention ',' either.

Help on class tuple in module __builtin__:

class tuple(object)
 |  tuple() -> empty tuple
 |  tuple(iterable) -> tuple initialized from iterable's items
 |
 |  If the argument is a tuple, the return value is the same object.
 |
 |  Methods defined here:
 |
 |  __add__(...)
 |  x.__add__(y) <==> x+y
 |
 |  __contains__(...)
 |  x.__contains__(y) <==> y in x
 |
 |  __eq__(...)
 |  x.__eq__(y) <==> x==y
 |
 |  __ge__(...)
 |  x.__ge__(y) <==> x>=y
 |
 |  __getattribute__(...)
 |  x.__getattribute__('name') <==> x.name
 |
 |  __getitem__(...)
 |  x.__getitem__(y) <==> x[y]
 |
 |  __getnewargs__(...)
 |
 |  __getslice__(...)
 |  x.__getslice__(i, j) <==> x[i:j]
 |
 |  Use of negative indices is not supported.
 |
 |  __gt__(...)
 |  x.__gt__(y) <==> x>y
 |
 |  __hash__(...)
 |  x.__hash__() <==> hash(x)
 |
 |  __iter__(...)
 |  x.__iter__() <==> iter(x)
 |
 |  __le__(...)
 |  x.__le__(y) <==> x<=y
 |
 |  __len__(...)
 |  x.__len__() <==> len(x)
 |
 |  __lt__(...)
 |  x.__lt__(y) <==> x x*n
 |
 |  __ne__(...)
 |  x.__ne__(y) <==> x!=y
 |
 |  __repr__(...)
 |  x.__repr__() <==> repr(x)
 |
 |  __rmul__(...)
 |  x.__rmul__(n) <==> n*x
 |
 |  count(...)
 |  T.count(value) -> integer -- return number of occurrences of value
 |
 |  index(...)
 |  T.index(value, [start, [stop]]) -> integer -- return first
index of value.
 |  Raises ValueError if the value is not present.
 |
 |  --
 |  Data and other attributes defined here:
 |
 |  __new__ = 
 |  T.__new__(S, ...) -> a new object with type S, a subtype of T



On Fri, Sep 16, 2016 at 9:13 PM, MRAB  wrote:
> On 2016-09-17 03:05, Peng Yu wrote:
>>
>> Hi,
>>
>> I'm wondering where is the documentation for ',' as in the following
>> usage.
>>
>> x = 1
>> y = 2
>> x, y = y, x
>>
>> I tried help(','). But there are too many ',' in it and I don't see in
>> which section ',' is documented. Could anybody let me know? Thanks.
>>
> Search for 'tuple' instead.
> --
> https://mail.python.org/mailman/listinfo/python-list



-- 
Regards,
Peng
-- 
https://mail.python.org/mailman/listinfo/python-list


[issue27806] 2.7 32-bit builds fail on future releases of OS X due to dependency on deleted header file

2016-09-16 Thread Roundup Robot

Roundup Robot added the comment:

New changeset 4030300fcb18 by sashk in branch '2.7':
Issue #27806: Fix 32-bit builds on macOS Sierra 10.12 broken by removal of
https://hg.python.org/cpython/rev/4030300fcb18

--
nosy: +python-dev

___
Python tracker 

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



[issue26149] Suggest PyCharm Community as an editor for Unix platforms

2016-09-16 Thread Guido van Rossum

Guido van Rossum added the comment:

You did the right thing. Check out the "review" link.

--

___
Python tracker 

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



Re: Where is the documentation for ','?

2016-09-16 Thread Ben Finney
Peng Yu  writes:

> help(tuple) gives me this

Yes. That's the API definition for the ‘tuple’ type.

You were advised to search the documentation, not the interactive
help. You'll find the descriptions of “tuple” and even “tuple unpacking”
are what you want.

-- 
 \ “When I turned two I was really anxious, because I'd doubled my |
  `\   age in a year. I thought, if this keeps up, by the time I'm six |
_o__)  I'll be ninety.” —Steven Wright |
Ben Finney

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Discover all non-standard library modules imported by a script

2016-09-16 Thread Malcolm Greene
Thanks for your suggestions Chris and Terry.

The answer I was looking for is the modulefinder module which is part of
the standard lib. Works like a charm!

Quote: This module provides a ModuleFinder class that can be used to
determine the set of modules imported by a script. modulefinder.py can
also be run as a script, giving the filename of a Python script as its
argument, after which a report of the imported modules will be printed.

https://docs.python.org/3.5/library/modulefinder.html 

Note there's a similar module for Python 2.7.

--
Malcolm
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: why this code loop forever after a draw a rectangle

2016-09-16 Thread meInvent bbird
thank you very much,
it out of the loop now.
because drawLine function return things

i just change drawLine to rectangle,
have not thought that rectangle not return thing, just edit the parameter



On Saturday, September 17, 2016 at 5:26:53 AM UTC+8, MRAB wrote:
> On 2016-09-16 20:14, Gary Herron wrote:
> > On 09/16/2016 04:24 AM, meInvent bbird wrote:
> >> im = img.copy()
> >> cntcounter = 0
> >> for cnt in contours:
> >>  epsilon = 0.1*cv2.arcLength(cnt,True)
> >>  approx = cv2.approxPolyDP(cnt,epsilon,True)   
> >>  #peri = cv2.arcLength(cnt, True)
> >>  #approx = cv2.approxPolyDP(c, 0.5 * peri, True)
> >>  #print("len(approx)="+str(len(approx)))
> >>  if len(approx) == 4:
> >>  print("approx=" + str(approx))
> >>  cntcounter = cntcounter + 1
> >>  print("here1")
> >>  x,y,w,h = cv2.boundingRect(cnt)
> >>  print("here2")
> >>  while im is None:
> >>  time.sleep(1)
> >>  if im is not None:
> >>  print("here3")
> >>  im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), 
> >> (0,255,0), 2)
> >>  #im = cv2.line(im,(x,y),(x+w,y),(0,255,0),2)
> >>  #im = cv2.line(im,(x+w,y),(x+w,y+h),(0,255,0),2)
> >>  #im = cv2.line(im,(x,y+h),(x+w,y+h),(0,255,0),2)
> >>  #im = cv2.line(im,(x,y),(x,y+h),(0,255,0),2)
> >>
> >>
> >> cv2.imwrite(r'C:\Users\tester\Documents\masda.png',im)
> >
> >
> > These two lines:
> >
> >while im is None:
> >  time.sleep(1)
> >
> > are an infinite loop if im is None;
> >
> >
> > Since you haven't told us what im (or img, contours, cv2) are, I can't
> > tell how im might become None, but it does look like you (confusingly)
> > use im for two different things:  an img.copy() and a cv2.rectangle,
> > whatever those may be.
> >
> > Pure guesswork:  if cv2.rectangle draws a rectangle, what does it
> > return?  If it doesn't return anything, the line
> >  im = cv2.rectangle(...)
> > is how im gets the value of None.
> >
> It looks like the OP is using OpenCV.
> 
> You're right about cv2.rectangle; it does return None.
> 
> The line:
> 
>  im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), (0,255,0), 2)
> 
> makes a copy of the image im, draws a rectangle on it, and then binds 
> None to im.
> 
> The copied rectangle is discarded because there's no reference to it, so 
> the entire line in pointless.
> 
> It basically does the same thing as:
> 
>  im = None
> 
> only slower!

-- 
https://mail.python.org/mailman/listinfo/python-list


[issue28185] Tabs in C source code

2016-09-16 Thread STINNER Victor

Changes by STINNER Victor :


--
nosy: +haypo

___
Python tracker 

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



why this code loop forever after a draw a rectangle

2016-09-16 Thread meInvent bbird
im = img.copy()
cntcounter = 0
for cnt in contours:
epsilon = 0.1*cv2.arcLength(cnt,True)
approx = cv2.approxPolyDP(cnt,epsilon,True) 
#peri = cv2.arcLength(cnt, True)
#approx = cv2.approxPolyDP(c, 0.5 * peri, True)
#print("len(approx)="+str(len(approx)))
if len(approx) == 4:
print("approx=" + str(approx))
cntcounter = cntcounter + 1
print("here1")
x,y,w,h = cv2.boundingRect(cnt)
print("here2")
while im is None:
time.sleep(1)
if im is not None:
print("here3")
im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), (0,255,0), 2)  
   
#im = cv2.line(im,(x,y),(x+w,y),(0,255,0),2)
#im = cv2.line(im,(x+w,y),(x+w,y+h),(0,255,0),2)
#im = cv2.line(im,(x,y+h),(x+w,y+h),(0,255,0),2)
#im = cv2.line(im,(x,y),(x,y+h),(0,255,0),2)


cv2.imwrite(r'C:\Users\tester\Documents\masda.png',im)
-- 
https://mail.python.org/mailman/listinfo/python-list


Discover all non-standard library modules imported by a script

2016-09-16 Thread Malcolm Greene
Looking for suggestions on how, given a main script, discover all the
non-standard library modules imported across all modules, eg. the
modules that other modules import, etc. I'm not looking to discover
dynamic imports or other edge cases, just the list modules loaded via
"import " and "from  import ...". I know I could write a
script to do this, but certainly there must be such a capability in the
standard library?

Use case: Discovering list of modules to use for building a Python 3.5
zipapp distributable.

Thank you,
Malcolm
-- 
https://mail.python.org/mailman/listinfo/python-list


[issue28128] Improve the warning message for invalid escape sequences

2016-09-16 Thread Eric V. Smith

Eric V. Smith added the comment:

Couldn't we create a private version of PyUnicode_DecodeUnicodeEscape, to be 
called by ast.c, which passes back invalid escape info? Then have the actual 
warning raised by ast.c, which knows enough about the context to generate a 
better error/warning. I think we'd only be able to report on he first error in 
a string, though, but I haven't thought it all the way through.

I believe we'd only need to modify decode_unicode_with_escapes() in ast.c, 
which is called for both regular strings and f-string. And of course 
PyUnicode_DecodeUnicodeEscape would have to call the new private version and do 
the right thing.

--

___
Python tracker 

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



[issue25270] codecs.escape_encode systemerror on empty byte string

2016-09-16 Thread Berker Peksag

Berker Peksag added the comment:

Thanks for the review, Serhiy. Here's an updated patch.

--
Added file: http://bugs.python.org/file44691/issue25270_v3.diff

___
Python tracker 

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



Re: why this code loop forever after a draw a rectangle

2016-09-16 Thread Joonas Liik
On 16 September 2016 at 14:24, meInvent bbird  wrote:
> im = img.copy()
> cntcounter = 0
> for cnt in contours:
> epsilon = 0.1*cv2.arcLength(cnt,True)
> approx = cv2.approxPolyDP(cnt,epsilon,True)
> #peri = cv2.arcLength(cnt, True)
> #approx = cv2.approxPolyDP(c, 0.5 * peri, True)
> #print("len(approx)="+str(len(approx)))
> if len(approx) == 4:
> print("approx=" + str(approx))
> cntcounter = cntcounter + 1
> print("here1")
> x,y,w,h = cv2.boundingRect(cnt)
> print("here2")
> while im is None:
> time.sleep(1)
> if im is not None:
> print("here3")
> im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), (0,255,0), 2)
> #im = cv2.line(im,(x,y),(x+w,y),(0,255,0),2)
> #im = cv2.line(im,(x+w,y),(x+w,y+h),(0,255,0),2)
> #im = cv2.line(im,(x,y+h),(x+w,y+h),(0,255,0),2)
> #im = cv2.line(im,(x,y),(x,y+h),(0,255,0),2)
>
>
> cv2.imwrite(r'C:\Users\tester\Documents\masda.png',im)
> --
> https://mail.python.org/mailman/listinfo/python-list

not sure but..  this bit reads really suspicious:

while im is None:
time.sleep(1)

if im is ever None then how will it ever become not None? unless there
is some other thread at work i can't really see this happening.
and if there is some other thread at work then there is probably some
better solution than sleep()
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Discover all non-standard library modules imported by a script

2016-09-16 Thread Chris Angelico
On Fri, Sep 16, 2016 at 9:29 PM, Malcolm Greene  wrote:
> Looking for suggestions on how, given a main script, discover all the
> non-standard library modules imported across all modules, eg. the
> modules that other modules import, etc. I'm not looking to discover
> dynamic imports or other edge cases, just the list modules loaded via
> "import " and "from  import ...". I know I could write a
> script to do this, but certainly there must be such a capability in the
> standard library?
>
> Use case: Discovering list of modules to use for building a Python 3.5
> zipapp distributable.
>

Possibly not what you're thinking of, but try creating a clean virtual
environment (python3 -m venv env) and installing no packages, and then
watch for ImportError. As you find them, record stuff into
requirements.txt and "pip install -r requirements.txt", until you have
a working program - at which point requirements.txt should have every
non-standard thing you're using.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: why this code loop forever after a draw a rectangle

2016-09-16 Thread meInvent bbird
i follow this post to give some time it to operate,
wait a long time still looping

http://answers.opencv.org/question/60094/libpng-warning-image-width-is-zero-in-ihdr/


i can not stand this Ninja coding life any more,
i have to open my code for ask this error


import cv2
import numpy as np
#from matplotlib import pyplot as plt
import time

#print("1=" + str(int(sys.argv[1])))
#print("2=" + str(int(sys.argv[2])))
#print("3=" + str(int(sys.argv[3])))

img_rgb = cv2.imread(r'C:\Users\martin\Documents\scree2.png')
img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
template = cv2.imread(r'C:\Users\martin\Documents\dragob.png',0)
w, h = template.shape[::-1]

res = cv2.matchTemplate(img_gray,template,cv2.TM_CCOEFF_NORMED)
threshold = 0.64

loc = np.where( res >= threshold)
pt = [(0,0)]

while not zip(*loc[::-1]):
threshold = threshold - 0.02
loc = np.where( res >= threshold)

counter = 1
print("threshold="+str(threshold))   
for pt2 in zip(*loc[::-1]):
cv2.rectangle(img_rgb, pt2, (pt2[0] + w, pt2[1] + h), (0,0,255), 2)
pt = pt2
crop_img = img_rgb[pt[1]:(pt[1]+h), pt[0]:(pt[0]+w)]
counter = counter + 1

cv2.imwrite("C:\\Users\\tester\\Documents\\res.png",crop_img)


#import cv2
#winName = "Movement Indicator"
#cv2.namedWindow(winName, cv2.WINDOW_NORMAL)
img = cv2.imread(r'C:\Users\tester\Documents\res.png',1)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
height, width = gray.shape
edges = cv2.Canny(gray,height,width,apertureSize = 3)
#edges = cv2.Canny(gray,30,200)

#gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
#ret,thresh = 
cv2.threshold(edges.copy(),cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE,0)
ret,thresh = cv2.threshold(edges,250,150,0)
contours,hierarchy = cv2.findContours(thresh, 1, 2)
#contours = sorted(contours, key = cv2.contourArea, reverse = True)[:10]

im = img.copy()
cntcounter = 0
for cnt in contours:
epsilon = 0.1*cv2.arcLength(cnt,True)
approx = cv2.approxPolyDP(cnt,epsilon,True) 
#peri = cv2.arcLength(cnt, True)
#approx = cv2.approxPolyDP(c, 0.5 * peri, True)
#print("len(approx)="+str(len(approx)))
if len(approx) == 4:
print("approx=" + str(approx))
cntcounter = cntcounter + 1
print("here1")
x,y,w,h = cv2.boundingRect(cnt)
print("here2")
#im = img.copy()
while im is None:
time.sleep(1)
if im is not None:
print("here3")
im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), (0,255,0), 2) 

#cv2.imwrite("C:\\Users\\martin\\Documents\\masda"+str(cntcounter)+".png",imi)  
  
#im = cv2.line(im,(x,y),(x+w,y),(0,255,0),2)
#im = cv2.line(im,(x+w,y),(x+w,y+h),(0,255,0),2)
#im = cv2.line(im,(x,y+h),(x+w,y+h),(0,255,0),2)
#im = cv2.line(im,(x,y),(x,y+h),(0,255,0),2)








On Friday, September 16, 2016 at 7:34:04 PM UTC+8, Waffle wrote:
> On 16 September 2016 at 14:24, meInvent bbird  wrote:
> > im = img.copy()
> > cntcounter = 0
> > for cnt in contours:
> > epsilon = 0.1*cv2.arcLength(cnt,True)
> > approx = cv2.approxPolyDP(cnt,epsilon,True)
> > #peri = cv2.arcLength(cnt, True)
> > #approx = cv2.approxPolyDP(c, 0.5 * peri, True)
> > #print("len(approx)="+str(len(approx)))
> > if len(approx) == 4:
> > print("approx=" + str(approx))
> > cntcounter = cntcounter + 1
> > print("here1")
> > x,y,w,h = cv2.boundingRect(cnt)
> > print("here2")
> > while im is None:
> > time.sleep(1)
> > if im is not None:
> > print("here3")
> > im = cv2.rectangle(im.copy(), (x,y), (x+w, y+h), (0,255,0), 
> > 2)
> > #im = cv2.line(im,(x,y),(x+w,y),(0,255,0),2)
> > #im = cv2.line(im,(x+w,y),(x+w,y+h),(0,255,0),2)
> > #im = cv2.line(im,(x,y+h),(x+w,y+h),(0,255,0),2)
> > #im = cv2.line(im,(x,y),(x,y+h),(0,255,0),2)
> >
> >
> > cv2.imwrite(r'C:\Users\tester\Documents\masda.png',im)
> > --
> > https://mail.python.org/mailman/listinfo/python-list
> 
> not sure but..  this bit reads really suspicious:
> 
> while im is None:
> time.sleep(1)
> 
> if im is ever None then how will it ever become not None? unless there
> is some other thread at work i can't really see this happening.
> and if there is some other thread at work then there is probably some
> better solution than sleep()





-- 
https://mail.python.org/mailman/listinfo/python-list


[issue28180] sys.getfilesystemencoding() should default to utf-8

2016-09-16 Thread Jan Niklas Hasse

Jan Niklas Hasse added the comment:

Unfortunately no, as this would mean I'll have to change all my python 
invocations in my scripts and it wouldn't work for executable files with

#!/usr/bin/env python3

would it?

--

___
Python tracker 

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



[issue28128] Improve the warning message for invalid escape sequences

2016-09-16 Thread Eric V. Smith

Eric V. Smith added the comment:

Here is an extremely rough patch that shows the basic concept. I named the 
private function _PyUnicode_DecodeUnicodeEscape.

The problems with this patch are:
1. it always raises an error, not a warning
2. the private function isn't declared in a .h file
3. the name of the private function needs some thought
4. only the first invalid escape in a string is reported
5. I don't report the correct location in the string with the invalid escape
6. there may well be a memory leak
7. PEP 7 problems

#1 is because I was too lazy to refactor ast_error() to format the string I 
need without raising an error.

#5 could be solved with a callback and something to record multiple bad escapes 
per string, if we want to go that far. We'd have to decide how to show this. 
Multiple warnings, or one warning with multiple bad chars?

The rest of it is just quality of implementation stuff that we can work out if 
the approach is sound.

--
keywords: +patch
Added file: http://bugs.python.org/file44694/28128.diff

___
Python tracker 

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



  1   2   >