aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2017-11-01 09:33:29 +0100
committerRoger Braun <roger@rogerbraun.net>2017-11-01 09:33:29 +0100
commit9be286a9004ae60f8ea48bb0c8871d70223f082b (patch)
treed80ba5898cf3fc0c1f2a610acafd339681784e62
parent6f05367325e7d773ca7199948fd5b49409f6d78d (diff)
downloadpleroma-9be286a9004ae60f8ea48bb0c8871d70223f082b.tar.gz
Handle empty terms / tags.
-rw-r--r--lib/pleroma/web/ostatus/ostatus.ex4
-rw-r--r--test/fixtures/ostatus_incoming_post_tag.xml1
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/pleroma/web/ostatus/ostatus.ex b/lib/pleroma/web/ostatus/ostatus.ex
index 1e8b71357..308e206c5 100644
--- a/lib/pleroma/web/ostatus/ostatus.ex
+++ b/lib/pleroma/web/ostatus/ostatus.ex
@@ -169,7 +169,9 @@ defmodule Pleroma.Web.OStatus do
def get_tags(entry) do
:xmerl_xpath.string('//category', entry)
- |> Enum.map(fn (category) -> string_from_xpath("/category/@term", category) |> String.downcase end)
+ |> Enum.map(fn (category) -> string_from_xpath("/category/@term", category) end)
+ |> Enum.filter(&(&1))
+ |> Enum.map(&String.downcase/1)
end
def maybe_update(doc, user) do
diff --git a/test/fixtures/ostatus_incoming_post_tag.xml b/test/fixtures/ostatus_incoming_post_tag.xml
index 5febb80d1..0f99c4126 100644
--- a/test/fixtures/ostatus_incoming_post_tag.xml
+++ b/test/fixtures/ostatus_incoming_post_tag.xml
@@ -43,6 +43,7 @@
<title>New note by lambadalambda</title>
<content type="html">Will it blend?</content>
<category term="Nsfw"/>
+ <category term=""/>
<link rel="alternate" type="text/html" href="https://social.heldscal.la/notice/1967725"/>
<status_net notice_id="1967725"></status_net>
<activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>