[Bookmarkable video gallery links clinton@unknownlamer.org**20090521205029 Ignore-this: b770f9da214f364f1828b46d31e1db54 ] hunk ./src/frontend-videos.lisp 19 +(defclass video-page-link (standard-action) + ((video :initarg :video :accessor video :initform nil)) + (:metaclass c2mop:funcallable-standard-class)) + +(defmethod compute-url ((link video-page-link) (c bee-videos)) + (let ((url (call-next-method))) + (when-bind video (video link) + (append-path-to-uri url (format nil "pages/videos/~A" + (beesknees.videos:youtube-id video)))) + url)) + +(defun video-link (video) + (make-action (lambda () + (with-call/cc + (call 'bee-videos-video + :video-id (beesknees.videos:youtube-id video)))) + :class 'video-page-link + :video video)) + +(defcomponent video-bookmark-helper (task-component) + ((video-id :initarg :video-id))) + +(defaction start ((task video-bookmark-helper)) + (call 'bee-videos-video :video-id (slot-value task 'video-id)) + (call 'bee-videos)) + hunk ./src/frontend-videos.lisp 48 - (