From d4fbaddc50de38ec7853730f8cf6211d510dc2f3 Mon Sep 17 00:00:00 2001 From: Scott Ostler Date: Wed, 2 Mar 2011 01:19:23 -0500 Subject: fix lower-casing of redis keys --- src/datalayer.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/datalayer.clj b/src/datalayer.clj index 6a7995f..32f743f 100644 --- a/src/datalayer.clj +++ b/src/datalayer.clj @@ -185,7 +185,7 @@ WHERE u.nick = ANY(?)" (defn incrby-redis-favscore! [msg incr] (let [msg-id (str (:message_id msg)) is-image? (:is_image msg) - nick (lower-case (:nick msg)) + nick (:nick msg) incr (double incr)] (with-jedis #(do -- cgit v1.2.3-70-g09d2 From 4a51655dd1174dbb2a594c56b6c300f01872a949 Mon Sep 17 00:00:00 2001 From: Scott Ostler Date: Sun, 6 Mar 2011 23:30:58 -0500 Subject: Fix favscore nick lookup, clean up front page redirection --- src/datalayer.clj | 4 ++-- src/site.clj | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/datalayer.clj b/src/datalayer.clj index 32f743f..5a9026c 100644 --- a/src/datalayer.clj +++ b/src/datalayer.clj @@ -179,7 +179,7 @@ WHERE u.nick = ANY(?)" -1 (maybe-parse-int (redis/with-server redis-server - (redis/zscore "favscores" (lower-case nick))) + (redis/zscore redis-favscores-key nick)) 0))) (defn incrby-redis-favscore! [msg incr] @@ -189,7 +189,7 @@ WHERE u.nick = ANY(?)" incr (double incr)] (with-jedis #(do - (.zincrby % "favscores" incr nick) + (.zincrby % redis-favscores-key incr nick) (when is-image? (.zincrby % (redis-daily-hall-key (:created_on msg)) incr msg-id) (.zincrby % (redis-popular-key nick) incr msg-id) diff --git a/src/site.clj b/src/site.clj index 35073e5..b6c8882 100644 --- a/src/site.clj +++ b/src/site.clj @@ -205,8 +205,8 @@ ([session dt-str] (let [today (Date.)] (if-let [[prev-date cur-date next-date] (parse-front-page-date dt-str)] - (cond (neg? (.compareTo cur-date earliest-daily-hall)) (redirect-to "/") - (pos? (.compareTo cur-date (Date.))) (redirect-to "/") + (cond (.before cur-date earliest-daily-hall) (redirect-to "/") + (.after cur-date today) (redirect-to "/") :else (let [st (fetch-template "frontpage" session) dumps (map process-message-for-output (fetch-redis-daily-hall cur-date 0 20 (:user_id session)))] -- cgit v1.2.3-70-g09d2 From d64fae424115a12a5d21bcc597bc649a02bd2286 Mon Sep 17 00:00:00 2001 From: Scott Ostler Date: Mon, 7 Mar 2011 13:55:37 -0500 Subject: fix favscore lookup for users with caps --- src/datalayer.clj | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/datalayer.clj b/src/datalayer.clj index 5a9026c..12714d3 100644 --- a/src/datalayer.clj +++ b/src/datalayer.clj @@ -174,13 +174,28 @@ WHERE u.nick = ANY(?)" (* page num) (dec (* (inc page) num))))) + +;; 2011-03-07: While transitioning from keying favscores by lowercase nick to actual nick, +;; both must be summed to get accurate score until redis is updated. +;; Actually, we should just use userids. + +(defn- has-uppercase-char? [s] + (some #(Character/isUpperCase %) s)) + + +(redis/with-server redis-server + (redis/zscore redis-favscores-key "asdfkasdf")) + + (defn fetch-redis-favscore [nick] (if (= (lower-case nick) "scottbot") -1 - (maybe-parse-int - (redis/with-server redis-server - (redis/zscore redis-favscores-key nick)) - 0))) + (let [lookup #(or (redis/with-server redis-server + (redis/zscore redis-favscores-key %)) + 0)] + (if (has-uppercase-char? nick) + (+ (lookup nick) (lookup (lower-case nick))) + (lookup nick))))) (defn incrby-redis-favscore! [msg incr] (let [msg-id (str (:message_id msg)) -- cgit v1.2.3-70-g09d2