[debug] RunTimeINIT: loadOptions: check: C:\Users\TomWin7\Desktop\SIKULI\NewSikuli [debug] RunTimeINIT: loadOptions: check: C:\Users\TomWin7 [debug] RunTimeINIT: loadOptions: check: C:\Users\TomWin7\AppData\Roaming\Sikulix\SikulixStore [debug] RunTimeINIT: global init: entering as: IDE [debug] RunTimeINIT: ScreenDevice 0 contains (0,0) --- will be used as primary [debug] RunTimeINIT: fSxBase: C:\Users\TomWin7\Desktop\SIKULI\NewSikuli [debug] RunTimeINIT: runs as sikulix.jar in: C:\Users\TomWin7\Desktop\SIKULI\NewSikuli [debug] RunTimeINIT: exists libs folder at: C:\Users\TomWin7\AppData\Roaming\Sikulix\SikulixLibs_201504030100 [debug] RunTimeINIT: addToWindowsSystemPath: added to systempath: C:\Users\TomWin7\AppData\Roaming\Sikulix\SikulixLibs_201504030100 [debug] RunTimeINIT: checkJavaUsrPath: added to ClassLoader.usrPaths ***** show environment for IDE (build 201504030100) user.home: C:\Users\TomWin7 user.dir (work dir): C:\Users\TomWin7\Desktop\SIKULI\NewSikuli user.name: TomWin7 java.io.tmpdir: C:\Users\TomWin7\AppData\Local\Temp running 32Bit on Windows (6.1) from a jar java 7-32 version 1.7.0_55-b14 vm 24.55-b03 class 51.0 arch x86 app data folder: C:\Users\TomWin7\AppData\Roaming\Sikulix libs folder: C:\Users\TomWin7\AppData\Roaming\Sikulix\SikulixLibs_201504030100 executing jar: C:\Users\TomWin7\Desktop\SIKULI\NewSikuli\sikulix.jar *** classpath dump sikulix 0: /C:/Users/TomWin7/Desktop/SIKULI/NewSikuli/sikulix.jar *** classpath dump end ***** show environment end [debug] RunTimeIDE: global init: leaving [debug] RunTimeIDE: initIDEbefore: entering [debug] RunTimeIDE: initIDEbefore: leaving [debug] init user preferences [debug] IDE: running with Locale: en_US [debug] --- Sikuli parameters --- [debug] 1: -d [debug] 2: 3 [debug] 3: -c [info] HotkeyManager: add Capture Hotkey: CTRL+SHIFT 9 (57, 3) [debug] HotkeyManager: add Capture Hotkey: CTRL+SHIFT 9 (57, 3) [info] HotkeyManager: add Abort Hotkey: ALT+SHIFT C (67, 9) [debug] HotkeyManager: add Abort Hotkey: ALT+SHIFT C (67, 9) [debug] ScriptingSupport: initScriptingSupport: enter [debug] JythonSupport: init: starting [debug] JythonSupport: init: success [debug] JythonSupport: ***** Jython sys.path 0: C:\Users\TomWin7\Desktop\SIKULI\NewSikuli\Lib 1: C:\Users\TomWin7\Desktop\SIKULI\NewSikuli\sikulix.jar\Lib 2: __classpath__ 3: __pyclasspath__/ [debug] JythonSupport: ***** Jython sys.path end [debug] Jython: sikuli: Sikuli: starting init [debug] RunTimeIDE: loadLib: VisionProxy.dll [debug] Mouse: init [debug] KeyBoard: init [debug] Screen: initScreens: multi monitor mouse check [debug] Screen: *** checking: S(0)[0,0 1920x1080] center: (960, 540) --- OK [debug] Screen: *** checking: S(1)[1920,0 1280x1024] center: (2560, 512) --- OK [debug] RunTimeIDE: loadLib: WinUtil.dll [debug] Jython: requested to use as default region: R[0,0 1920x1080]@S(0) [debug] Jython: sikuli: Sikuli: ending init [debug] JythonScriptRunner: running Jython 2.7b4 [debug] ScriptingSupport: initScriptingSupport: added: jython [debug] ScriptingSupport: initScriptingSupport: warning: org.sikuli.scriptrunner.IScriptRunner: Provider org.sikuli.scriptrunner.JRubyScriptRunner could not be instantiated [debug] ScriptingSupport: initScriptingSupport: exit with defaultrunner: jython(py) [debug] IDE: Adding components to window [debug] [I18N] menuRecent [debug] IDE: creating tabbed editor [debug] IDE: creating message area [debug] IDE: creating combined work window [debug] IDE: Putting all together [debug] restore session: C:\Users\TomWin7\Desktop\SIKULI\ConfirmDataEntry\_main.sikuli [debug] IDE: doNew: create new tab at: -1 [debug] EditorPane: EditorPane: creating new pane (constructor) [debug] EditorPane: loadfile: C:\Users\TomWin7\Desktop\SIKULI\ConfirmDataEntry\_main.sikuli [debug] ImagePath: new BundlePath: /C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/_main.sikuli/ [debug] EditorPane: initBeforeLoad: py [debug] EditorPane: updateDocumentListeners from: initBeforeLoad [debug] EditorPane: InitTab: (text/python) [debug] SikuliEditorKit.read [debug] EditorPane: updateDocumentListeners from: loadFile [debug] restore session: C:\Users\TomWin7\Desktop\SIKULI\ConfirmDataEntry\trans_PostBill.sikuli [debug] IDE: doNew: create new tab at: -1 [debug] EditorPane: EditorPane: creating new pane (constructor) [debug] EditorPane: loadfile: C:\Users\TomWin7\Desktop\SIKULI\ConfirmDataEntry\trans_PostBill.sikuli [debug] Image: purge: ImagePath: /C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/_main.sikuli/ [debug] ImagePath: new BundlePath: /C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/trans_PostBill.sikuli/ [debug] EditorPane: initBeforeLoad: py [debug] EditorPane: updateDocumentListeners from: initBeforeLoad [debug] EditorPane: InitTab: (text/python) [debug] SikuliEditorKit.read [debug] EditorPane: updateDocumentListeners from: loadFile [debug] restore session: C:\Users\TomWin7\Desktop\SIKULI\ConfirmDataEntry\bill_MonthlyCycle.sikuli [debug] IDE: doNew: create new tab at: -1 [debug] EditorPane: EditorPane: creating new pane (constructor) [debug] EditorPane: loadfile: C:\Users\TomWin7\Desktop\SIKULI\ConfirmDataEntry\bill_MonthlyCycle.sikuli [debug] Image: purge: ImagePath: /C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/trans_PostBill.sikuli/ [debug] ImagePath: new BundlePath: /C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/bill_MonthlyCycle.sikuli/ [debug] EditorPane: initBeforeLoad: py [debug] EditorPane: updateDocumentListeners from: initBeforeLoad [debug] EditorPane: InitTab: (text/python) [debug] SikuliEditorKit.read [debug] EditorPane: updateDocumentListeners from: loadFile [debug] restore session: C:\Users\TomWin7\Desktop\SIKULI\ConfirmDataEntry\myTools.sikuli [debug] IDE: doNew: create new tab at: -1 [debug] EditorPane: EditorPane: creating new pane (constructor) [debug] EditorPane: loadfile: C:\Users\TomWin7\Desktop\SIKULI\ConfirmDataEntry\myTools.sikuli [debug] Image: purge: ImagePath: /C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/bill_MonthlyCycle.sikuli/ [debug] ImagePath: new BundlePath: /C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/ [debug] EditorPane: initBeforeLoad: py [debug] EditorPane: updateDocumentListeners from: initBeforeLoad [debug] EditorPane: InitTab: (text/python) [debug] SikuliEditorKit.read [debug] Image: loaded: billing_date_statusbar.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/billing_date_statusbar.png) [debug] Image: cached: billing_date_statusbar.png (5 KB) (# 1 KB 5 -- 0 % of 64MB) [debug] Image: loaded: export_successful_small.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/export_successful_small.png) [debug] Image: cached: export_successful_small.png (4 KB) (# 2 KB 9 -- 0 % of 64 MB) [debug] Image: loaded: export_successful_wide.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/export_successful_wide.png) [debug] Image: cached: export_successful_wide.png (5 KB) (# 3 KB 15 -- 0 % of 64 MB) [debug] Image: loaded: slip_trans_date.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/slip_trans_date.png) [debug] Image: cached: slip_trans_date.png (5 KB) (# 4 KB 20 -- 0 % of 64 MB) [debug] Image: reused: slip_trans_date.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/slip_trans_date.png) [debug] Image: loaded: add_filter.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/add_filter.png) [debug] Image: cached: add_filter.png (0 KB) (# 5 KB 20 -- 0 % of 64 MB) [debug] Image: loaded: apply_this_rule.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/apply_this_rule.png) [debug] Image: cached: apply_this_rule.png (2 KB) (# 6 KB 23 -- 0 % of 64 MB) [debug] Image: loaded: finalize_msg.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/finalize_msg.png) [debug] Image: cached: finalize_msg.png (5 KB) (# 7 KB 28 -- 0 % of 64 MB) [debug] Image: loaded: replace_it.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/replace_it.png) [debug] Image: cached: replace_it.png (6 KB) (# 8 KB 34 -- 0 % of 64 MB) [debug] Image: loaded: recalc_msg.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/recalc_msg.png) [debug] Image: cached: recalc_msg.png (9 KB) (# 9 KB 43 -- 0 % of 64 MB) [debug] Image: loaded: completed.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/completed.png) [debug] Image: cached: completed.png (2 KB) (# 10 KB 45 -- 0 % of 64 MB) [debug] Image: loaded: calculating_msg.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/calculating_msg.png) [debug] Image: cached: calculating_msg.png (2 KB) (# 11 KB 48 -- 0 % of 64 MB) [debug] Image: loaded: mark_exported.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/mark_exported.png) [debug] Image: cached: mark_exported.png (9 KB) (# 12 KB 57 -- 0 % of 64 MB) [debug] Image: reused: replace_it.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/replace_it.png) [debug] Image: reused: recalc_msg.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/recalc_msg.png) [debug] Image: loaded: clients_processed.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/clients_processed.png) [debug] Image: cached: clients_processed.png (3 KB) (# 13 KB 60 -- 0 % of 64 MB) [debug] Image: loaded: inv_num_column.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/inv_num_column.png) [debug] Image: cached: inv_num_column.png (2 KB) (# 14 KB 63 -- 0 % of 64 MB) [debug] Image: loaded: ar_balance.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/ar_balance.png) [debug] Image: cached: ar_balance.png (2 KB) (# 15 KB 66 -- 0 % of 64 MB) [debug] Image: loaded: funds_account.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/funds_account.png) [debug] Image: cached: funds_account.png (2 KB) (# 16 KB 68 -- 0 % of 64 MB) [debug] Image: loaded: tsimport_menubar.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/tsimport_menubar.png) [debug] Image: cached: tsimport_menubar.png (10 KB) (# 17 KB 79 -- 0 % of 64 MB) [debug] Image: loaded: save_msg.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/save_msg.png) [debug] Image: cached: save_msg.png (6 KB) (# 18 KB 86 -- 0 % of 64 MB) [debug] Image: loaded: go_back_edit_transaction.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/go_back_edit_transaction.png) [debug] Image: cached: go_back_edit_transaction.png (5 KB) (# 19 KB 91 -- 0 % of 64 MB) [debug] Image: loaded: design_tool.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/design_tool.png) [debug] Image: cached: design_tool.png (1 KB) (# 20 KB 92 -- 0 % of 64 MB) [debug] Image: loaded: 1-27-2013-white.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/1-27-2013-white.png) [debug] Image: cached: 1-27-2013-white.png (1 KB) (# 21 KB 93 -- 0 % of 64 MB) [debug] Image: loaded: 1-27-2013-yellow.png (file:/C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/1-27-2013-yellow.png) [debug] Image: cached: 1-27-2013-yellow.png (1 KB) (# 22 KB 94 -- 0 % of 64 MB) [debug] EditorPane: updateDocumentListeners from: loadFile [debug] restore session: C:\Users\TomWin7\Desktop\SIKULI\ConfirmDataEntry\reports_PostBill.sikuli [debug] IDE: doNew: create new tab at: -1 [debug] EditorPane: EditorPane: creating new pane (constructor) [debug] EditorPane: loadfile: C:\Users\TomWin7\Desktop\SIKULI\ConfirmDataEntry\reports_PostBill.sikuli [debug] Image: purge: ImagePath: /C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/myTools.sikuli/ [debug] ImagePath: new BundlePath: /C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/reports_PostBill.sikuli/ [debug] EditorPane: initBeforeLoad: py [debug] EditorPane: updateDocumentListeners from: initBeforeLoad [debug] EditorPane: InitTab: (text/python) [debug] SikuliEditorKit.read [debug] EditorPane: updateDocumentListeners from: loadFile [debug] Image: purge: ImagePath: /C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEnt ry/reports_PostBill.sikuli/ [debug] ImagePath: new BundlePath: /C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/_main.sikuli/ [info] IDE startup: 4.7 seconds [debug] IDE startup: 4.7 seconds [debug] Image: purge: ImagePath: /C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/_main.sikuli/ [debug] ImagePath: new BundlePath: /C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/reports_PostBill.sikuli/ [debug] MenuAction.doSave [debug] EditorPane: writeSrcFile: reports_PostBill.py [debug] EditorPane: cleanBundle [debug] EditorPane: parseforImages: in C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/reports_PostBill.sikuli [debug] MenuAction.doSave [debug] EditorPane: writeSrcFile: reports_PostBill.py [debug] EditorPane: cleanBundle [debug] EditorPane: parseforImages: in C:/Users/TomWin7/Desktop/SIKULI/ConfirmDataEntry/reports_PostBill.sikuli [error] IDE: Problem when trying to invoke menu action doSave Error: null The result was that I no longer get the message when saving, but the following results are still there: - the asterisk still shows on the tab - when closing SikulixIDE, I'm prompted to Save - if I choose Save All and Quit, the message closes, but SikulixIDE remains open and the asterisk still shows on the tab I suspect it's a combination of # comments and """ comments. Here's what my script looks like when I open it. from sikuli import * import logging import email_Send import report_AgedARBal import report_Budgets import report_DaysToPay import report_FeeAlloc import report_FundsBal import report_Hold import report_PayDistr import report_PBWorksheet import report_ProdPeriod import report_ProfPeriod import report_Markup import report_SlipSummary import report_Statement import report_Taxes import report_TkCC import report_TkCollections import report_TkContribution import report_TkHistory import report_TOWorksheet import report_UDSlip import report_UDClient import report_UDFunds import report_UDInvoice import report_GLXfer #---------------------------------------------------# def fPrint_PostbillReports(pMonth,pAorB): #---------------------------------------------------# # print various reports to check db values and calculations csvExt = pAorB + ".csv" txtExt = pAorB + ".txt" report_AgedARBal.Print_ARAgedBal(pMonth,csvExt) report_UDSlip.fPrint_SlipListDetailed(pMonth,csvExt) report_UDSlip.fPrint_SlipFields(pMonth,csvExt) report_UDSlip.fPrint_SlipListCalc(pMonth,csvExt) report_UDClient.fPrint_ClientListHistory(pMonth,csvExt) report_TkHistory.Print_TkHistory(pMonth,csvExt) report_TkContribution.Print_TkContribution(pMonth,csvExt) report_TkCC.Print_TkCC(pMonth,csvExt) report_FundsBal.fPrint_FundsBal(pMonth,csvExt) report_Taxes.Print_Taxes(pMonth,csvExt) report_TOWorksheet.Print_Worksheet(pMonth,csvExt) report_PBWorksheet.fPrint_PreBill(pMonth,txtExt) report_ProdPeriod.print_ProdPeriod(pMonth,csvExt) report_ProfPeriod.print_ProfPeriod(pMonth,csvExt) report_Markup.print_Markup(pMonth,csvExt) report_SlipSummary.print_SlipSummary(pMonth,csvExt) report_Statement.fPrint_Statement(pMonth,txtExt) report_UDInvoice.fPrint_InvoiceListFields(pMonth,csvExt) report_Budgets.printCliBudget(pMonth,csvExt) report_Budgets.printTkBudget(pMonth,csvExt) report_Budgets.printFirmBudget(pMonth,csvExt) report_GLXfer.Print_GLXfer(pMonth,csvExt) if (pMonth == 13): # skip some reports for ba clients logging.debug('') logging.debug('!!! SKIP UD FUNDS REPORT') logging.debug('!!! SKIP HOLD REPORT') else: report_UDFunds.fPrint_FundsListFields(pMonth,csvExt) report_Hold.Print_Hold(pMonth,csvExt) if (pMonth == 13) or ((pMonth == 1) and (pAorB == "a")): # fee allocation cannot be run without some payments entered logging.debug('') logging.debug('!!! SKIP COLLECTIONS REPORT') logging.debug('!!! SKIP FEE ALLOCATION REPORT') logging.debug('!!! SKIP PAYMENT DISTR REPORT') else: report_TkCollections.Print_TkCollections(pMonth,txtExt) report_FeeAlloc.Print_FeeAlloc(pMonth,csvExt) report_PayDistr.Print_PayDistr(pMonth,csvExt) # report_UDClient.fPrint_ClientListValues(pMonth,csvExt) # report_DaysToPay.print_DaysToPay(pMonth,csvExt) # email_Send.fSend_Email("rep " + str(pMonth) + pAorB) email_Send.fSend_Text("rep " + str(pMonth) + pAorB) And if I comment out the series of if/else blocks, and try to save (like below), I get the error. """ if (pMonth == 13): # skip some reports for ba clients logging.debug('') logging.debug('!!! SKIP UD FUNDS REPORT') logging.debug('!!! SKIP HOLD REPORT') else: report_UDFunds.fPrint_FundsListFields(pMonth,csvExt) report_Hold.Print_Hold(pMonth,csvExt) if (pMonth == 13) or ((pMonth == 1) and (pAorB == "a")): # fee allocation cannot be run without some payments entered logging.debug('') logging.debug('!!! SKIP COLLECTIONS REPORT') logging.debug('!!! SKIP FEE ALLOCATION REPORT') logging.debug('!!! SKIP PAYMENT DISTR REPORT') else: report_TkCollections.Print_TkCollections(pMonth,txtExt) report_FeeAlloc.Print_FeeAlloc(pMonth,csvExt) report_PayDistr.Print_PayDistr(pMonth,csvExt) """ I hope this helps, - Tom