cmd/wait_for_internet.py

38 lines
962 B
Python

'''
wait_for_internet
=================
This program will block until internet access is available. It can be useful to
run this program before running another program that expects an internet
connection.
> wait_for_internet timeout
timeout:
An integer number of seconds, after which to give up and return 1.
'''
import argparse
import sys
from voussoirkit import betterhelp
from voussoirkit import networktools
from voussoirkit import vlogging
def wait_for_internet_argparse(args):
try:
networktools.wait_for_internet(timeout=args.timeout)
return 0
except networktools.NoInternet:
return 1
@vlogging.main_decorator
def main(argv):
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('timeout', type=int)
parser.set_defaults(func=wait_for_internet_argparse)
return betterhelp.single_main(argv, parser, __doc__)
if __name__ == '__main__':
raise SystemExit(main(sys.argv[1:]))