projects
/
euphorik.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ADD Lien vers les conversations (pas fini)
[euphorik.git]
/
modules
/
erl
/
euphorik_minichat_conversation.erl
diff --git
a/modules/erl/euphorik_minichat_conversation.erl
b/modules/erl/euphorik_minichat_conversation.erl
index
abe4368
..
d455d94
100755
(executable)
--- a/
modules/erl/euphorik_minichat_conversation.erl
+++ b/
modules/erl/euphorik_minichat_conversation.erl
@@
-27,7
+27,7
@@
% Message est le message de type #minichat et Parents une liste d'Id.
% Plus est un bool. Si Plus vaut true alors il y a encore des messages.
% Si il n'y a pas de nouveaux message alors la fonction est bloquante et attend un nouveau message.
% Message est le message de type #minichat et Parents une liste d'Id.
% Plus est un bool. Si Plus vaut true alors il y a encore des messages.
% Si il n'y a pas de nouveaux message alors la fonction est bloquante et attend un nouveau message.
-% @spec conversations([{integer(), integer()}, integer(), integer(), integer()) -> [Conversation()]
+% @spec conversations([{integer(), integer()}
]
, integer(), integer(), integer()) -> [Conversation()]
conversations(Racines, N, D, P) ->
% écoute des nouveaux messages
case subscribe(minichat, 2) of
conversations(Racines, N, D, P) ->
% écoute des nouveaux messages
case subscribe(minichat, 2) of
@@
-113,14
+113,19
@@
mise_en_forme_conversations([{Principale, Plus_principale} | Conversations]) ->
% Ajoute les parents de chaque message.
% @spec mise_en_forme_conversation([integer()]) -> [{integer(), [integer()]}]
mise_en_forme_conversation(Messages) ->
% Ajoute les parents de chaque message.
% @spec mise_en_forme_conversation([integer()]) -> [{integer(), [integer()]}]
mise_en_forme_conversation(Messages) ->
- map(
- fun(Id) ->
- {ok, Message} = euphorik_minichat:message_by_id(Id),
- {Message, parents(Id)}
+ lists:foldl(
+ fun(Id, Acc) ->
+ case euphorik_minichat:message_by_id(Id) of
+ {ok, Message} ->
+ [{Message, parents(Id)} | Acc];
+ _ ->
+ Acc
+ end
end,
end,
+ [],
Messages
).
Messages
).
-
+
% Renvoie une liste de conversations, le première élément correspond à la conversation principale.
% Les autres éléments sont des tuples {C, Cn, X}, voir conversation/4 pour plus d'infos.
% Renvoie une liste de conversations, le première élément correspond à la conversation principale.
% Les autres éléments sont des tuples {C, Cn, X}, voir conversation/4 pour plus d'infos.