parameters: (file, data_encoding, file_encoding=None, errors='strict')
return_statement: return sr
docstring: Return a wrapped version of file which provides transparent
          encoding translation.
  
          Strings written to the wrapped file are interpreted according
          to the given data_encoding and then written to the original
          file as string using file_encoding. The intermediate encoding
          will usually be Unicode but depends on the specified codecs.
  
          Strings are read from the file using file_encoding and then
          passed back to the caller as string using data_encoding.
  
          If file_encoding is not given, it defaults to data_encoding.
  
          errors may be given to define the error handling. It defaults
          to 'strict' which causes ValueErrors to be raised in case an
          encoding error occurs.
  
          The returned wrapped file object provides two extra attributes
          .data_encoding and .file_encoding which reflect the given
          parameters of the same name. The attributes can be used for
          introspection by Python programs.
docstring_summary: Return a wrapped version of file which provides transparent
          encoding translation.
docstring_tokens: Return a wrapped version of file which provides transparent encoding translation .
function: def EncodedFile(file, data_encoding, file_encoding=None, errors='strict'):
  
      """ Return a wrapped version of file which provides transparent
          encoding translation.
  
          Strings written to the wrapped file are interpreted according
          to the given data_encoding and then written to the original
          file as string using file_encoding. The intermediate encoding
          will usually be Unicode but depends on the specified codecs.
  
          Strings are read from the file using file_encoding and then
          passed back to the caller as string using data_encoding.
  
          If file_encoding is not given, it defaults to data_encoding.
  
          errors may be given to define the error handling. It defaults
          to 'strict' which causes ValueErrors to be raised in case an
          encoding error occurs.
  
          The returned wrapped file object provides two extra attributes
          .data_encoding and .file_encoding which reflect the given
          parameters of the same name. The attributes can be used for
          introspection by Python programs.
  
      """
      if file_encoding is None:
          file_encoding = data_encoding
      data_info = lookup(data_encoding)
      file_info = lookup(file_encoding)
      sr = StreamRecoder(file, data_info.encode, data_info.decode,
                         file_info.streamreader, file_info.streamwriter, errors)
      # Add attributes to simplify introspection
      sr.data_encoding = data_encoding
      sr.file_encoding = file_encoding
      return sr
function_tokens: def EncodedFile ( file , data_encoding , file_encoding = None , errors = 'strict' ) : if file_encoding is None : file_encoding = data_encoding data_info = lookup ( data_encoding ) file_info = lookup ( file_encoding ) sr = StreamRecoder ( file , data_info . encode , data_info . decode , file_info . streamreader , file_info . streamwriter , errors ) # Add attributes to simplify introspection sr . data_encoding = data_encoding sr . file_encoding = file_encoding return sr