sikuli-driver team mailing list archive
-
sikuli-driver team
-
Mailing list archive
-
Message #32179
Re: [Question #266141]: [1.1.0] Jython-2.7-rc3: Subclassing Region: with __init__ the java level constructors not used with super()__init__(), leaving Region "empty" --- workaround
Question #266141 on Sikuli changed:
https://answers.launchpad.net/sikuli/+question/266141
Description changed to:
********* workaround
setup a subclass of Region this way:
class MyRegion(Region):
def __init__(self, x=1, y=1, w=1, h=1):
self.setRect(x, y, w, h)
-----------------------------------------------------------
Installed nightly sikulixsetup-1.1.0-20150427.231036-54-forsetup, and my
old code is breaking when I try to highlight a class that extends
Region. The code worked fine with Sikuli from Dec 2014 and recently
with sikulixsetup-1.1.0-20150417
Here is the simple code:
# begin code ===============================
import org.sikuli.basics.SikulixForJython
from sikuli import *
def highlight_flash(rejun, cycles=1, lightsec=1, darksec=0.25):
if rejun != None:
for i in range(cycles):
rejun.highlight(lightsec)
wait(darksec)
class SLRegion(Region):
def __init__(self, x=1, y=1, w=1, h=1):
super(SLRegion, self).__init__(x, y, w, h)
rejun = Region(100,100,100,100)
highlight_flash(rejun, 3)
rejun = SLRegion(100,100,100,100)
highlight_flash(rejun, 3)
# ============================================= end.
The first call to highlight_flash(...) works fine - flashes 100x100 box 3 times.
The second call fails with Null Pointer...
# begin Sikuli_IDE Log Message Window Output ==============
[log] highlight R[100,100 100x100]@S(0)[0,0 1280x1024] E:Y, T:3.0 for
1.0 secs
[log] highlight R[100,100 100x100]@S(0)[0,0 1280x1024] E:Y, T:3.0 for
1.0 secs
[log] highlight R[100,100 100x100]@S(0)[0,0 1280x1024] E:Y, T:3.0 for
1.0 secs
[log] highlight R[0,0 0x0]@Screen null E:Y, T:3.0 for 1.0 secs
[error] script [ deletelater ] stopped with error in line 18
[error] java.lang.NullPointerException ( java.lang.NullPointerException )
[error] --- Traceback --- error source first line: module ( function ) statement 7: main ( highlight_flash ) rejun.highlight(lightsec)
[error] --- Traceback --- end --------------
# end Sikuli_IDE Log Message Window Output ==============
and here is what it tells me when I run the same code in Eclipse...
# begin Eclipse Luna Error Output ==============
console: Failed to install '': java.nio.charset.UnsupportedCharsetException: cp0.
pydev debugger: starting (pid: 10232)
[log] highlight R[100,100 100x100]@S(0)[0,0 1280x1024] E:Y, T:3.0 for 1.0 secs
[log] highlight R[100,100 100x100]@S(0)[0,0 1280x1024] E:Y, T:3.0 for 1.0 secs
[log] highlight R[100,100 100x100]@S(0)[0,0 1280x1024] E:Y, T:3.0 for 1.0 secs
[log] highlight R[0,0 0x0]@Screen null E:Y, T:3.0 for 1.0 secs
Traceback (most recent call last):
File "C:\usrbin\eclipse\plugins\org.python.pydev_4.0.0.201504132356\pysrc\pydevd.py", line 2278, in <module>
globals = debugger.run(setup['file'], None, None)
File "C:\usrbin\eclipse\plugins\org.python.pydev_4.0.0.201504132356\pysrc\pydevd.py", line 1704, in run
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\sl\bin\sikuli\deletelater.sikuli\deletelater.py", line 18, in <module>
highlight_flash(rejun, 3)
File "C:\sl\bin\sikuli\deletelater.sikuli\deletelater.py", line 7, in highlight_flash
rejun.highlight(lightsec)
at org.sikuli.util.ScreenHighlighter.captureScreen(ScreenHighlighter.java:205)
at org.sikuli.util.ScreenHighlighter.highlight(ScreenHighlighter.java:182)
at org.sikuli.util.ScreenHighlighter.highlight(ScreenHighlighter.java:192)
at org.sikuli.script.Region.highlight(Region.java:2015)
at org.sikuli.script.Region.highlight(Region.java:2043)
at org.sikuli.script.Region.highlight(Region.java:2027)
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)
java.lang.NullPointerException: java.lang.NullPointerException
# end Eclipse Luna Error Output ==============
--
You received this question notification because you are a member of
Sikuli Drivers, which is an answer contact for Sikuli.