← Back to team overview

sikuli-driver team mailing list archive

[Bug 777037] Re: X-1.0rc2: findAll() fails instead of returning None --- doc to be updated

 

Had a look at the docs:

It is a bit tricky, if you look only at the description of findAll():

Returns: .... None if not found

But in the preface of class Region, it says:

As a default, if the visual object (image or text) cannot be found,
Sikuli will stop the script by raising an Exception FindFailed. This
follows the standards of the Python language, so that you could handle
such exceptions using try: ... except: ....

And this is the fact for ALL explicit and implicit find operations
(except exists()).

So the docs are correct in a weird way:
it only returns None, IF it returns - but in the standard it does not return at all, it stops with an exception ;-)

Since it is hair-splitting and not user friendly, I will find a way to
rewrite the docs to be clear for that case (all explicit and implicit
find operations affected)

-- 
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 to be
  updated

Status in Sikuli:
  Fix Committed

Bug description:
  the docs have to be 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