<s> import sys <EOL> import urllib2 <EOL> USER_AGENTS = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> URLS = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT:/>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> def verify_200 ( url , ua ) : <EOL> try : <EOL> request = urllib2 . Request ( url , headers = { <EOL> '<STR_LIT>' : ua , <EOL> } ) <EOL> file = urllib2 . urlopen ( url ) <EOL> if file . geturl ( ) != url : <EOL> file2 = urllib2 . urlopen ( file . geturl ( ) ) <EOL> if file2 . geturl ( ) != file . geturl ( ) : <EOL> return file2 , <NUM_LIT> <EOL> else : <EOL> return file2 , <NUM_LIT:200> <EOL> else : <EOL> return file , <NUM_LIT:200> <EOL> except urllib2 . HTTPError , e : <EOL> return None , e . code <EOL> def smoke_test ( base_url ) : <EOL> tests = <NUM_LIT:0> <EOL> status = <NUM_LIT:0> <EOL> print "<STR_LIT>" % base_url <EOL> print "<STR_LIT>" <EOL> for type , ua in USER_AGENTS . items ( ) : <EOL> print <EOL> print "<STR_LIT>" , type <EOL> for url in URLS : <EOL> tests += <NUM_LIT:1> <EOL> file , code = verify_200 ( base_url + url , ua ) <EOL> if code == <NUM_LIT> : <EOL> print "<STR_LIT>" , url <EOL> elif code != <NUM_LIT:200> : <EOL> status += <NUM_LIT:1> <EOL> print "<STR_LIT>" , code , url <EOL> else : <EOL> print "<STR_LIT>" , code , url <EOL> print "<STR_LIT>" <EOL> print "<STR_LIT>" <EOL> print <EOL> print "<STR_LIT>" , tests , "<STR_LIT>" <EOL> if status == <NUM_LIT:0> : <EOL> print "<STR_LIT>" <EOL> else : <EOL> print status , "<STR_LIT>" <EOL> return status <EOL> def command ( base_url = '<STR_LIT>' ) : <EOL> sys . exit ( smoke_test ( base_url ) ) <EOL> if __name__ == "<STR_LIT:__main__>" : <EOL> if len ( sys . argv ) > <NUM_LIT:1> : <EOL> command ( base_url = sys . argv [ <NUM_LIT:1> ] ) <EOL> else : <EOL> command ( ) </s>
