39 lines
962 B
Python
39 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:]))
|