summaryrefslogtreecommitdiff
path: root/python/skytools/scripting.py
diff options
context:
space:
mode:
authorMarko Kreen2009-12-03 15:27:53 +0000
committerMarko Kreen2009-12-03 15:27:53 +0000
commit6c4bc8c6b9f502ad15c2e50d40e519446609e635 (patch)
tree71fbbddfe519146948ff217508863daa73fd70f2 /python/skytools/scripting.py
parentf51bf4382e8ecc8c08cfcf45f7db836ef8648939 (diff)
DBScript.run_func_safely: stop playing with prefer_looping
Precalculating 'prefer_looping' does not work as the parameters may be changed inside called function.
Diffstat (limited to 'python/skytools/scripting.py')
-rw-r--r--python/skytools/scripting.py9
1 files changed, 3 insertions, 6 deletions
diff --git a/python/skytools/scripting.py b/python/skytools/scripting.py
index dfdee696..cc81d8c7 100644
--- a/python/skytools/scripting.py
+++ b/python/skytools/scripting.py
@@ -632,9 +632,6 @@ class DBScript(object):
"Run users work function, safely."
cname = None
emsg = None
- if prefer_looping:
- if not self.looping or self.loop_delay <= 0:
- prefer_looping = False
try:
return func()
except UsageError, d:
@@ -648,13 +645,13 @@ class DBScript(object):
sys.exit(1)
except SystemExit, d:
self.send_stats()
- if prefer_looping:
+ if prefer_looping and self.looping and self.loop_delay > 0:
self.log.info("got SystemExit(%s), exiting" % str(d))
self.reset()
raise d
except KeyboardInterrupt, d:
self.send_stats()
- if prefer_looping:
+ if prefer_looping and self.looping and self.loop_delay > 0:
self.log.info("got KeyboardInterrupt, exiting")
self.reset()
sys.exit(1)
@@ -683,7 +680,7 @@ class DBScript(object):
# reset and sleep
self.reset()
self.exception_hook(d, emsg, cname)
- if prefer_looping:
+ if prefer_looping and self.looping and self.loop_delay > 0:
self.sleep(20)
return -1
sys.exit(1)