neiam
/feedpug
feedpub
public · Issues · Pulls · Labels · Forks · Compare · Actions success · Badges · Packages
⭐
Log in to mark this repository.
Credo: a case, not a one-clause with, in parse_rfc822
c642ff9 · Gabe Morell · 2026-11-04 20:34
Files changed
modified
lib/feed_pug/feeds/fetcher.ex
+15
−13
@@ -140,19 +140,21 @@ defmodule FeedPug.Feeds.Fetcher do
| 140 | 140 | defp parse_rfc822(str) do |
| 141 | 141 | case Regex.run(~r/(\d{1,2})\s+(\w{3})\s+(\d{2,4})\s+(\d{2}):(\d{2})(?::(\d{2}))?/, str) do |
| 142 | 142 | [_, d, mon, y, h, min | rest] -> |
| 143 | − with {:ok, month} <- month_number(mon) do | |
| 144 | − year = String.to_integer(y) |> normalize_year() | |
| 145 | − sec = rest |> List.first() |> to_int(0) | |
| 146 | − | |
| 147 | − case DateTime.new( | |
| 148 | − Date.new!(year, month, String.to_integer(d)), | |
| 149 | − Time.new!(String.to_integer(h), String.to_integer(min), sec) | |
| 150 | − ) do | |
| 151 | − {:ok, dt} -> dt | |
| 152 | − _ -> nil | |
| 153 | − end | |
| 154 | − else | |
| 155 | − _ -> nil | |
| 143 | + case month_number(mon) do | |
| 144 | + {:ok, month} -> | |
| 145 | + year = String.to_integer(y) |> normalize_year() | |
| 146 | + sec = rest |> List.first() |> to_int(0) | |
| 147 | + | |
| 148 | + case DateTime.new( | |
| 149 | + Date.new!(year, month, String.to_integer(d)), | |
| 150 | + Time.new!(String.to_integer(h), String.to_integer(min), sec) | |
| 151 | + ) do | |
| 152 | + {:ok, dt} -> dt | |
| 153 | + _ -> nil | |
| 154 | + end | |
| 155 | + | |
| 156 | + :error -> | |
| 157 | + nil | |
| 156 | 158 | end |
| 157 | 159 | |
| 158 | 160 | _ -> |
Parents: 25689a8