示例#1
0
def handleWebRequest(emailId):
    
    if emailId is not None:
        dbConn          = dbConnect.dbConnect(siteConfig.dbHost, siteConfig.dbUser, siteConfig.dbPass, siteConfig.dbName, True)
        mailProcessor   = eMailProcessor.eMailProcessor(gMailRepoRoot, gMailRepoType, siteConfig.debugEnabled)
        dbConn.dbConnect()

        userInfo        = dbConn.fetchUserAccessToken(emailId)
        '''
            Set inProgress to True in database.
            Fetch Emails.
            Process EMails.
            Set inProgress to False in database.
        '''
        progressInfo        = dbConn.getProgressInfo(emailId)

        if progressInfo['inProgress'] == 0 or progressInfo['inProgress'] is None:
#           dbConn.setProgressInfo(emailId, True)
            strDateTime         = None

            if progressInfo['fetchDate'] is not None:
                dateTime        = progressInfo['fetchDate']
                month           = dateTime.strftime("%B")[0:3]
                year            = dateTime.strftime("%Y")
                day             = dateTime.strftime("%d")
                strDateTime     = day + '-' + month + '-' + year
            
            try:
#downloadMails(emailId, userInfo['oauthToken'], userInfo['oauthSecret'], strDateTime)
                mailProcessor.processEMails(emailId)
            except:
                debugTraceInst.doPrintTrace(errorStringsInst.getFailedRequestError(), sys.exc_info()[2])
            
#dbConn.setProgressInfo(emailId, False, 100)
            
        dbConn.dbDisconnect()
示例#2
0
        
if __name__ == '__main__':
    
    '''
        Check if the request is triggered from the Web.
        If so, hand it over to appropriate handler.
    '''
    if len(sys.argv) >1:
        handleWebRequest(sys.argv[1])
    else:
        '''
            Issue Fetch requests every 24 hour.
        '''
        dbConn              = dbConnect.dbConnect(siteConfig.dbHost, siteConfig.dbUser, siteConfig.dbPass, siteConfig.dbName, True)
        mailProcessor       = eMailProcessor.eMailProcessor(gMailRepoRoot, gMailRepoType, siteConfig.debugEnabled)

        while 1:
            dbConn.dbConnect()
            userInfoList        = dbConn.fetchAllAccessTokens()

            print 'Download Started at: %d'%(time.time())

            for userInfo in userInfoList:
                '''
                    Set inProgress to True in database.
                    Fetch Emails.
                    Process EMails.
                    Set inProgress to False in database.
                '''
                progressInfo        = dbConn.getProgressInfo(userInfo['emailId'])