 ##     Based on @pukkapi PiGlow Module 
 ##     by @dan_aldred
 
from piglow import PiGlow  
from time import sleep
import time
import feedparser

pg = PiGlow()  
pg.all(0)       #turns all LEDs off
time.sleep(2)
SPEED = 0.01    #LED speed
x = 0.1         # used to change delay between LED

DEBUG = 1

USERNAME = "username"     # just the part before the @ sign, add yours here
PASSWORD = "password"     #enter your gmail password

NEWMAIL_OFFSET = 1        # my unread messages never goes to zero, yours might
MAIL_CHECK_FREQ = 10      # check mail every 60 seconds

def outward(brightness, wait_time): #simple LED spiral
        pg.led(13, brightness,)
        time.sleep(x)
        pg.led(14, brightness,)
        time.sleep(x)
        pg.led(15, brightness,)
        time.sleep(x)
        pg.led(16, brightness,)
        time.sleep(x)
        pg.led(17, brightness,)
        time.sleep(x)
        pg.led(18, brightness,)
        time.sleep(x)
        pg.led(12, brightness,)
        time.sleep(x)
        pg.led(6, brightness,)
        time.sleep(x)
        pg.led(5, brightness,)
        time.sleep(x)
        pg.led(4, brightness,)
        time.sleep(x) 
        pg.led(3, brightness,)
        time.sleep(x)
        pg.led(2, brightness,)
        time.sleep(x)    
        pg.led(1, brightness,)
        time.sleep(x)    
        pg.led(11, brightness,)
        time.sleep(x)
        pg.led(10, brightness,)
        time.sleep(x)    
        pg.led(9, brightness,)
        time.sleep(x)    
        pg.led(8, brightness,)
        time.sleep(x)    
        pg.led(7, brightness,) 
        
def inward(brightness,wait_time): #simple LED Spiral
        pg.led(13, brightness,)
        time.sleep(x)
        pg.led(14, brightness,)
        time.sleep(x)
        pg.led(15, brightness,)
        time.sleep(x)
        pg.led(16, brightness,)
        time.sleep(x)
        pg.led(17, brightness,)
        time.sleep(x)
        pg.led(18, brightness,)
        time.sleep(x)
        pg.led(12, brightness,)
        time.sleep(x)
        pg.led(6, brightness,)
        time.sleep(x)
        pg.led(5, brightness,)
        time.sleep(x)
        pg.led(4, brightness,)
        time.sleep(x) 
        pg.led(3, brightness,)
        time.sleep(x)
        pg.led(2, brightness,)
        time.sleep(x)    
        pg.led(1, brightness,)
        time.sleep(x)    
        pg.led(11, brightness,)
        time.sleep(x)
        pg.led(10, brightness,)
        time.sleep(x)    
        pg.led(9, brightness,)
        time.sleep(x)    
        pg.led(8, brightness,)
        time.sleep(x)    
        pg.led(7, brightness,) 


while True:

        newmails = int(feedparser.parse("https://" + USERNAME + ":" + PASSWORD +"@mail.google.com/gmail/feed/atom")["feed"]["fullcount"])

        if DEBUG:
                print "You have", newmails, "emails!" #checks for new emails and returns number

        if newmails > NEWMAIL_OFFSET:           # if new email comes in then spiral light
                outward(0,SPEED)
                inward(15,SPEED)
                print "new mail"
                NEWMAIL_OFFSET = newmails
                
        elif newmails == NEWMAIL_OFFSET:  #if emails are still the same as previous check different light sequence
                pg.all(0)
                pg.led(5, 3)
                time.sleep(x)
                pg.led(4, 3,)
                time.sleep(x) 
                pg.led(3, 4,)
                time.sleep(x)
                pg.led(2, 2,)
                time.sleep(x)    
                pg.led(1, 6,)
                time.sleep(x)    
                #pg.led(11, 8,)
                #time.sleep(x)
              
                print "same mail"
                NEWMAIL_OFFSET = newmails        
        else:
                pg.all(0)                       #if no new emails then all LEDs off
                print "no new mail"

        time.sleep(MAIL_CHECK_FREQ)




     
    
        

