Simplify feature handling on duplicate-file

This commit is contained in:
Andrey Antukh 2023-12-15 15:04:01 +01:00
parent 0ad2e8a0f2
commit ca50486639

View file

@ -106,28 +106,22 @@
media media
media)) media))
(update-fdata [fdata new-id] (process-file [{:keys [id] :as file}]
(-> fdata (-> file
(assoc :id new-id) (update :data assoc :id id)
(feat.fdata/process-pointers deref) (update :data feat.fdata/process-pointers deref)
(pmg/migrate-data) (pmg/migrate-file)
(update :data (fn [data]
(-> data
(update :pages-index relink-shapes) (update :pages-index relink-shapes)
(update :components relink-shapes) (update :components relink-shapes)
(update :media relink-media) (update :media relink-media)
(d/without-nils)))] (d/without-nils))))))]
(binding [pmap/*load-fn* (partial feat.fdata/load-pointer cfg id)
pmap/*tracked* (pmap/create-tracked)
cfeat/*new* (atom #{})]
(let [new-id (get index id) (let [new-id (get index id)
file (binding [pmap/*load-fn* (partial feat.fdata/load-pointer cfg id) file (binding [pmap/*load-fn* (partial feat.fdata/load-pointer cfg id)]
cfeat/*new* (atom #{})] (-> (assoc file :id new-id)
(-> file (process-file)))
(assoc :id new-id)
(update :data update-fdata new-id)
(update :features into (deref cfeat/*new*))
(update :features cfeat/migrate-legacy-features)))
file (if (contains? (:features file) "fdata/objects-map") file (if (contains? (:features file) "fdata/objects-map")
(feat.fdata/enable-objects-map file) (feat.fdata/enable-objects-map file)
@ -139,8 +133,7 @@
(feat.fdata/persist-pointers! cfg (:id file)) (feat.fdata/persist-pointers! cfg (:id file))
file)) file))
file)] file)]
file)))
file))))
(def sql:get-used-libraries (def sql:get-used-libraries
"select flr.* "select flr.*