Pārlūkot izejas kodu

fix: importer fails when misconfigure journal ref is a property value

Fixes failure Ramses graph is seeing. Also fix typo in test graph
causing blank journal ref
Gabriel Horner 9 mēneši atpakaļ
vecāks
revīzija
04aa88b43e

+ 9 - 5
deps/graph-parser/src/logseq/graph_parser/block.cljs

@@ -286,14 +286,18 @@
 
 (defn- convert-page-if-journal-impl
   "Convert journal file name to user' custom date format"
-  [original-page-name date-formatter]
+  [original-page-name date-formatter & {:keys [export-to-db-graph?]}]
   (when original-page-name
     (let [page-name (common-util/page-name-sanity-lc original-page-name)
           day (when date-formatter
-                (date-time-util/journal-title->int page-name (date-time-util/safe-journal-title-formatters date-formatter)))]
+                (date-time-util/journal-title->int
+                 page-name
+                 ;; When exporting, only use the configured date-formatter. Allowing for other date formatters allows
+                 ;; for page names to change which breaks looking up journal refs for unconfigured journal pages
+                 (if export-to-db-graph? [date-formatter] (date-time-util/safe-journal-title-formatters date-formatter))))]
       (if day
-        (let [original-page-name (date-time-util/int->journal-title day date-formatter)]
-          [original-page-name (common-util/page-name-sanity-lc original-page-name) day])
+        (let [original-page-name' (date-time-util/int->journal-title day date-formatter)]
+          [original-page-name' (common-util/page-name-sanity-lc original-page-name') day])
         [original-page-name page-name day]))))
 
 (def convert-page-if-journal (memoize convert-page-if-journal-impl))
@@ -306,7 +310,7 @@
    {:keys [with-timestamp? page-uuid from-page class? skip-existing-page-check?]}]
   (let [db-based? (ldb/db-based-graph? db)
         original-page-name (common-util/remove-boundary-slashes original-page-name)
-        [original-page-name' page-name journal-day] (convert-page-if-journal original-page-name date-formatter)
+        [original-page-name' page-name journal-day] (convert-page-if-journal original-page-name date-formatter {:export-to-db-graph? @*export-to-db-graph?})
         namespace? (and (or (not db-based?) @*export-to-db-graph?)
                         (not (boolean (text/get-nested-page-name original-page-name')))
                         (text/namespace-page? original-page-name'))

+ 1 - 1
deps/graph-parser/test/logseq/graph_parser/exporter_test.cljs

@@ -223,7 +223,7 @@
               set))))
 
     (testing "user properties"
-      (is (= 18
+      (is (= 19
              (->> @conn
                   (d/q '[:find [(pull ?b [:db/ident]) ...]
                          :where [?b :block/tags :logseq.class/Property]])

+ 1 - 1
deps/graph-parser/test/resources/exporter-test-graph/journals/2024_11_18.md

@@ -1,2 +1,2 @@
-- Block with journal ref [[Nov 3th, 2020]]
+- Block with journal ref [[Nov 3rd, 2020]]
 - Another block with #Quotes/life

+ 2 - 1
deps/graph-parser/test/resources/exporter-test-graph/pages/CreativeWork.md

@@ -1,3 +1,4 @@
 parent:: [[Thing]]
 
-- creative block
+- block with date property value that doesn't have the same format as the current date format
+misconfigured-date:: [[2021_12_06]]