Пример #1
0
def email_check_task(name):
    #check e-mail for messages
    while(1):
        print 'Checking email'
        temp, received_msg, unread_msgs  = checkMessages(incoming_server,user,password,imei)
        if received_msg:
            #TODO - post to twitter
            print "Posting to twitter:",temp
            
            # Consumer keys and access tokens, used for OAuth
            consumer_key = 'ow2VQFG8I1Gw0fO6H0PbBA'
            consumer_secret = 'RPkMTwdVwCSndYFCd3AkR4PUnyCV6LM6KGVV35L4M4'
            access_token = '1885051094-ZJvhvacadiWU5envVeC1TvVwHrkoLXw6XanrjxI'
            access_token_secret = 'Qgze9IQFPjhtkqBLUFyUv8Nc7iVAfMIT94Qq0HtYWp0'
             
            # OAuth process, using the keys and tokens
            auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
            auth.set_access_token(access_token, access_token_secret)
             
            # Creation of the actual interface, using authentication
            api = tweepy.API(auth)
             
            # Sample method, used to update a status
            api.update_status(strftime("%a, %d %b %Y %X +0000 - ", gmtime())+temp)

        time.sleep(1.0)
Пример #2
0
def email_check_task(name):
        
    #check e-mail for messages
    while(1):
        #print 'Checking email'
        msg,subject,received_msg,unread_msgs  = checkMessages(incoming_server,user,password)
        if received_msg:
            print "Received Message", msg,"\r"
            parse_incoming(msg)
            
        time.sleep(1.0)
Пример #3
0
def sbdix():
    global mo_set
    global momsn
    global mtmsn
    global ser
    global incoming_server
    global user
    global password
    global imei
    global mt_buffer
    
    has_incoming_msg = False
    received_msg = 0
    received_msg_size = 0
    unread_msgs = 0
    time.sleep(AVERAGE_SBDIX_DELAY)
    success = True#(bool(random.getrandbits(1)))


    if success:
        
        #use e-mail interface if specified
        if email_enabled:
            #send e-mail if outgoing data is present
            if mo_set and not mo_buffer == "":
                if email_enabled:
                    send_mo_email()
                mo_set = False
                momsn += 1
                 
            
            #check e-mail for messages
            temp, received_msg, unread_msgs  = checkMessages(incoming_server,user,password,imei)
            if received_msg:
                #mtmsn += 1
                received_msg_size = len(temp)
                mt_buffer = temp
            else:
                received_msg_size = 0
    
    #TODO: generate result output
    if success: rpt = 0
    else: rpt = 18 #TODO: add more sophisticated behavior for error msgs
    
    return_string = "\r\n+SBDIX: %d, %d, %d, %d, %d, %d\r\n" % (rpt,momsn,received_msg,mtmsn,received_msg_size,unread_msgs)
    #+SBDIX:<MO status>,<MOMSN>,<MT status>,<MTMSN>,<MT length>,<MT queued>
    print "Sent:",return_string
    ser.write(return_string)
    send_ok()
        
    mo_set = False
    if received_msg:
        mtmsn += 1
Пример #4
0
def email_check_task(name, api):
    # check e-mail for messages
    while 1:
        print "Checking email"
        temp, received_msg, unread_msgs = checkMessages(incoming_server, user, password, imei)
        if received_msg:
            # TODO - post to twitter
            print "Posting to twitter:", temp

            # OAuth process, using the keys and tokens
            auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
            auth.set_access_token(access_token, access_token_secret)

            # Creation of the actual interface, using authentication
            api = tweepy.API(auth)

            # Sample method, used to update a status
            api.update_status(strftime("%a, %d %b %Y %X +0000 - ", gmtime()) + temp)

        time.sleep(1.0)
Пример #5
0
def sbdix():
    global mo_set
    global momsn
    global mtmsn
    global ser
    global incoming_server
    global user
    global password
    global imei
    global mt_buffer
    global mo_ip
    global mo_port
    global mt_set

    has_incoming_msg = False
    received_msg = 0
    received_msg_size = 0
    unread_msgs = 0
    time.sleep(AVERAGE_SBDIX_DELAY)
    success = True  #(bool(random.getrandbits(1)))

    if success:

        #use e-mail interface if specified
        if email_enabled:
            #send e-mail if outgoing data is present
            if mo_set and not mo_buffer == b'':
                if email_enabled:
                    send_mo_email()
                mo_set = False
                momsn += 1

            #check e-mail for messages
            temp, received_msg, unread_msgs = checkMessages(
                incoming_server, user, password, imei)
            if received_msg:
                #mtmsn += 1
                received_msg_size = len(temp)
                mt_buffer = temp
                mt_set = True
            else:
                received_msg_size = 0

        elif ip_enabled:
            if mo_set and not mo_buffer == "":
                s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                momsn += 1
                try:
                    s.connect((mo_ip, mo_port))
                    s.send(
                        assemble_mo_directip_packet(imei, momsn, mtmsn,
                                                    mo_buffer))
                    s.close()
                except socket.error as msg:
                    print("Failed to open {}:{}".format(mo_ip, mo_port))
                    s.close()
                mo_set = False
            if len(mt_messages) is not 0:
                mtmsn += 1
                mt_set = True
                mt_buffer = mt_messages.popleft()
                unread_msgs = len(mt_messages)
                received_msg = mt_set
                received_msg_size = len(mt_buffer)

    #TODO: generate result output
    if success: rpt = 0
    else: rpt = 18  #TODO: add more sophisticated behavior for error msgs

    return_string = "\r\n+SBDIX: %d, %d, %d, %d, %d, %d\r\n" % (
        rpt, momsn, received_msg, mtmsn, received_msg_size, unread_msgs)
    #+SBDIX:<MO status>,<MOMSN>,<MT status>,<MTMSN>,<MT length>,<MT queued>
    print("Sent:", return_string)
    ser.write(return_string.encode('utf-8'))
    send_ok()

    mo_set = False
    if received_msg:
        mtmsn += 1
Пример #6
0
def email_check_task(name,api):
    
    global database_name
    
    try:
        database = sqlite3.connect(database_name)
    except:
        print "Could not connect with database!"
        sys.exit()
     
    
    #check e-mail for messages
    while(1):
        #print 'Checking email'
        msg,subject,received_msg,unread_msgs  = checkMessages(incoming_server,user,password)
        if received_msg:
            #print "Data: ",msg,"Subject: ",subject
            if "From Unit:" in subject:
                #get fcu name by imei 
                try:
                    imei = int(subject.split("t: ")[1])
                    print imei
                    cursor = database.cursor()
                    cursor.execute("SELECT name FROM fcu_list WHERE imei=%ld" % imei)
                    o = cursor.fetchone()
                    fcu_name = str(o[0])
                except:
                    print "Error: IMEI not in database.  fcu_term may not handle this properly"
                    fcu_name = str(imei)
                
                #check for valid payload
                if not len(msg) == PAYLOAD_LENGTH:
                    print "Message length not correct.  Spec says 8 bytes!  Msg is:",msg
                    continue
                
                #get command mneumonic
                cmd =  msg[0:3]
                
                #caps on 
                cmd = cmd.upper()
                
                if(cmd[0] == 'C'):
                    print "Loop back cmd %s" % cmd
                    continue
                
                #get 5 chars of paload
                args = msg[3:]


                
                #call function my mneuomnic
                possibles = globals().copy()
                possibles.update(locals())
                method = possibles.get(cmd) 
                if not method:
                     print("Rx Method %s not implemented" % cmd)
                else:
                    method(fcu_name,args)
            
                #post to twitter

        time.sleep(1.0)