Skip to content

Commit

Permalink
fixup: make it pass CI
Browse files Browse the repository at this point in the history
  • Loading branch information
rudiejd committed Feb 6, 2025
1 parent ce9be2f commit 082b9d8
Showing 1 changed file with 21 additions and 36 deletions.
57 changes: 21 additions & 36 deletions apps/parse/lib/parse/commuter_rail_occupancies.ex
Original file line number Diff line number Diff line change
Expand Up @@ -22,39 +22,29 @@ defmodule Parse.CommuterRailOccupancies do
end
end

defp parse_record(
%{
"MedianDensity" => density,
"MedianDensityFlag" => flag,
"cTrainNo" => train
} = record
) do
with {:ok, flag} <- density_flag(flag),
{:ok, percentage} <- percentage(density),
{:ok, name} <- trip_name(train) do
[
%Model.CommuterRailOccupancy{
percentage: percentage,
status: flag,
trip_name: name
}
]
else
error ->
Logger.warning("#{__MODULE__} parse_error error=#{inspect(error)} #{inspect(record)}")
[]
end
defp parse_density_fields(%{
"MedianDensity" => density,
"MedianDensityFlag" => flag,
"cTrainNo" => train
}),
do: {:ok, {density, flag, train}}

# new format keolis started providing when they switched this data over to S3
defp parse_density_fields(%{
"Median Density" => density,
"Median Density Flag" => flag,
"Trip Name" => train
}),
do: {:ok, {density, flag, train}}

defp parse_density_fields(record) do
Logger.warning("#{__MODULE__} parse_error error=missing_fields #{inspect(record)}")
{:error, :missing_fields}
end

# new format that keolis started providing when they switched this data over to S3
defp parse_record(
%{
"Median Density" => density,
"Median Density Flag" => flag,
"Trip Name" => train
} = record
) do
with {:ok, flag} <- density_flag(flag),
defp parse_record(record) do
with {:ok, {density, flag, train}} <- parse_density_fields(record),
{:ok, flag} <- density_flag(flag),
{:ok, percentage} <- percentage(density),
{:ok, name} <- trip_name(train) do
[
Expand All @@ -71,11 +61,6 @@ defmodule Parse.CommuterRailOccupancies do
end
end

defp parse_record(record) do
Logger.warning("#{__MODULE__} parse_error error=missing_fields #{inspect(record)}")
[]
end

defp density_flag(0), do: {:ok, :many_seats_available}
defp density_flag(1), do: {:ok, :few_seats_available}
defp density_flag(2), do: {:ok, :full}
Expand Down

0 comments on commit 082b9d8

Please sign in to comment.