parameters: (fileobj)
return_statement: return False
docstring: Backwards compat function to determine if a fileobj is seekable
  
      :param fileobj: The file-like object to determine if seekable
  
      :returns: True, if seekable. False, otherwise.
docstring_summary: Backwards compat function to determine if a fileobj is seekable
docstring_tokens: Backwards compat function to determine if a fileobj is seekable
function: def seekable(fileobj):
      """Backwards compat function to determine if a fileobj is seekable
  
      :param fileobj: The file-like object to determine if seekable
  
      :returns: True, if seekable. False, otherwise.
      """
      # If the fileobj has a seekable attr, try calling the seekable()
      # method on it.
      if hasattr(fileobj, 'seekable'):
          return fileobj.seekable()
      # If there is no seekable attr, check if the object can be seeked
      # or telled. If it can, try to seek to the current position.
      elif hasattr(fileobj, 'seek') and hasattr(fileobj, 'tell'):
          try:
              fileobj.seek(0, 1)
              return True
          except (OSError, IOError):
              # If an io related error was thrown then it is not seekable.
              return False
      # Else, the fileobj is not seekable
      return False
function_tokens: def seekable ( fileobj ) : # If the fileobj has a seekable attr, try calling the seekable() # method on it. if hasattr ( fileobj , 'seekable' ) : return fileobj . seekable ( ) # If there is no seekable attr, check if the object can be seeked # or telled. If it can, try to seek to the current position. elif hasattr ( fileobj , 'seek' ) and hasattr ( fileobj , 'tell' ) : try : fileobj . seek ( 0 , 1 ) return True except ( OSError , IOError ) : # If an io related error was thrown then it is not seekable. return False # Else, the fileobj is not seekable return False