code: def pump(fin, fout):
      
      while True:
          tmp = fin.read(4096)
          if not tmp:
              break
          fout.write(tmp)
docs: Reads data from <fin> and writes it to <fout> until EOF is
          reached.