<s> import string <EOL> class PaletteFile : <EOL> rawmode = "<STR_LIT>" <EOL> def __init__ ( self , fp ) : <EOL> self . palette = map ( lambda i : ( i , i , i ) , range ( <NUM_LIT> ) ) <EOL> while <NUM_LIT:1> : <EOL> s = fp . readline ( ) <EOL> if not s : <EOL> break <EOL> if s [ <NUM_LIT:0> ] == "<STR_LIT:#>" : <EOL> continue <EOL> if len ( s ) > <NUM_LIT:100> : <EOL> raise SyntaxError , "<STR_LIT>" <EOL> v = map ( int , string . split ( s ) ) <EOL> try : <EOL> [ i , r , g , b ] = v <EOL> except ValueError : <EOL> [ i , r ] = v <EOL> g = b = r <EOL> if <NUM_LIT:0> <= i <= <NUM_LIT:255> : <EOL> self . palette [ i ] = chr ( r ) + chr ( g ) + chr ( b ) <EOL> self . palette = string . join ( self . palette , "<STR_LIT>" ) <EOL> def getpalette ( self ) : <EOL> return self . palette , self . rawmode </s>
