<s> """<STR_LIT>""" <EOL> import re <EOL> from robotx . core . nitrateclient import TCMS <EOL> class TCMSListener ( object ) : <EOL> """<STR_LIT>""" <EOL> ROBOT_LISTENER_API_VERSION = <NUM_LIT:2> <EOL> def __init__ ( self , planid , runid ) : <EOL> self . planid = planid <EOL> self . runid = runid <EOL> self . tcms = TCMS ( ) <EOL> self . tcms . update_run_status ( self . runid , <NUM_LIT:0> ) <EOL> self . caseruns = [ ] <EOL> def start_suite ( self , name , attrs ) : <EOL> """<STR_LIT>""" <EOL> pass <EOL> def start_test ( self , name , attrs ) : <EOL> """<STR_LIT>""" <EOL> caserun = { } <EOL> caserun [ '<STR_LIT:name>' ] = name <EOL> tags = attrs [ '<STR_LIT>' ] <EOL> case_id = re . findall ( '<STR_LIT>' , str ( tags ) ) [ <NUM_LIT:0> ] [ <NUM_LIT:3> : ] <EOL> caserun [ '<STR_LIT:id>' ] = self . tcms . get_caserun_id ( self . runid , case_id ) <EOL> caserun [ '<STR_LIT>' ] = tags <EOL> caserun [ '<STR_LIT:status>' ] = '<STR_LIT>' <EOL> caserun [ '<STR_LIT>' ] = attrs [ '<STR_LIT>' ] <EOL> self . tcms . update_caserun_status ( caserun [ '<STR_LIT:id>' ] , caserun [ '<STR_LIT:status>' ] ) <EOL> print '<STR_LIT:\n>' , '<STR_LIT:*>' * <NUM_LIT> <EOL> print '<STR_LIT>' , caserun [ '<STR_LIT>' ] <EOL> self . caseruns . append ( caserun ) <EOL> def end_test ( self , name , attrs ) : <EOL> """<STR_LIT>""" <EOL> caserun = self . caseruns [ - <NUM_LIT:1> ] <EOL> caserun [ '<STR_LIT:status>' ] = attrs [ '<STR_LIT:status>' ] <EOL> caserun [ '<STR_LIT>' ] = attrs [ '<STR_LIT>' ] <EOL> caserun [ '<STR_LIT:message>' ] = attrs [ '<STR_LIT:message>' ] <EOL> if caserun . has_key ( '<STR_LIT>' ) : <EOL> caserun [ '<STR_LIT>' ] = '<STR_LIT:\n>' + '<STR_LIT:*>' * <NUM_LIT:30> + '<STR_LIT:\n>' + caserun [ '<STR_LIT>' ] + '<STR_LIT:\n>' + attrs [ '<STR_LIT:message>' ] + '<STR_LIT:\n>' + caserun [ '<STR_LIT>' ] + '<STR_LIT:\n>' + '<STR_LIT:*>' * <NUM_LIT:30> <EOL> else : <EOL> caserun [ '<STR_LIT>' ] = '<STR_LIT>' <EOL> caserun_status = caserun [ '<STR_LIT:status>' ] + '<STR_LIT>' <EOL> self . tcms . update_caserun_status ( caserun [ '<STR_LIT:id>' ] , caserun_status ) <EOL> if caserun [ '<STR_LIT:status>' ] != '<STR_LIT>' : <EOL> self . tcms . update_caserun_log ( caserun [ '<STR_LIT:id>' ] , caserun [ '<STR_LIT>' ] ) <EOL> print '<STR_LIT>' , caserun [ '<STR_LIT>' ] <EOL> print '<STR_LIT:*>' * <NUM_LIT> , '<STR_LIT:\n>' <EOL> def log_message ( self , message ) : <EOL> """<STR_LIT>""" <EOL> if len ( self . caseruns ) > <NUM_LIT:0> : <EOL> caserun = self . caseruns [ - <NUM_LIT:1> ] <EOL> caserun [ '<STR_LIT>' ] = message [ '<STR_LIT:message>' ] <EOL> caserun [ '<STR_LIT>' ] = message [ '<STR_LIT>' ] <EOL> else : <EOL> pass <EOL> def close ( self ) : <EOL> """<STR_LIT>""" <EOL> self . tcms . update_run_status ( self . runid , <NUM_LIT:1> ) <EOL> print '<STR_LIT:\n>' , '<STR_LIT>' . center ( <NUM_LIT> , '<STR_LIT:*>' ) , '<STR_LIT:\n>' </s>
