"[EMAIL PROTECTED]" <[EMAIL PROTECTED]> writes: > Is there a way to get around recursion limits? Help! > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > def incrementProgress(self, window, workorder): > #... > time.sleep(.1) > self.incrementProgress(window, workorder)
You don't show a complete working example, so it's hard to know the context of this. What is the purpose of this function? Why is it performing these last two lines at all? Surely this function should be called by an *external* loop of the actual processing, with no recursion, and no enforced delay. import time class ProgressBar(object): """ Display of progress as a horizontal bar """ update_frequency = 0.1 def __init__(self, window): self.window = window self._prev_increment_time = 0 def increment(self, workorder): """ Increment the progress display """ # ... code to unconditionally update the display self._prev_update_time = time.time() def update(self, workorder): """ Update the progress if necessary """ time_since_update = time.time() - self._prev_update_time if time_since_update >= self.update_frequency: self.increment(workorder) window = however_you_make_a_window() bar = ProgressBar(window) for foo in iterator_of_foos: workorder = do_the_processing(foo) bar.update(workorder) -- \ "Buy not what you want, but what you need; what you do not need | `\ is expensive at a penny." -- Cato, 234-149 BC, Relique | _o__) | Ben Finney -- http://mail.python.org/mailman/listinfo/python-list