code: def delete_by_file(self, file_obj):
          
          BalancedDiscStorage._check_interface(file_obj)
  
          file_hash = self._get_hash(file_obj)
  
          return self.delete_by_hash(file_hash)
docs: Remove file from the storage. File is identified by opened `file_obj`,
          from which the hashes / path are computed.
  
          Args:
              file_obj (file): Opened file-like object, which is used to compute
                       hashes.
  
          Raises:
              IOError: If the `file_obj` is not in storage.