diff options
| author | Scott Ostler <scottbot9000@gmail.com> | 2011-01-13 01:38:19 -0500 |
|---|---|---|
| committer | Scott Ostler <scottbot9000@gmail.com> | 2011-01-13 01:38:19 -0500 |
| commit | 0d4ea04edc173f9f7ba90b850061ec0e4d41bc92 (patch) | |
| tree | 4e5b1cadd4d9e09e024c896966fd65a7297fdfa8 /src | |
| parent | 6a0015db5563dc5fe7a54672581b8d59f0fd23e7 (diff) | |
| parent | 482d439f6e8f024848a873772b0758645514a077 (diff) | |
Merge branch 'master' of ssh://dump.fm/pichat/repo
Diffstat (limited to 'src')
| -rw-r--r-- | src/tags.clj | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/tags.clj b/src/tags.clj index 53236c5..fb530ea 100644 --- a/src/tags.clj +++ b/src/tags.clj @@ -332,21 +332,22 @@ WHERE EXISTS (defn fetch-dumps-by-ids ([ids] (fetch-dumps-by-ids ids nil)) ([ids viewer-nick] - (let [ids (map maybe-parse-int ids) - query (fetch-dumps-by-message-id-query :num-messages (count ids)) - raw-rows (do-select (vec (concat [query] ids))) - tagged-rows (map parse-tags-from-row-as-tag-map raw-rows) - index-func (fn [row] - (index-of #(= (:message_id row) %) ids))] - (for [m (sort-by index-func tagged-rows)] - (let [favers (get (:tags m) "favorite") - favorited (and viewer-nick - (boolean (some #(= % viewer-nick) favers))) - filtered-favers (filter #(not= % (:nick m)) favers)] - (assoc m - :favers filtered-favers - :favorited favorited - :count (count filtered-favers))))))) + (if-not (empty? ids) + (let [ids (map maybe-parse-int ids) + query (fetch-dumps-by-message-id-query :num-messages (count ids)) + raw-rows (do-select (vec (concat [query] ids))) + tagged-rows (map parse-tags-from-row-as-tag-map raw-rows) + index-func (fn [row] + (index-of #(= (:message_id row) %) ids))] + (for [m (sort-by index-func tagged-rows)] + (let [favers (get (:tags m) "favorite") + favorited (and viewer-nick + (boolean (some #(= % viewer-nick) favers))) + filtered-favers (filter #(not= % (:nick m)) favers)] + (assoc m + :favers filtered-favers + :favorited favorited + :count (count filtered-favers)))))))) (defn fetch-dump-by-id ([m-id] |
