Update of /project/lisppaste/cvsroot/lisppaste2 In directory common-lisp.net:/home/bmastenbrook/lisppaste2
Modified Files: README.lisp irc-notification.lisp package.lisp variable.lisp web-server.lisp Log Message: General fixes, fix pastes made by lisppaste.el
Date: Sun Nov 7 22:01:44 2004 Author: bmastenbrook
Index: lisppaste2/README.lisp diff -u lisppaste2/README.lisp:1.15 lisppaste2/README.lisp:1.16 --- lisppaste2/README.lisp:1.15 Wed Oct 20 22:37:50 2004 +++ lisppaste2/README.lisp Sun Nov 7 22:01:43 2004 @@ -1,4 +1,4 @@ -;;;; $Id: README.lisp,v 1.15 2004/10/20 20:37:50 bmastenbrook Exp $ +;;;; $Id: README.lisp,v 1.16 2004/11/07 21:01:43 bmastenbrook Exp $ ;;;; $Source: /project/lisppaste/cvsroot/lisppaste2/README.lisp,v $
;;;; See the LICENSE file for licensing information. @@ -35,11 +35,15 @@ (lisppaste:start-lisppaste)
#-lisppaste-no-irc -(lisppaste:start-irc-notification - :channels '("#lisp" "#scheme" "#opendarwin" "#macdev" "#fink" - "#jedit" "#dylan" "#emacs" "#xemacs" "#colloquy" "#adium" - "#growl" "#chicken" "#quicksilver" "#svn" "#slate" - "#squeak" "#wiki" "#nebula" "#imgames") - :nickname "lisppaste" - :server "orwell.freenode.net" - :port 6667) +(progn + (lisppaste:start-irc-notification + :channels '("#lisp" "#scheme" "#opendarwin" "#macdev" "#fink" + "#jedit" "#dylan" "#emacs" "#xemacs" "#colloquy" "#adium" + "#growl" "#chicken" "#quicksilver" "#svn" "#slate" + "#squeak" "#wiki" "#nebula" "#imgames") + :nickname "lisppaste" + :server "orwell.freenode.net" + :port 6667) + (lisppaste:start-irc-notification + :channels '("#lisppaste" "#pearpc" "#fpc" "#hprog") + :nickname "lisppaste2"))
Index: lisppaste2/irc-notification.lisp diff -u lisppaste2/irc-notification.lisp:1.3 lisppaste2/irc-notification.lisp:1.4 --- lisppaste2/irc-notification.lisp:1.3 Sun Oct 24 21:54:33 2004 +++ lisppaste2/irc-notification.lisp Sun Nov 7 22:01:43 2004 @@ -1,4 +1,4 @@ -;;;; $Id: irc-notification.lisp,v 1.3 2004/10/24 19:54:33 bmastenbrook Exp $ +;;;; $Id: irc-notification.lisp,v 1.4 2004/11/07 21:01:43 bmastenbrook Exp $ ;;;; $Source: /project/lisppaste/cvsroot/lisppaste2/irc-notification.lisp,v $
;;;; See the LICENSE file for licensing information. @@ -94,6 +94,14 @@ (setf (car (rassoc nickname *nicknames* :test #'string=)) (remove channel (car (rassoc nickname *nicknames* :test #'string=)) :test #'string=))) + +(defun quit-all-connections () + (mapc #'(lambda (e) + (ignore-errors (irc:quit e))) + (mapcar #'cdr *connections*))) + +(defun hup-all-connections () + (mapc #'hup-irc-connection (mapcar #'car *connections*)))
(defun hup-irc-connection (nickname &optional (server *default-irc-server*)) (ignore-errors (irc:quit (nick-connection nickname)))
Index: lisppaste2/package.lisp diff -u lisppaste2/package.lisp:1.9 lisppaste2/package.lisp:1.10 --- lisppaste2/package.lisp:1.9 Wed Oct 20 22:22:13 2004 +++ lisppaste2/package.lisp Sun Nov 7 22:01:43 2004 @@ -1,4 +1,4 @@ -;;;; $Id: package.lisp,v 1.9 2004/10/20 20:22:13 bmastenbrook Exp $ +;;;; $Id: package.lisp,v 1.10 2004/11/07 21:01:43 bmastenbrook Exp $ ;;;; $Source: /project/lisppaste/cvsroot/lisppaste2/package.lisp,v $
;;;; See the LICENSE file for licensing information. @@ -10,6 +10,7 @@ (:use :cl #+sbcl :sb-bsd-sockets :html-encode) (:export :start-lisppaste :join-new-irc-channel :start-irc-notification :hup-irc-connection + :quit-all-connections :hup-all-connections :shut-up :un-shut-up :irc-say-help :kill-paste :kill-paste-annotations :kill-paste-annotation :display-paste-url :find-paste)))
Index: lisppaste2/variable.lisp diff -u lisppaste2/variable.lisp:1.35 lisppaste2/variable.lisp:1.36 --- lisppaste2/variable.lisp:1.35 Sun Oct 24 21:54:33 2004 +++ lisppaste2/variable.lisp Sun Nov 7 22:01:43 2004 @@ -1,4 +1,4 @@ -;;;; $Id: variable.lisp,v 1.35 2004/10/24 19:54:33 bmastenbrook Exp $ +;;;; $Id: variable.lisp,v 1.36 2004/11/07 21:01:43 bmastenbrook Exp $ ;;;; $Source: /project/lisppaste/cvsroot/lisppaste2/variable.lisp,v $
;;;; See the LICENSE file for licensing information. @@ -23,12 +23,12 @@
(in-package :lisppaste)
-(defparameter *internal-http-port* 8081 +(defparameter *internal-http-port* 8080 "Port lisppaste's araneida will listen on for requests from Apache.") -(defparameter *external-http-port* 8081 +(defparameter *external-http-port* 80 "Port lisppaste's araneida will listen on for requests from remote clients.")
-(defparameter *paste-site-name* "www.unmutual.info" +(defparameter *paste-site-name* "paste.lisp.org" "Website we are running on (used for creating links).")
(defparameter *paste-external-url* @@ -37,7 +37,7 @@ :host *paste-site-name* ;;; comment out this next line when running ;;; behind a proxying apache - :port *external-http-port* + #| :port *external-http-port* |# ) "/"))
(defparameter *old-url* (araneida:merge-url @@ -53,6 +53,8 @@ ; be ignored when not running ; with an IRC connection
+(defvar *owner-email* "chandler@unmutual.info") ; the owner of this lisppaste + (defvar *paste-maximum-size* 51200) ; in bytes
(defvar *pastes-per-page* 50) ; for the paste list @@ -123,6 +125,9 @@ (defparameter *recent-url* (araneida:merge-url *paste-external-url* "recent"))
+(defparameter *email-redirect-url* + (araneida:merge-url *paste-external-url* "email")) + (defparameter *main-system-server-url* (araneida:merge-url *paste-external-url* "system-server/"))
@@ -153,7 +158,6 @@
(defvar *pastes* nil) (defvar *paste-counter* 0) - (defvar *channels* '("None"))
(defvar *paste-file*
Index: lisppaste2/web-server.lisp diff -u lisppaste2/web-server.lisp:1.68 lisppaste2/web-server.lisp:1.69 --- lisppaste2/web-server.lisp:1.68 Wed Oct 20 22:37:50 2004 +++ lisppaste2/web-server.lisp Sun Nov 7 22:01:43 2004 @@ -1,4 +1,4 @@ -;;;; $Id: web-server.lisp,v 1.68 2004/10/20 20:37:50 bmastenbrook Exp $ +;;;; $Id: web-server.lisp,v 1.69 2004/11/07 21:01:43 bmastenbrook Exp $ ;;;; $Source: /project/lisppaste/cvsroot/lisppaste2/web-server.lisp,v $
;;;; See the LICENSE file for licensing information. @@ -14,7 +14,7 @@ (annotations :initarg :annotations :initform nil :accessor paste-annotations) (annotation-counter :initarg :annotation-counter :initform 0 :accessor paste-annotation-counter) (channel :initarg :channel :initform "" :accessor paste-channel) - (colorization-mode :initarg :colorization-mode :initform :none :accessor paste-colorization-mode))) + (colorization-mode :initarg :colorization-mode :initform "" :accessor paste-colorization-mode)))
(defun paste-display-url (paste) (araneida:urlstring (araneida:merge-url *display-paste-url* (prin1-to-string (paste-number paste))))) @@ -50,6 +50,8 @@
(defclass stats-handler (lisppaste-basic-handler) ())
+(defclass email-redirect-handler (lisppaste-basic-handler) ()) + (defvar *referer-hash* (make-hash-table :test #'equalp))
(defvar *referer-example-hash* (make-hash-table :test #'equalp)) @@ -81,7 +83,7 @@ (incf (gethash "Google" *referer-hash* 0) count)))))
(defmethod araneida:handle-request-response :around ((handler lisppaste-basic-handler) method request) - (with-open-file (*trace-output* (times-file-for-class handler) + (progn #+nil with-open-file #+nil (*trace-output* (times-file-for-class handler) :direction :output :if-exists :append :if-does-not-exist :create) (time @@ -225,6 +227,8 @@ "Lisppaste is graciously hosted by " (b ((a :href "http://www.common-lisp.net/") "common-lisp.net")) " - a hosting service for projects written in Common Lisp (like this one)." + (p) + "Questions? Comments? Want lisppaste in your channel? " ((a :href ,(araneida:urlstring *email-redirect-url*)) "Email me") "." )) ((td :valign top :align right) ((form :method post :action ,(araneida:urlstring *submit-paste-url*)) @@ -1038,6 +1042,9 @@ (colorize-string (or (araneida:body-param "colorize" (araneida:request-body request)) (and paste + (when (eql (paste-colorization-mode paste) :none) + (setf (paste-colorization-mode paste) "") + nil) (> (length (paste-colorization-mode paste)) 0) (paste-colorization-mode paste)) )) @@ -1157,6 +1164,19 @@ (format nil "Invalid paste number ~A!" paste-number) ))))))
+(defmethod araneida:handle-request-response ((handler email-redirect-handler) method request) + (let ((email-url (concatenate 'string "mailto:" *owner-email*))) + (araneida:request-send-headers + request + :location email-url + :expires "Fri, 30 Oct 1998 14:19:41 GMT" + :pragma "no-cache" + :response-code 302 :response-text "Redirected") + (araneida:html-stream + (araneida:request-stream request) + `(html (body (h1 "Redirected")))) + t)) + (araneida:install-handler (araneida:http-listener-handler *paste-listener*) (make-instance 'new-paste-handler) @@ -1211,3 +1231,8 @@ (araneida:http-listener-handler *paste-listener*) (make-instance 'recent-handler) (araneida:urlstring *recent-url*) t) + +(araneida:install-handler + (araneida:http-listener-handler *paste-listener*) + (make-instance 'email-redirect-handler) + (araneida:urlstring *email-redirect-url*) t)