|
|
|
@ -1,12 +1,10 @@
|
|
|
|
|
(mapc
|
|
|
|
|
(lambda (x) (ql:quickload x))
|
|
|
|
|
'(:cl-rng
|
|
|
|
|
:manx-utils
|
|
|
|
|
:cl-ppcre
|
|
|
|
|
:aserve
|
|
|
|
|
:dexador
|
|
|
|
|
:jsown
|
|
|
|
|
:qbase64))
|
|
|
|
|
(ql:quickload :aserve)
|
|
|
|
|
(ql:quickload :dexador)
|
|
|
|
|
(ql:quickload :jsown)
|
|
|
|
|
(ql:quickload :qbase64)
|
|
|
|
|
(ql:quickload :cl-ppcre)
|
|
|
|
|
(ql:quickload :cl-rng)
|
|
|
|
|
(ql:quickload :manx-utils)
|
|
|
|
|
|
|
|
|
|
(load #p"config.lisp")
|
|
|
|
|
|
|
|
|
@ -38,16 +36,16 @@
|
|
|
|
|
|
|
|
|
|
(loop (sleep 10000)))
|
|
|
|
|
|
|
|
|
|
(defun loli-rating (req)
|
|
|
|
|
(let ((rating (net.aserve:request-query-value "rating" req)))
|
|
|
|
|
(defun loli-rating (rating)
|
|
|
|
|
(or (cl-ppcre:scan-to-strings "-?(s|q|e)" rating)
|
|
|
|
|
"s")))
|
|
|
|
|
"s"))
|
|
|
|
|
|
|
|
|
|
(defun based-loli (req)
|
|
|
|
|
(manx-utils:to-string
|
|
|
|
|
"data:image/jpg;base64,"
|
|
|
|
|
(qbase64:encode-bytes
|
|
|
|
|
(dex:get (get-loli (loli-rating req))))))
|
|
|
|
|
(dex:get (get-loli
|
|
|
|
|
(loli-rating (net.aserve:request-query-value "rating" req)))))))
|
|
|
|
|
|
|
|
|
|
(defun this-is-bad-code (req ent)
|
|
|
|
|
(net.aserve:with-http-response (req ent)
|
|
|
|
@ -59,6 +57,6 @@
|
|
|
|
|
((:body :style "position:relative")
|
|
|
|
|
((:img :style "object-fit: contain; width: 100%; height:100%"
|
|
|
|
|
:src (based-loli req)))
|
|
|
|
|
((:a :style "position:absolute;top:8px;right:16px;" href "/loli/about") "about")))))))
|
|
|
|
|
|
|
|
|
|
((:a :style "position:absolute;top:8px;right:16px;" href "/loli/about") "about"))))))
|
|
|
|
|
(gc :full t)) ;; Removes downloaded files from memory
|
|
|
|
|
(main)
|
|
|
|
|