#NEWLINE# def get_analysis( self ) : #NEWLINE# #INDENT# ' Retrieve the detailed analysis for the track, if available. \n            Raises Exception if unable to create the detailed analysis. ' #NEWLINE# if self . analysis_url : #NEWLINE# #INDENT# try : #NEWLINE# #INDENT# try : #NEWLINE# #INDENT# json_string = urllib2 . urlopen ( self . analysis_url ) . read ( ) #NEWLINE# #UNINDENT# except urllib2 . HTTPError : #NEWLINE# #INDENT# param_dict = dict ( id = self . id ) #NEWLINE# new_track = _profile ( param_dict , DEFAULT_ASYNC_TIMEOUT ) #NEWLINE# if ( new_track and new_track . analysis_url ) : #NEWLINE# #INDENT# self . analysis_url = new_track . analysis_url #NEWLINE# json_string = urllib2 . urlopen ( self . analysis_url ) . read ( ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# raise Exception ( 'Failed to create track analysis.' ) #NEWLINE# #UNINDENT# #UNINDENT# analysis = json . loads ( json_string ) #NEWLINE# analysis_track = analysis . pop ( 'track' , { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } ) #NEWLINE# self . __dict__ . update ( analysis ) #NEWLINE# self . __dict__ . update ( analysis_track ) #NEWLINE# #UNINDENT# except Exception : #NEWLINE# #INDENT# raise Exception ( 'Failed to create track analysis.' ) #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# raise Exception ( 'Failed to create track analysis.' )