ImapFetcher: refactor the import part from the IMAP connection
This commit is contained in:
		
							parent
							
								
									7f61fba314
								
							
						
					
					
						commit
						58de54560d
					
				|  | @ -82,7 +82,7 @@ def run(config, db): | |||
|         if (len(neededMessages)==0): | ||||
|             raise error #TODO: show error message | ||||
| 
 | ||||
|         errors = 0 | ||||
|         email_bodies = [] | ||||
|         for i, messageData in enumerate(neededMessages, start=1): | ||||
|             print "Retrieving message %s" % i | ||||
|             response, bodyData = server.fetch(messageData[1], "(UID BODY[TEXT])") | ||||
|  | @ -90,23 +90,22 @@ def run(config, db): | |||
|             if response!="OK": | ||||
|                 raise error #TODO: show error message | ||||
|             if messageData[0]=="PS": | ||||
|                 summaryTexts=(splitPokerStarsSummaries(bodyData)) | ||||
|                 print "Found %s summaries in email" %(len(summaryTexts)) | ||||
|                 for j, summaryText in enumerate(summaryTexts, start=1): | ||||
|                     try: | ||||
|                         result=PokerStarsSummary.PokerStarsSummary(db=db, config=config, siteName=u"PokerStars", summaryText=summaryText, builtFrom = "IMAP") | ||||
|                     except FpdbParseError, e: | ||||
|                         errors += 1 | ||||
|                     print _("Finished importing %s/%s PS summaries") %(j, len(summaryTexts)) | ||||
| 
 | ||||
|         print _("Completed running Imap import, closing server connection") | ||||
|         print _("Errors: %s" % errors) | ||||
|                 email_bodies.append(bodyData) | ||||
|     #finally: | ||||
|      #   try: | ||||
|         server.close() | ||||
|        # finally: | ||||
|         #    pass | ||||
|         server.logout() | ||||
|         print _("Completed retrieving IMAP messages, closing server connection") | ||||
| 
 | ||||
|         errors = 0 | ||||
|         if len(email_bodies) > 0: | ||||
|             errors = importSummaries(db, config, email_bodies) | ||||
|         else: | ||||
|             print _("No Tournament summaries found.") | ||||
| 
 | ||||
|         print _("Errors: %s" % errors) | ||||
| 
 | ||||
| def readFile(filename): | ||||
|     kodec = "utf8" | ||||
|  | @ -119,16 +118,21 @@ def readFile(filename): | |||
| 
 | ||||
| def runFake(db, config, infile): | ||||
|     summaryText = readFile(infile) | ||||
|     # This regex should be part of PokerStarsSummary | ||||
|     re_SplitGames = re.compile("PokerStars Tournament ") | ||||
|     summaryList = re.split(re_SplitGames, summaryText) | ||||
|     importSummaries(db, config,[summaryText]) | ||||
| 
 | ||||
|     if len(summaryList) <= 1: | ||||
|         print _("DEBUG: re_SplitGames isn't matching") | ||||
| def importSummaries(db, config, summaries): | ||||
|     errors = 0 | ||||
|     for summaryText in summaries: | ||||
|         summaryTexts=(splitPokerStarsSummaries(summaryText)) | ||||
|         print "Found %s summaries in email" %(len(summaryTexts)) | ||||
|         for j, summaryText in enumerate(summaryTexts, start=1): | ||||
|             try: | ||||
|                 result=PokerStarsSummary.PokerStarsSummary(db=db, config=config, siteName=u"PokerStars", summaryText=summaryText, builtFrom = "IMAP") | ||||
|             except FpdbParseError, e: | ||||
|                 errors += 1 | ||||
|             print _("Finished importing %s/%s PS summaries") %(j, len(summaryTexts)) | ||||
| 
 | ||||
|     for summary in summaryList[1:]: | ||||
|         result = PokerStarsSummary.PokerStarsSummary(db=db, config=config, siteName=u"PokerStars", summaryText=summary, builtFrom = "file") | ||||
|         print _("DEBUG: Processed: %s: tournNo: %s") % (result.tourneyId, result.tourNo) | ||||
|     return errors | ||||
| 
 | ||||
| 
 | ||||
| def main(argv=None): | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user