anchor.diff:  
   
   %% @spec identify(File, Context) -> {ok, PropList} | {error, Reason}
  -%% @doc Fetch information about a file, returns mime, width, height, type, etc.
  +%% @doc Fetch information about a file, returns mime, width, height, type, etc.  First checks if a module
  +%% has a specific identification methods.
   identify_file(File, Context) ->
   	identify_file(File, File, Context).
   identify_file(File, OriginalFilename, Context) ->
  
positive.code:         {ok, Props} ->
  			{ok, Props};
          undefined -> 
              {OsFamily, _} = os:type(),
  			case identify_file_os(OsFamily, File, OriginalFilename) of
  				{error, _} ->
  					%% Last resort, give ImageMagick a try
  					identify_file_imagemagick(File);
  				{ok, Props} ->
  					%% Images, pdf and ps are further investigated by ImageMagick
  					case proplists:get_value(mime, Props) of
  						"image/" ++ _ -> identify_file_imagemagick(File);
  						"application/pdf" -> identify_file_imagemagick(File);
  						"application/postscript" -> identify_file_imagemagick(File);
  						_Mime -> {ok, Props}
  					end
  			end
  	end.
  
  %% @spec identify_file_os(OsFamily::atom(), File::string(), OriginalFilename::string()) -> {ok, PropList} | {error, Reason}
  %% @doc Identify the mime type of a file using the unix "file" command.
  
negative.code: 	identify/3,
  	identify_file/2,
  	identify_file/3,
  	identify_file_direct/2,
      extension/1,
  	guess_mime/1
  ]).
  