💄 Fix linter issues on exporter

This commit is contained in:
Andrey Antukh 2022-06-29 14:53:57 +02:00
parent 9c194ee3cb
commit bfb0ba47f5
15 changed files with 23 additions and 59 deletions

View file

@ -9,10 +9,8 @@
["generic-pool" :as gp] ["generic-pool" :as gp]
["generic-pool/lib/errors" :as gpe] ["generic-pool/lib/errors" :as gpe]
["playwright" :as pw] ["playwright" :as pw]
[app.common.data :as d]
[app.common.exceptions :as ex] [app.common.exceptions :as ex]
[app.common.logging :as l] [app.common.logging :as l]
[app.common.uuid :as uuid]
[app.config :as cf] [app.config :as cf]
[app.util.object :as obj] [app.util.object :as obj]
[promesa.core :as p])) [promesa.core :as p]))

View file

@ -7,13 +7,10 @@
(ns app.config (ns app.config
(:refer-clojure :exclude [get]) (:refer-clojure :exclude [get])
(:require (:require
["fs" :as fs]
["process" :as process] ["process" :as process]
[app.common.exceptions :as ex]
[app.common.data :as d] [app.common.data :as d]
[app.common.spec :as us] [app.common.spec :as us]
[app.common.version :as v] [app.common.version :as v]
[app.common.uri :as u]
[cljs.core :as c] [cljs.core :as c]
[cljs.pprint] [cljs.pprint]
[cljs.spec.alpha :as s] [cljs.spec.alpha :as s]

View file

@ -18,7 +18,7 @@
(l/initialize!) (l/initialize!)
(defn start (defn start
[& args] [& _]
(l/info :msg "initializing") (l/info :msg "initializing")
(p/do! (p/do!
(bwr/init) (bwr/init)

View file

@ -10,22 +10,18 @@
[app.common.exceptions :as ex] [app.common.exceptions :as ex]
[app.common.logging :as l] [app.common.logging :as l]
[app.common.spec :as us] [app.common.spec :as us]
[app.common.uri :as u]
[app.config :as cf]
[app.handlers.export-frames :as export-frames] [app.handlers.export-frames :as export-frames]
[app.handlers.export-shapes :as export-shapes] [app.handlers.export-shapes :as export-shapes]
[app.handlers.resources :as resources] [app.handlers.resources :as resources]
[app.util.transit :as t] [app.util.transit :as t]
[clojure.spec.alpha :as s] [clojure.spec.alpha :as s]
[cuerdas.core :as str] [cuerdas.core :as str]))
[promesa.core :as p]
[reitit.core :as r]))
(l/set-level! :debug) (l/set-level! :debug)
(defn on-error (defn on-error
[error exchange] [error exchange]
(let [{:keys [type message code] :as data} (ex-data error)] (let [{:keys [type code] :as data} (ex-data error)]
(cond (cond
(or (= :validation type) (or (= :validation type)
(= :assertion type)) (= :assertion type))

View file

@ -6,13 +6,10 @@
(ns app.handlers.export-frames (ns app.handlers.export-frames
(:require (:require
["path" :as path]
[app.common.logging :as l] [app.common.logging :as l]
[app.common.exceptions :as exc]
[app.common.spec :as us] [app.common.spec :as us]
[app.common.pprint :as pp]
[app.handlers.resources :as rsc]
[app.handlers.export-shapes :refer [prepare-exports]] [app.handlers.export-shapes :refer [prepare-exports]]
[app.handlers.resources :as rsc]
[app.redis :as redis] [app.redis :as redis]
[app.renderer :as rd] [app.renderer :as rd]
[app.util.shell :as sh] [app.util.shell :as sh]
@ -41,7 +38,7 @@
:opt-un [::name])) :opt-un [::name]))
(defn handler (defn handler
[{:keys [:request/auth-token] :as exchange} {:keys [exports profile-id] :as params}] [{:keys [:request/auth-token] :as exchange} {:keys [exports] :as params}]
;; NOTE: we need to have the `:type` prop because the exports ;; NOTE: we need to have the `:type` prop because the exports
;; datastructure preparation uses it for creating the groups. ;; datastructure preparation uses it for creating the groups.
(let [exports (-> (map #(assoc % :type :pdf :scale 1 :suffix "") exports) (let [exports (-> (map #(assoc % :type :pdf :scale 1 :suffix "") exports)
@ -111,7 +108,8 @@
(-> (p/loop [exports (seq exports)] (-> (p/loop [exports (seq exports)]
(when-let [export (first exports)] (when-let [export (first exports)]
(p/let [proc (rd/render export on-object)] (p/do
(rd/render export on-object)
(p/recur (rest exports))))) (p/recur (rest exports)))))
(p/then (fn [_] (deref result))) (p/then (fn [_] (deref result)))
@ -122,7 +120,7 @@
(-> (sh/stat (:path resource)) (-> (sh/stat (:path resource))
(p/then #(merge resource %))))) (p/then #(merge resource %)))))
(p/catch on-error) (p/catch on-error)
(p/finally (fn [result cause] (p/finally (fn [_ cause]
(when-not cause (when-not cause
(on-complete))))))) (on-complete)))))))

View file

@ -6,9 +6,7 @@
(ns app.handlers.export-shapes (ns app.handlers.export-shapes
(:require (:require
["path" :as path]
[app.common.data :as d] [app.common.data :as d]
[app.common.exceptions :as exc]
[app.common.logging :as l] [app.common.logging :as l]
[app.common.spec :as us] [app.common.spec :as us]
[app.handlers.resources :as rsc] [app.handlers.resources :as rsc]
@ -140,7 +138,8 @@
proc (-> (p/do proc (-> (p/do
(p/loop [exports (seq exports)] (p/loop [exports (seq exports)]
(when-let [export (first exports)] (when-let [export (first exports)]
(p/let [proc (rd/render export append)] (p/do
(rd/render export append)
(p/recur (rest exports))))) (p/recur (rest exports)))))
(.finalize zip)) (.finalize zip))
(p/then (constantly resource)) (p/then (constantly resource))

View file

@ -9,9 +9,7 @@
(:require (:require
["archiver" :as arc] ["archiver" :as arc]
["fs" :as fs] ["fs" :as fs]
["os" :as os]
["path" :as path] ["path" :as path]
[app.common.data :as d]
[app.common.exceptions :as ex] [app.common.exceptions :as ex]
[app.common.uuid :as uuid] [app.common.uuid :as uuid]
[app.util.mime :as mime] [app.util.mime :as mime]
@ -49,7 +47,7 @@
"content-length" (:size stat)}})) "content-length" (:size stat)}}))
(defn handler (defn handler
[{:keys [:request/params response] :as exchange}] [{:keys [:request/params] :as exchange}]
(when-not (contains? params :id) (when-not (contains? params :id)
(ex/raise :type :validation (ex/raise :type :validation
:code :missing-id)) :code :missing-id))

View file

@ -12,7 +12,6 @@
["raw-body" :as raw-body] ["raw-body" :as raw-body]
["stream" :as stream] ["stream" :as stream]
[app.common.logging :as l] [app.common.logging :as l]
[app.common.spec :as us]
[app.common.transit :as t] [app.common.transit :as t]
[app.config :as cf] [app.config :as cf]
[app.handlers :as handlers] [app.handlers :as handlers]

View file

@ -28,7 +28,7 @@
(.on client "reconnect" (.on client "reconnect"
(fn [ms] (l/warn :hint "reconnecting to redis" :ms ms))) (fn [ms] (l/warn :hint "reconnecting to redis" :ms ms)))
(.on client "end" (.on client "end"
(fn [ms] (l/warn :hint "client ended, no more connections will be attempted"))) (fn [] (l/warn :hint "client ended, no more connections will be attempted")))
client)) client))
(defn init (defn init

View file

@ -31,7 +31,7 @@
(s/def ::render-params (s/def ::render-params
(s/keys :req-un [::file-id ::page-id ::scale ::token ::type ::objects])) (s/keys :req-un [::file-id ::page-id ::scale ::token ::type ::objects]))
(defn- render (defn render
[{:keys [type] :as params} on-object] [{:keys [type] :as params} on-object]
(us/verify ::render-params params) (us/verify ::render-params params)
(us/verify fn? on-object) (us/verify fn? on-object)

View file

@ -7,19 +7,12 @@
(ns app.renderer.bitmap (ns app.renderer.bitmap
"A bitmap renderer." "A bitmap renderer."
(:require (:require
["path" :as path]
[app.browser :as bw] [app.browser :as bw]
[app.common.data :as d]
[app.common.data.macros :as dm]
[app.common.exceptions :as ex]
[app.common.logging :as l] [app.common.logging :as l]
[app.common.pages :as cp]
[app.common.spec :as us]
[app.common.uri :as u] [app.common.uri :as u]
[app.config :as cf] [app.config :as cf]
[app.util.mime :as mime] [app.util.mime :as mime]
[app.util.shell :as sh] [app.util.shell :as sh]
[cljs.spec.alpha :as s]
[cuerdas.core :as str] [cuerdas.core :as str]
[promesa.core :as p])) [promesa.core :as p]))

View file

@ -7,18 +7,13 @@
(ns app.renderer.pdf (ns app.renderer.pdf
"A pdf renderer." "A pdf renderer."
(:require (:require
["path" :as path]
[app.browser :as bw] [app.browser :as bw]
[app.common.data.macros :as dm] [app.common.data.macros :as dm]
[app.common.exceptions :as ex :include-macros true]
[app.common.logging :as l] [app.common.logging :as l]
[app.common.spec :as us]
[app.common.uri :as u] [app.common.uri :as u]
[app.config :as cf] [app.config :as cf]
[app.util.mime :as mime] [app.util.mime :as mime]
[app.util.shell :as sh] [app.util.shell :as sh]
[cuerdas.core :as str]
[cljs.spec.alpha :as s]
[promesa.core :as p])) [promesa.core :as p]))
(defn render (defn render
@ -57,8 +52,7 @@
(render [base-uri page] (render [base-uri page]
(p/loop [objects (seq objects)] (p/loop [objects (seq objects)]
(when-let [object (first objects)] (when-let [object (first objects)]
(p/let [uri (prepare-uri base-uri (:id object)) (p/let [path (render-object page base-uri object)]
path (render-object page base-uri object)]
(on-object (assoc object :path path)) (on-object (assoc object :path path))
(p/recur (rest objects))))))] (p/recur (rest objects))))))]

View file

@ -6,20 +6,14 @@
(ns app.renderer.svg (ns app.renderer.svg
(:require (:require
["path" :as path]
["xml-js" :as xml] ["xml-js" :as xml]
[app.browser :as bw] [app.browser :as bw]
[app.common.data :as d] [app.common.data :as d]
[app.common.data.macros :as dm]
[app.common.exceptions :as ex :include-macros true]
[app.common.logging :as l] [app.common.logging :as l]
[app.common.pages :as cp]
[app.common.spec :as us]
[app.common.uri :as u] [app.common.uri :as u]
[app.config :as cf] [app.config :as cf]
[app.util.mime :as mime] [app.util.mime :as mime]
[app.util.shell :as sh] [app.util.shell :as sh]
[cljs.spec.alpha :as s]
[clojure.walk :as walk] [clojure.walk :as walk]
[cuerdas.core :as str] [cuerdas.core :as str]
[promesa.core :as p])) [promesa.core :as p]))
@ -184,7 +178,7 @@
(get-gradients [id mapping] (get-gradients [id mapping]
(->> mapping (->> mapping
(filter (fn [[color data]] (filter (fn [[_color data]]
(= (get data "type") "gradient"))) (= (get data "type") "gradient")))
(mapv (partial data->gradient-def id)))) (mapv (partial data->gradient-def id))))
@ -227,7 +221,7 @@
elements (cond->> elements elements (cond->> elements
(not (empty? gradient-defs)) (seq gradient-defs)
(into [{"type" "element" "name" "defs" "attributes" {} (into [{"type" "element" "name" "defs" "attributes" {}
"elements" gradient-defs}]))] "elements" gradient-defs}]))]

View file

@ -8,7 +8,6 @@
"Mimetype and file extension helpers." "Mimetype and file extension helpers."
(:refer-clojure :exclude [get]) (:refer-clojure :exclude [get])
(:require (:require
[app.common.data :as d]
[cljs.core :as c])) [cljs.core :as c]))
(defn get-extension (defn get-extension
@ -20,7 +19,7 @@
:pdf ".pdf" :pdf ".pdf"
:zip ".zip")) :zip ".zip"))
(defn- get (defn get
[type] [type]
(case type (case type
:zip "application/zip" :zip "application/zip"

View file

@ -11,9 +11,9 @@
["fs" :as fs] ["fs" :as fs]
["os" :as os] ["os" :as os]
["path" :as path] ["path" :as path]
[app.common.exceptions :as ex]
[app.common.logging :as l] [app.common.logging :as l]
[app.common.uuid :as uuid] [app.common.uuid :as uuid]
[app.common.exceptions :as ex]
[cuerdas.core :as str] [cuerdas.core :as str]
[promesa.core :as p])) [promesa.core :as p]))
@ -34,11 +34,10 @@
(when (fs/existsSync path) (when (fs/existsSync path)
(l/trace :hint "permanently remove tempfile" :path path) (l/trace :hint "permanently remove tempfile" :path path)
(fs/rmSync path #js {:recursive true})))] (fs/rmSync path #js {:recursive true})))]
(let [ts (js/Date.now)]
(l/trace :hint "schedule tempfile deletion" (l/trace :hint "schedule tempfile deletion"
:path path :path path
:scheduled-at (.. (js/Date. (+ (js/Date.now) tempfile-minage)) toString)) :scheduled-at (.. (js/Date. (+ (js/Date.now) tempfile-minage)) toString))
(js/setTimeout remote-tempfile tempfile-minage)))) (js/setTimeout remote-tempfile tempfile-minage)))
(defn tempfile (defn tempfile
[& {:keys [prefix suffix] [& {:keys [prefix suffix]
@ -86,7 +85,7 @@
(fn [resolve reject] (fn [resolve reject]
(l/trace :fn :run-cmd :cmd cmd) (l/trace :fn :run-cmd :cmd cmd)
(proc/exec cmd #js {:encoding "buffer"} (proc/exec cmd #js {:encoding "buffer"}
(fn [error stdout stderr] (fn [error stdout _stderr]
;; (l/trace :fn :run-cmd :stdout stdout) ;; (l/trace :fn :run-cmd :stdout stdout)
(if error (if error
(reject error) (reject error)