From 3c52bf63a9a4e84f154cbd59071b40d0685b2c9c Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Thu, 2 Mar 2023 18:49:05 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E5=B1=9E=E6=80=A7=E8=A7=86=E5=9B=BE?= =?UTF-8?q?=E5=A2=9E=E5=87=8F=E8=A1=8C=20https://github.com/siyuan-note/si?= =?UTF-8?q?yuan/issues/7522?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/av/av.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/kernel/av/av.go b/kernel/av/av.go index e6e1dee4d..fcfd59f36 100644 --- a/kernel/av/av.go +++ b/kernel/av/av.go @@ -19,11 +19,12 @@ package av import ( "database/sql" - "github.com/88250/lute/ast" + "os" "path/filepath" "strings" "github.com/88250/gulu" + "github.com/88250/lute/ast" "github.com/siyuan-note/filelock" "github.com/siyuan-note/logging" "github.com/siyuan-note/siyuan/kernel/util" @@ -133,7 +134,7 @@ func ParseAttributeView(avID string) (ret *AttributeView, err error) { } func SaveAttributeView(av *AttributeView) (err error) { - data, err := gulu.JSON.MarshalJSON(av) + data, err := gulu.JSON.MarshalIndentJSON(av, "", "\t") if nil != err { logging.LogErrorf("marshal attribute view [%s] failed: %s", av.ID, err) return @@ -147,8 +148,16 @@ func SaveAttributeView(av *AttributeView) (err error) { return } -func getAttributeViewJSONPath(avID string) string { - return filepath.Join(util.DataDir, "storage", "av", avID+".json") +func getAttributeViewJSONPath(avID string) (ret string) { + av := filepath.Join(util.DataDir, "storage", "av") + ret = filepath.Join(av, avID+".json") + if !gulu.File.IsDir(av) { + if err := os.MkdirAll(av, 0755); nil != err { + logging.LogErrorf("create attribute view dir failed: %s", err) + return + } + } + return } func dropAttributeViewTableColumn(db *sql.DB, avID string, column string) (err error) {