Difference between revisions of "Python/ViewingIntermediateResults"

From Apache OpenOffice Wiki
Jump to: navigation, search
m
 
(8 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
{{DISPLAYTITLE:Viewing intermediate results}}
 
{{DISPLAYTITLE:Viewing intermediate results}}
  
This script was published by kilorun and  at the [http://forum.openoffice.org/en/forum/viewtopic.php?f=45&t=63067 OpenOffice Basic, Python, BeanShell, JavaScript Forum].
+
This script was published by kilorun at the [https://forum.openoffice.org/en/forum/viewtopic.php?f=45&t=63067 OpenOffice Basic, Python, BeanShell, JavaScript Forum].
  
kilorun is developing a Python macro embedded in a Calc document to scrape data from various web pages and paste some results in cells in the spreadsheet.
+
This script is used to update in real time, the insertion into Calc when getting data from external sources like a website, without having to wait until the macro had finished before seeing the results.
  
It worked, but when starting the first version of the macro, we had wait until the macro has finished before seeing the results.
+
The forum doesn't mention this scrapping issue, it only focuses on eliminating the "threshold of the process by updating the status indicator".
 
+
It has now been fixed with the following code:
+
+
  
 
== Original code ==
 
== Original code ==
<source lang="Python">
+
<syntaxhighlight lang="Python">
 
import time  
 
import time  
  
Line 34: Line 31:
 
       time.sleep(1)  
 
       time.sleep(1)  
  
   oStatusIndicator.setText( "Process finished" )</source>
+
   oStatusIndicator.setText( "Process finished" )
 +
</syntaxhighlight>
  
  

Latest revision as of 14:08, 15 May 2021


This script was published by kilorun at the OpenOffice Basic, Python, BeanShell, JavaScript Forum.

This script is used to update in real time, the insertion into Calc when getting data from external sources like a website, without having to wait until the macro had finished before seeing the results.

The forum doesn't mention this scrapping issue, it only focuses on eliminating the "threshold of the process by updating the status indicator".

Original code

import time 
 
def myTest3():    
   oDoc = XSCRIPTCONTEXT.getDocument() 
   oSheets = oDoc.getSheets() 
   mySheet = oSheets.getByName("Sheet1") 
 
   # set up Status Indicator
   Controller = oDoc.getCurrentController()
   DocFrame = Controller.getFrame()
   oStatusIndicator = DocFrame.createStatusIndicator() 
   oStatusIndicator.start( "", 1 ) 
 
   mySheet.getColumns().removeByIndex(0, 1) 
 
   oStatusIndicator.setText( "Process started" )
 
   for i in range(0,5): 
      oStatusIndicator.setText( "Processing: " + str(i) )
      mySheet.getCellByPosition(0,i).Value = i 
      time.sleep(1) 
 
   oStatusIndicator.setText( "Process finished" )


Process of the script

Personal tools