From ca1ea531246912040cc9e26e7e7d83f3c0f84e3b Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 18 May 2008 18:44:49 +0300 Subject: Rewrote do-until in Python, in preparation for command line parsing. --- do-until | 45 +++++++++++++++++++++++++++++++++------------ 1 file changed, 33 insertions(+), 12 deletions(-) (limited to 'do-until') diff --git a/do-until b/do-until index d9dc863..4aea815 100755 --- a/do-until +++ b/do-until @@ -1,12 +1,33 @@ -#!/bin/sh -# -# do-until - run a command until it succeeds -# -# Lars Wirzenius - -cmdline="$@" -while ! $cmdline -do - echo "Command failed, trying again in 1 second" - sleep 1 -done +#!/usr/bin/python + + +"""Run a command until it succeeds. + +Lars Wirzenius +""" + + +import subprocess +import sys +import time + + +def do_until(argv): + while True: + p = subprocess.Popen(argv) + p.communicate() + if p.returncode == 0: + break + sys.stderr.write("do-until: command failed, " + "trying again in 1 second\n") + time.sleep(1) + + +def main(): + argv = sys.argv[1:] + if argv: + do_until(argv) + + +if __name__ == "__main__": + main() -- cgit v1.2.1