# HG changeset patch # User drosofff # Date 1433069966 14400 # Node ID cc43a7a11324a1824d9c6136152dd3b94923f01f # Parent cd7de2d6c716c42f95ccf448e4ff581a22cee02b planemo upload for repository https://bitbucket.org/drosofff/gedtools/ diff -r cd7de2d6c716 -r cc43a7a11324 retrieve_fasta_from_NCBI.py --- a/retrieve_fasta_from_NCBI.py Sat May 30 18:55:26 2015 -0400 +++ b/retrieve_fasta_from_NCBI.py Sun May 31 06:59:26 2015 -0400 @@ -133,9 +133,6 @@ self.logger.info( "Catched Error: %s" % e ) self.logger.info( "Retrying in 10 sec") time.sleep(10) -# except urllib2.HTTPError as e: -# serverResponse = False -# self.logger.info("epost error:%s, %s" % (e.code, e.read() ) ) querylog = response.readlines() self.logger.debug("query response:") for line in querylog: @@ -161,20 +158,24 @@ req = urllib2.Request(url, data) self.logger.debug("data: %s" % str(data)) req = urllib2.Request(url, data) - serverResponse = False - while not serverResponse: + serverTransaction = False + counter = 0 + while not serverTransaction: + counter += 1 + self.logger.info("Server Transaction Trial: %s" % ( counter ) ) try: response = urllib2.urlopen(req) - serverResponse = True + fasta = response.read() + if "Resource temporarily unavailable" in fasta: + serverTransaction = False + else: + serverTransaction = True except urllib2.HTTPError as e: - serverResponse = False + serverTransaction = False self.logger.info("urlopen error:%s, %s" % (e.code, e.read() ) ) - try: - fasta = response.read() - except httplib.IncompleteRead as e: - fasta = e.partial - if "Resource temporarily unavailable" in fasta: - return '' # to reiterate the failed download + except httplib.IncompleteRead as e: + serverTransaction = False + self.logger.info("IncompleteRead error: %s" % ( e.partial ) ) if self.dbname != "pubmed": assert fasta.startswith(">"), fasta fasta = self.sanitiser(self.dbname, fasta) #