예제 #1
0
    def test_protocol_info(self):
        mailbox = Mailbox()
        mailbox.uri = 'alpha://test.com'

        expected_protocol = 'alpha'
        actual_protocol = mailbox._protocol_info.scheme

        self.assertEqual(
            expected_protocol,
            actual_protocol,
        )
예제 #2
0
    def test_protocol_info(self):
        mailbox = Mailbox()
        mailbox.uri = 'alpha://test.com'

        expected_protocol = 'alpha'
        actual_protocol = mailbox._protocol_info.scheme

        self.assertEqual(
            expected_protocol,
            actual_protocol,
        )
예제 #3
0
    def handle(self, *args, **kwargs):
                if connected_to_internet() is False:
                        return None
                received_registries = []
                received_data = []  
                email = SYNCDATA_FETCHING_EMAIL_ID.replace('@','%40')
                metabox = Mailbox()
                metabox.name = 'Metabox'
                metabox.uri = 'imap+ssl://' + email + ':' + SYNCDATA_FETCHING_EMAIL_ID_PASSWORD + '@' + SYNCDATA_FETCHING_IMAP_SERVER_ADDRESS + '?archive=METABOX_SYNCDATA'
        
                try:
                        metabox.get_connection()
                except IMAP4.error as error_obj:
                        print "Syncdata emailid, password or imap server address improperly configured! Please check settings.py"
                        print str(error_obj)
                        return 'Syncdata emailid, password or imap server address improperly configured! Please check settings.py'
                except Exception as error_obj:
                        print 'Some error occured while trying to establish connection with : %s for fetching syncdata', SYNCDATA_FETCHING_EMAIL_ID
                        print str(error_obj)
                        return str(error_obj)

                metabox.save()
                try:
                        if connected_to_internet:
                                syncdata_mails_list = metabox.get_new_mail()
                                if syncdata_mails_list:
                                        for mail in syncdata_mails_list:
                                                if mail.subject.find('SYNC') != '-1': 
                                                    serverdir = process_mails(mail)
                                                #received_registries += serverdir
                                                if serverdir not in received_registries:         
                                                        received_registries.append(serverdir)                            
                                        result=chain_and_check_registry(received_registries)
                                        print result
                                        if result:
                                                server_sync(result)
                                                print "Data Inserted. Deleting Json Files"
                                                delete(result)      
                                else:
                                        print 'No new mails received'
                        metabox.delete()
                except Exception as error:
                        #delete temporary mailbox from database
                        metabox.delete()
                        print "The following error occured while fetching syncdata mails: "
                        print str(error)
                        traceback.print_exc()
예제 #4
0
    def handle(self, *args, **kwargs):
        if connected_to_internet() is False:
            return None
        received_registries = []
        received_data = []
        email = SYNCDATA_FETCHING_EMAIL_ID.replace('@', '%40')
        metabox = Mailbox()
        metabox.name = 'Metabox'
        metabox.uri = 'imap+ssl://' + email + ':' + SYNCDATA_FETCHING_EMAIL_ID_PASSWORD + '@' + SYNCDATA_FETCHING_IMAP_SERVER_ADDRESS + '?archive=METABOX_SYNCDATA'

        try:
            metabox.get_connection()
        except IMAP4.error as error_obj:
            print "Syncdata emailid, password or imap server address improperly configured! Please check settings.py"
            print str(error_obj)
            return 'Syncdata emailid, password or imap server address improperly configured! Please check settings.py'
        except Exception as error_obj:
            print 'Some error occured while trying to establish connection with : %s for fetching syncdata', SYNCDATA_FETCHING_EMAIL_ID
            print str(error_obj)
            return str(error_obj)

        metabox.save()
        try:
            if connected_to_internet:
                syncdata_mails_list = metabox.get_new_mail()
                if syncdata_mails_list:
                    for mail in syncdata_mails_list:
                        if mail.subject.find('SYNC') != '-1':
                            serverdir = process_mails(mail)
                        #received_registries += serverdir
                        if serverdir not in received_registries:
                            received_registries.append(serverdir)
                    result = chain_and_check_registry(received_registries)
                    print result
                    if result:
                        server_sync(result)
                        print "Data Inserted. Deleting Json Files"
                        delete(result)
                else:
                    print 'No new mails received'
            metabox.delete()
        except Exception as error:
            #delete temporary mailbox from database
            metabox.delete()
            print "The following error occured while fetching syncdata mails: "
            print str(error)
            traceback.print_exc()