summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorScott Ostler <scottbot9000@gmail.com>2010-08-15 04:17:13 -0400
committerScott Ostler <scottbot9000@gmail.com>2010-08-15 04:17:13 -0400
commit5d478aaeadd4608a31474090e50fb08786662bb5 (patch)
tree60fd6c4719ce1da8f1641673c253be666b629212 /src
parent07a3e9044ec9805d987ed5f8b28cc6fedaf203f2 (diff)
parentdb03f7ccb8c6929354a1f033e03708a450aab8ce (diff)
Merge branch 'master' of ssh://dump.fm/pichat/repo
Diffstat (limited to 'src')
-rw-r--r--src/rooms.clj2
-rw-r--r--src/site.clj14
2 files changed, 13 insertions, 3 deletions
diff --git a/src/rooms.clj b/src/rooms.clj
index 8f54640..7997e97 100644
--- a/src/rooms.clj
+++ b/src/rooms.clj
@@ -127,7 +127,7 @@
(create-and-add-room! key)
(throw (Exception. (str "Unable to create room " key))))))
-(defn- fetch-or-create-bot-id! [nick]
+(defn fetch-or-create-bot-id! [nick]
(:user_id
(or (fetch-nick nick)
(first
diff --git a/src/site.clj b/src/site.clj
index 4cde45d..567c3af 100644
--- a/src/site.clj
+++ b/src/site.clj
@@ -1085,6 +1085,13 @@ order by count desc limit ? offset ?")
(not has-access) [200 "UNKNOWN_ROOM"]
:else (do-upload session image (lookup-room room-key)))))
+(defn upload-photo [session params]
+ (let [room-key (params :room)
+ nick "~photobot"
+ user-id (rooms/fetch-or-create-bot-id! nick)
+ image (params :image)]
+ (do-upload {:is_admin true :nick nick :user_id user-id} image (lookup-room room-key))))
+
;; N.B. -- Upload responses aren't JSON-evaluated
(defn do-upload-avatar [session image]
(let [filename (format-filename (:filename image) (session :nick))
@@ -1106,8 +1113,10 @@ order by count desc limit ? offset ?")
(do-upload-avatar session image)))))
(defn serve-meme [session meme]
- (if-let [st (fetch-template meme session)]
- (.toString st)
+ (if-let [st (fetch-template meme session)]
+ (let [now (System/currentTimeMillis)]
+ (.setAttribute st "timestamp" now)
+ (.toString st))
(unknown-page)))
(defn hall-of-fame [session]
@@ -1227,6 +1236,7 @@ order by count desc limit ? offset ?")
(defroutes multipart
(POST "/upload/message" (upload session params))
+ (POST "/upload/photo" (upload-photo session params))
(POST "/upload/avatar" (upload-avatar session params)))
;; Add jpeg to list