'''Takes alert from alert_sender and sends then to the alert reciever.'''
import server, sys
def alert_redirect(self):
    '''Direct traffic between alert_sender and alert_reciever'''
    data=self.get_data()
    if data=="Info": #alert_reciever will ask me for data sometimes
        self.send(self.server.data_dict['data']) #send them the data got from the sender
        print "Sent:", self.server.data_dict['data'] #print for user of server
        self.server.data_dict['data'] = 'None' #reset it to None (well, the string of None sense I can't actually send None) for the next time
        
    elif data.startswith("Alert: "): #from the alert sender
        self.server.data_dict['data'] = data #store for when the reciever wants it
        
    else: #sounds fishy
        self.send("Error, this server does not exist. Please leave the nonexsistent server alone.") #tricks hackers :)
    print "Recv:", data+"\nStored:", self.server.data_dict['data']+"\n" #print for user of servrer

try: port=int(sys.argv[1]) #convert the first argument following the server to int
except IndexError:
    while True:
        try: port = int(raw_input("What port do you want the alert server on? ")) #Input it manually
        except ValueError: print "Sorry but that's not an interger. Try again."
        else: break #once we got it error free, we're done here
except ValueError:
    raise ValueError, "%s isn't an interger. Aborting now." % sys.argv[1] #If there's an error, am doing it my way

server.run(handle_func=alert_redirect, port=port, data_dict={'data':'None'}) #run it with data dict set to none
