Blainer
Blainer

Reputation: 2702

python wait until connection active

I want my python script to check for an active internet connection and if there is one then continue with the execution. If there is NO connection then continue checking. Basically block the execution in "main()" until the script can reconnect.

python

import urllib2

def main():
    #the script stuff

def internet_on():
    try:
        response=urllib2.urlopen('http://74.125.113.99',timeout=1)
        main()
    except urllib2.URLError:
    internet_on()

Upvotes: 4

Views: 15386

Answers (1)

NPE
NPE

Reputation: 500357

Definitely don't do it recursively. Use a loop instead:

def wait_for_internet_connection():
    while True:
        try:
            response = urllib2.urlopen('http://74.125.113.99',timeout=1)
            return
        except urllib2.URLError:
            pass

def main():
    ...

wait_for_internet_connection()
main()

Upvotes: 10

Related Questions