浏览代码

refactor: remove db-graph behavior from file-graph gp-extract

Makes importer easier to maintain as there's less confusion with unused
checks in gp-extract
Gabriel Horner 9 月之前
父节点
当前提交
0fc8af5686

+ 2 - 1
deps/graph-parser/src/logseq/graph_parser/exporter.cljs

@@ -891,7 +891,7 @@
                    (update-block-marker options)
                    (update-block-priority options)
                    add-missing-timestamps
-                   ;; old whiteboards may have this
+                   ;; old whiteboards may have :block/left
                    (dissoc :block/left :block/format)
                    ;; ((fn [x] (prn :block-out x) x))
                    )]
@@ -1242,6 +1242,7 @@
         extract-options' (merge {:block-pattern (common-config/get-block-pattern format)
                                  :date-formatter "MMM do, yyyy"
                                  :uri-encoded? false
+                                 ;; Alters behavior in gp-block
                                  :export-to-db-graph? true
                                  :filename-format :legacy}
                                 extract-options

+ 14 - 21
deps/graph-parser/src/logseq/graph_parser/extract.cljc

@@ -192,15 +192,13 @@
       blocks))
 
 (defn- build-pages-aux
-  [db db-based? options page-map ref-pages date-formatter format]
-  (let [namespace-pages (when (or (not db-based?) (:export-to-db-graph? options))
-                          (let [page (:block/title page-map)]
-                            (when (text/namespace-page? page)
-                              (->> (common-util/split-namespace-pages page)
-                                   (map (fn [page]
-                                          (cond-> (gp-block/page-name->map page db true date-formatter)
-                                            (not db-based?)
-                                            (assoc :block/format format))))))))
+  [db page-map ref-pages date-formatter format]
+  (let [namespace-pages (let [page (:block/title page-map)]
+                          (when (text/namespace-page? page)
+                            (->> (common-util/split-namespace-pages page)
+                                 (map (fn [page]
+                                        (-> (gp-block/page-name->map page db true date-formatter)
+                                            (assoc :block/format format)))))))
         pages (->> (concat
                     [page-map]
                     @ref-pages
@@ -234,8 +232,7 @@
                                        :as options}]
   (assert db "Datascript DB is required")
   (try
-    (let [db-based? (ldb/db-based-graph? db)
-          page (get-page-name file ast false filename-format)
+    (let [page (get-page-name file ast false filename-format)
           [page page-name _journal-day] (gp-block/convert-page-if-journal page date-formatter)
           options' (assoc options :page-name page-name)
           ;; In case of diff-merge (2way) triggered, use the uuids to override the ones extracted from the AST
@@ -253,15 +250,11 @@
                           (let [block-ref-pages (seq (:block/refs block))]
                             (when block-ref-pages
                               (swap! ref-pages set/union (set block-ref-pages)))
-                            (cond->
-                             (-> block
-                                 (dissoc :ref-pages)
-                                 (assoc :block/page [:block/name page-name]
-                                        :block/refs block-ref-pages))
-                              (not db-based?)
-                              (assoc :block/format format)
-                              db-based?
-                              (dissoc :block/format)))))
+                            (-> block
+                                (dissoc :ref-pages)
+                                (assoc :block/page [:block/name page-name]
+                                       :block/refs block-ref-pages
+                                       :block/format format)))))
                       blocks)
           [properties invalid-properties properties-text-values]
           (if (:block/pre-block? (first blocks))
@@ -270,7 +263,7 @@
              (:block/properties-text-values (first blocks))]
             [properties [] {}])
           page-map (build-page-map properties invalid-properties properties-text-values file page page-name (assoc options' :from-page page))
-          pages (build-pages-aux db db-based? options page-map ref-pages date-formatter format)
+          pages (build-pages-aux db page-map ref-pages date-formatter format)
           blocks (->> (remove nil? blocks)
                       (map (fn [b] (dissoc b :block.temp/ast-title :block.temp/ast-body :block/level :block/children :block/meta))))]
       [pages blocks])

+ 3 - 1
scripts/src/logseq/tasks/dev/db_and_file_graphs.clj

@@ -24,7 +24,7 @@
 (def file-graph-ns
   "Namespaces or parent namespaces _only_ for file graphs"
   (mapv escape-shell-regex
-        ["logseq.graph-parser.db" "logseq.graph-parser.property"
+        ["logseq.graph-parser.db" "logseq.graph-parser.property" "logseq.graph-parser.extract"
          "frontend.handler.file-based" "frontend.handler.file-sync"
          "frontend.db.file-based"
          "frontend.util.file-based"
@@ -62,7 +62,9 @@
 (def file-graph-paths
   "Paths _only_ for file graphs"
   ["deps/graph-parser/src/logseq/graph_parser/db.cljs"
+   "deps/graph-parser/src/logseq/graph_parser/extract.cljc"
    "deps/graph-parser/src/logseq/graph_parser/property.cljs"
+   "deps/graph-parser/src/logseq/graph_parser.cljs"
    "src/main/frontend/handler/file_based" "src/main/frontend/handler/file_sync.cljs" "src/main/frontend/db/file_based"
    "src/main/frontend/util/file_based" "src/main/frontend/worker/handler/page/file_based" "src/main/frontend/worker/file.cljs"
    "src/main/frontend/common/file_based"