sikuli-driver team mailing list archive
-
sikuli-driver team
-
Mailing list archive
-
Message #02545
[Bug 777037] Re: X-1.0rc2: findAll() fails instead of returning None --- doc updated
http://sikuli.org/docx/region.html#Region.findAll
There is a mistake - returns 'one ore more'. Like when Sikuli is used to control mines, it results in more ore extracted. =)
I'd rewrite this statement as `Returns: matched objects as an iterator
or fails`with `fails` as a link. Less text - easier to read - makes
Sikuli more intuitive, i.e. more awesome.
For me returning None when nothing is found is perfectly fine for a
scripting language. Exceptions seriously complicate stuff, especially in
findAll() case. IMO it should not be default if the default is not
publicly grounded (e.g. like
http://www.pyside.org/docs/pseps/psep-0100.html). I see the reasoning
behind debug, but I believe there is a much better way - by producing
debug messages about how much results findAll() returns for certain
debug log level. Then, using transparent log window that's always on top
(and global shortcuts), it will be possible to debug execution more
conveniently.
Maybe it is useful to add parameter for raising exception into
findAll()?
http://sikuli.org/docx/region.html#patternnotfound
Is there any difference between "as a default" and "by default"?
--
You received this bug notification because you are a member of Sikuli
Drivers, which is subscribed to Sikuli.
https://bugs.launchpad.net/bugs/777037
Title:
X-1.0rc2: findAll() fails instead of returning None --- doc updated
Status in Sikuli:
Fix Released
Bug description:
the docs have been updated to clearly describe the current behavior of findAll()
--------------------------------------------------------------------------
According to docs, findAll() should return None if images are not found, but it fails instead.
Docs: http://sikuli.org/docx/region.html#Region.findAll
Command: fields = findAll([image here])
[profile] Finder.findAll START
[profile] Finder.findAll END: 1074ms
[error] Stopped
[error] An error occurs at line 6
[error] Error message: Traceback (most recent call last):
File "C:\Users\useri\AppData\Local\Temp\sikuli-tmp2446174342086249181.py", line 6, in
lettu_fields = findAll("1304497590779.png")
File "C:\SikuliX\sikuli-script.jar\Lib\sikuli\Region.py", line 76, in findAll
Line 14, in file C:\Users\useri\AppData\Local\Temp\sikuli-tmp2446174342086249181.py
at org.sikuli.script.Region.handleFindFailed(Region.java:349)
at org.sikuli.script.Region.findAll(Region.java:386)
at org.python.proxies.sikuli.Region$Region$1.super__findAll(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
org.sikuli.script.FindFailed: FindFailed: can not find 1304497590779.png
Line 14
, in file C:\Users\useri\AppData\Local\Temp\sikuli-tmp2446174342086249181.py
References