From 2f8e84eb8afe2f83a24fdf36daee2b2ed77f1227 Mon Sep 17 00:00:00 2001 From: Jeff Browning Date: Fri, 4 Nov 2016 14:49:42 -0400 Subject: [PATCH] Clean up and fix warnings --- lib/readability/title_finder.ex | 39 ++++++++++++++++----------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/lib/readability/title_finder.ex b/lib/readability/title_finder.ex index 4273da5..86f6aaf 100644 --- a/lib/readability/title_finder.ex +++ b/lib/readability/title_finder.ex @@ -13,19 +13,18 @@ defmodule Readability.TitleFinder do """ @spec title(html_tree) :: binary def title(html_tree) do - maybe_title = og_title(html_tree) - if String.length(String.strip(maybe_title)) == 0 do - maybe_title = tag_title(html_tree) - end + case og_title(html_tree) do + "" -> + title = tag_title(html_tree) - unless good_title?(maybe_title) do - h_title = h_tag_title(html_tree) - if good_title?(h_title) do - maybe_title = h_title - end + if good_title?(title) do + title + else + h_tag_title(html_tree) + end + title when is_binary(title) -> + title end - - maybe_title end @doc """ @@ -35,7 +34,7 @@ defmodule Readability.TitleFinder do def tag_title(html_tree) do html_tree |> Floki.find("title") - |> clean_title + |> clean_title() end @doc """ @@ -46,7 +45,7 @@ defmodule Readability.TitleFinder do html_tree |> Floki.find("meta[property=og:title]") |> Floki.attribute("content") - |> clean_title + |> clean_title() end @doc """ @@ -56,16 +55,16 @@ defmodule Readability.TitleFinder do def h_tag_title(html_tree, selector \\ @h_tag_selector) do html_tree |> Floki.find(selector) - |> hd - |> clean_title + |> hd() + |> clean_title() end defp clean_title(html_tree) do - title_text = html_tree - |> Floki.text - |> String.split(@title_suffix) - |> hd - |> String.strip + html_tree + |> Floki.text() + |> String.split(@title_suffix) + |> hd() + |> String.strip() end defp good_title?(title) do