import RPi.GPIO as GPIO
import urllib2
import signal
import sys
from time import sleep
from threading import Thread

Pin = 17
HasAccess = False
IsRunning = True

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(Pin, GPIO.OUT, initial=GPIO.LOW)

def set_status():
	global IsRunning
	while IsRunning:
		GPIO.output(Pin, GPIO.HIGH)
		sleep(0.5)
		if not HasAccess:
			GPIO.output(Pin, GPIO.LOW)
			sleep(0.5)

def internet_on():
    try:
        urllib2.urlopen('http://www.google.com', timeout=1)
        return True
    except urllib2.URLError as err:
        return False

def check_access():
	global IsRunning
	global HasAccess
	while IsRunning:
		HasAccess = internet_on()
		sleep(2)

def signal_handler(sig, frame):
        print('You pressed Ctrl+C!')
	global IsRunning
	IsRunning = False
        sys.exit(0)

if __name__ == '__main__':
	signal.signal(signal.SIGINT, signal_handler)

	print("Start internet access checking")
	Thread1 = Thread(target=set_status, args=())
	Thread1.start()

	Thread2 = Thread(target=check_access, args=())
	Thread2.start()

	signal.pause()
