Welcome, guest | Sign In | My Account | Store | Cart
# Class to encapsulate a progress indicator

import sys, os

import unittest 

class progressException(Exception): 'Error to raise for any recursive problem.' 

class progress: 

   def __init__ (self): 
      self._twissler = ["|","/","-","\\","|"]
      self._state = 0 
   
   def getStart(self):
      sys.stdout.write('\t[  ') # include 2 spaces for the twissler
      sys.stdout.flush()
      
   def getStart(self, text):
      sys.stdout.write('\t %s [  ' % (text)) # include 2 spaces for the twissler
      sys.stdout.flush()   
   
   def moveOn(self): 
      try:          
         self._state = self._state + 1
         if self._state >= 5:
            self._state = 1                             
         sys.stdout.write( chr(8)+chr(8)+self._twissler[self._state]+']' )
         sys.stdout.flush()             
      except: 
         raise progressException('failed to progress') 
   
   

class TestCase(unittest.TestCase): 
   def setUp(self): 
      pass 
   def tearDown(self): 
      pass 
   def testProgress(self): 
      p = progress()       
      p.getStart()
      for a in range(0,10,1):                                          
         p.moveOn()
         time.sleep(0.2)
      
if __name__ == '__main__': 
   widgetTestSuite = unittest.TestSuite() 
   widgetTestSuite.addTest(TestCase("testProgress")) 
   runner = unittest.TextTestRunner() 
   runner.run(widgetTestSuite) 

History