rescue
e ->
Logger.error("Error occured while handling activity")
+ Logger.error(xml_string)
Logger.error(inspect(e))
nil
end
with false <- user.local,
avatar <- make_avatar_object(doc),
bio <- string_from_xpath("//author[1]/summary", doc),
- name when not is_nil(name) <- string_from_xpath("//author[1]/poco:displayName", doc),
- new_data <- %{avatar: avatar, name: name, bio: bio},
+ name <- string_from_xpath("//author[1]/poco:displayName", doc),
+ new_data <- %{avatar: avatar || old_data.avatar, name: name || old_data.name, bio: bio || old_data.bio},
false <- new_data == old_data do
change = Ecto.Changeset.change(user, new_data)
Repo.update(change)
end
def fetch_activity_from_url(url) do
- with {:ok, activities} <- fetch_activity_from_atom_url(url) do
+ with {:ok, activities} when length(activities) > 0 <- fetch_activity_from_atom_url(url) do
{:ok, activities}
else
_e -> with {:ok, activities} <- fetch_activity_from_html_url(url) do