<s> import ContainerIO <EOL> import string <EOL> class TarIO ( ContainerIO . ContainerIO ) : <EOL> def __init__ ( self , tarfile , file ) : <EOL> fh = open ( tarfile , "<STR_LIT:rb>" ) <EOL> while <NUM_LIT:1> : <EOL> s = fh . read ( <NUM_LIT> ) <EOL> if len ( s ) != <NUM_LIT> : <EOL> raise IOError , "<STR_LIT>" <EOL> name = s [ : <NUM_LIT:100> ] <EOL> i = string . find ( name , chr ( <NUM_LIT:0> ) ) <EOL> if i == <NUM_LIT:0> : <EOL> raise IOError , "<STR_LIT>" <EOL> if i > <NUM_LIT:0> : <EOL> name = name [ : i ] <EOL> size = string . atoi ( s [ <NUM_LIT> : <NUM_LIT> ] , <NUM_LIT:8> ) <EOL> if file == name : <EOL> break <EOL> fh . seek ( ( size + <NUM_LIT> ) & ( ~ <NUM_LIT> ) , <NUM_LIT:1> ) <EOL> ContainerIO . ContainerIO . __init__ ( self , fh , fh . tell ( ) , size ) </s>
