def _exposeAllMethods(anyObject, saved, theGlobals, exclude_list): if not exclude_list: exclude_list = [ 'class', 'classDictInit', 'clone', 'equals', 'finalize', 'getClass', 'hashCode', 'notify', 'notifyAll', 'toGlobalCoord', 'toString', 'getLocationFromPSRML', 'getRegionFromPSRM', 'capture', 'selectRegion', 'create', 'observeInBackground', 'waitAll', 'updateSelf', 'findNow', 'findAllNow', 'getEventManager', 'lastMatch', 'lastMatches', 'lastScreenImage', 'lastScreenImageFile'] #Debug.log(3, "Sikuli: _exposeAllMethods: %s called from: %s", anyObject, theGlobals['__name__']) tosave = [] if not saved: saved = [] for name in dir(anyObject): if name in exclude_list: continue try: if not inspect.ismethod(getattr(anyObject,name)): continue except: continue if name[0] != '_' and name[:7] != 'super__': try: saved.remove(name) except: pass tosave.append(name) #print "added:", name theGlobals[name] = eval("anyObject."+name) if name == 'checkWith': Debug.log(3, "%s %s", name, str(dict[name])[1:]) for name in saved: if name in theGlobals: #print "removed:", name theGlobals.pop(name) return tosave
def _exposeAllMethods(anyObject, saved, theGlobals, exclude_list): if not exclude_list: exclude_list = [ "class", "classDictInit", "clone", "equals", "finalize", "getClass", "hashCode", "notify", "notifyAll", "toGlobalCoord", "toString", "getLocationFromPSRML", "getRegionFromPSRM", "capture", "selectRegion", "create", "observeInBackground", "waitAll", "updateSelf", "findNow", "findAllNow", "getEventManager", "lastMatch", "lastMatches", "lastScreenImage", "lastScreenImageFile", ] # Debug.log(3, "Sikuli: _exposeAllMethods: %s called from: %s", anyObject, theGlobals['__name__']) tosave = [] if not saved: saved = [] for name in dir(anyObject): if name in exclude_list: continue try: if not inspect.ismethod(getattr(anyObject, name)): continue except: continue if name[0] != "_" and name[:7] != "super__": try: saved.remove(name) except: pass tosave.append(name) # print "added:", name theGlobals[name] = eval("anyObject." + name) if name == "checkWith": Debug.log(3, "%s %s", name, str(dict[name])[1:]) for name in saved: if name in theGlobals: # print "removed:", name theGlobals.pop(name) return tosave
def initSikuli(scr = None): dict = globals() dict['METHODCATALOG'] = sys.modules[__name__].__dict__ if scr == None: Debug.log(3, "Jython: init SCREEN as ()") dict['SCREEN'] = Screen() else: Debug.log(3, "Jython: init SCREEN as", scr) dict['SCREEN'] = Screen(scr) dict['SCREEN']._exposeAllMethods(__name__)
def observe(self, time=FOREVER, background=False): if not background: return JRegion.observe(self, time) else: if(self.getEvtMgr()) == None: Debug.error("Jython Region: observe: nothing to observe") return None else: r = (JRegion(self)) e = self.getEvtMgr() e.setRegion(r) r.setEvtMgr(e) r.setObserveScanRate(self.getObserveScanRate()) return r.observeInBackground(time)
def __init__(self, id=None): try: if id != None: r = JScreen.getBounds(id) s = JScreen.getScreen(id) else: id = JScreen.getPrimaryId() r = JScreen.getBounds(id) s = JScreen.getScreen(id) (self.x, self.y, self.w, self.h) = (int(r.getX()), int(r.getY()), \ int(r.getWidth()), int(r.getHeight())) self.initScreen(s) except: Debug.log(3, "Jython: init: exception while initializing Screen\n%s", sys.exc_info(0)) sys.exit(1)
def _exposeAllMethods(self, mod): exclude_list = [ 'class', 'classDictInit', 'clone', 'equals', 'finalize', 'getClass', 'hashCode', 'notify', 'notifyAll', 'toGlobalCoord', 'toString', 'getLocationFromPSRML', 'getRegionFromPSRM', 'capture', 'selectRegion', 'create', 'observeInBackground', 'waitAll', 'updateSelf', 'findNow', 'findAllNow', 'getEventManager'] dict = sys.modules[mod].__dict__ for name in dir(self): if name in exclude_list: continue try: if not inspect.ismethod(getattr(self,name)): continue except: continue if name[0] != '_' and name[:7] != 'super__': dict[name] = eval("self."+name) if name == 'checkWith': Debug.log(3, "%s %s", name, str(dict[name])[1:])
def find_module(self, module_name, package_path): if _debug(): print "SikuliImporter.find_module", module_name, package_path module_name = _stripPackagePrefix(module_name) if module_name[0:1] == "*": return None if package_path: paths = package_path else: paths = sys.path for path in paths: mod = self._find_module(module_name, path) if mod: return mod if Sikuli.load(module_name +".jar"): Debug.log(2,module_name + ".jar loaded") return None return None
def __init__(self, id=None): try: #Debug.log(3, "Screen.py: init: %s", id) if id != None: r = JScreen.getBounds(id) s = JScreen.getScreen(id) else: id = JScreen.getPrimaryId() r = JScreen.getBounds(id) s = JScreen.getScreen(id) (self.x, self.y, self.w, self.h) = (int(r.getX()), int(r.getY()), \ int(r.getWidth()), int(r.getHeight())) #Debug.log(3, "Screen.py: before initScreen: %s", s) self.initScreen(s) except: Debug.error("Jython: init: exception while initializing Screen\n%s", sys.exc_info(0)) sys.exit(1)
def find_module(self, module_name, package_path): if _debug(): print "SikuliImporter.find_module", module_name, package_path module_name = _stripPackagePrefix(module_name) if module_name[0:1] == "*": return None if package_path: paths = package_path else: paths = sys.path for path in paths: mod = self._find_module(module_name, path) if mod: return mod if Sikuli.load(module_name + ".jar"): Debug.log(2, module_name + ".jar loaded") return None return None
def make_fzone_trades(number_of_tabs, trade_array, num_trade_cycles=-1, wait_time=3600, separate_trades=False): exchange = Pattern(png.fzone_exchange).similar(0.99) totals = [0] * number_of_tabs cycles = 0 while (cycles != num_trade_cycles): for i in xrange(number_of_tabs): trades = trade_array if (separate_trades): trades = trade_array[i % len(trade_array)] trades = [Pattern(trade).similar(0.95) for trade in trades] if (num_trade_cycles != 1): for p in [ Pattern(png.menu_close_button).similar(.80), png.mainscreen_icon_forbidden_zone ]: sri.click(p, 1) time.sleep(0.6) regions = [] to_click = True for trade in trades: if (sri.exists(trade)): if (to_click): sri.click(sri.getLastMatch()) to_click = False Debug.log(str(trade)) regions += sri.find_all(trade) for r in regions: totals[i] += sri.click(exchange, 1, r.below(100)) time.sleep(0.5) sri.switch_tab_right() time.sleep(0.5) for i in xrange(number_of_tabs): sri.switch_tab_left() time.sleep(0.2) Debug.log("Number of trades so far is {}".format(str(totals))) cycles += 1 time.sleep(wait_time)
def use(scr = None, remote = False): if remote: theGlobals = inspect.currentframe().f_back.f_back.f_globals else: theGlobals = inspect.currentframe().f_back.f_globals global remoteScreen if remoteScreen: remoteScreen.close() remoteScreen = None if not scr: SCREEN = Screen() else: SCREEN = scr Debug.log(3, "Jython: requested to use as default region: " + SCREEN.toStringShort()) globals()['SIKULISAVED'] = _exposeAllMethods(SCREEN, globals().get('SIKULISAVED'), theGlobals, None) theGlobals['SCREEN'] = SCREEN if remote: remoteScreen = SCREEN return SCREEN
# Copyright 2010-2013, Sikuli.org # Released under the MIT License. # modified RaiMan 2013 from __future__ import with_statement from org.sikuli.basics import Debug Debug.log(3, "Jython: sikuli: Sikuli: entering") import time import __builtin__ import __main__ import types import sys import os Debug.log(3, "Jython: sikuli: Sikuli: constants") import org.sikuli.script.FindFailed as FindFailed from org.sikuli.script.FindFailedResponse import * from org.sikuli.script.Constants import * import org.sikuli.script.Button as Button from org.sikuli.script.Button import WHEEL_UP, WHEEL_DOWN from org.sikuli.basics import OS Debug.log(3, "Jython: sikuli: Sikuli: import Region") from org.sikuli.script import Region as JRegion from Region import * Debug.log(3, "Jython: sikuli: Sikuli: import Screen") from org.sikuli.script import Screen as JScreen from Screen import * Debug.log(3, "Jython: sikuli: Sikuli: Env.addHotkey")
# Copyright 2010-2013, Sikuli.org # Released under the MIT License. # modified RaiMan 2013 from __future__ import with_statement from org.sikuli.basics import Debug Debug.log(3, "Jython: sikuli: Sikuli: starting init") import time import __builtin__ import __main__ import types import sys import os import inspect Debug.log(4, "Jython: sikuli: Sikuli: constants") import org.sikuli.script.FindFailed as FindFailed from org.sikuli.script.FindFailedResponse import * from org.sikuli.script.Constants import * import org.sikuli.script.Button as Button from org.sikuli.script.Button import WHEEL_UP, WHEEL_DOWN from org.sikuli.basics import OS Debug.log(4, "Jython: sikuli: Sikuli: import Region") from org.sikuli.script import Region as JRegion from Region import * from org.sikuli.script import Observing Debug.log(4, "Jython: sikuli: Sikuli: import Screen") from org.sikuli.script import Screen as JScreen from Screen import *
# Copyright 2010-2013, Sikuli.org # Released under the MIT License. # modified RaiMan 2013 from org.sikuli.basics import Debug Debug.log(3, "Jython: sikuli: __init__: entering") from Sikuli import *
def _debug(): if Debug.getDebugLevel() > 3: return True else: return False
def _debug(): if Debug.getDebugLevel() > 3: return True else: return False;