(ns db-import "Imports given file(s) to a db graph. This script is primarily for developing the import feature and for engineers who want to customize the import process" (:require [clojure.string :as string] [datascript.core :as d] ["path" :as node-path] ["os" :as os] ["fs" :as fs] ["fs/promises" :as fsp] [nbb.core :as nbb] [babashka.cli :as cli] [logseq.graph-parser.exporter :as gp-exporter] [logseq.common.graph :as common-graph] [logseq.common.config :as common-config] [logseq.tasks.db-graph.create-graph :as create-graph] [promesa.core :as p])) (defn- remove-hidden-files [dir config files] (if (seq (:hidden config)) (->> files (map #(assoc % ::rel-path (node-path/relative dir (:rpath %)))) ((fn [files] (common-config/remove-hidden-files files config ::rel-path))) (map #(dissoc % ::rel-path))) files)) (defn- build-graph-files "Given a graph directory, return absolute, allowed file paths and their contents in preparation for parsing" [dir*] (let [dir (node-path/resolve dir*)] (->> (common-graph/get-files dir) (mapv #(hash-map :rpath %))))) (defn- (gp-exporter/setup-import-options @conn {} (select-keys options [:tag-classes :property-classes]) {:notify-user prn :macros (:macros config)}) (assoc-in [:extract-options :verbose] (:verbose options)))) (defn-