VNoteインポート元のファイルリスト

2183 ワード

VNoteはオープンソースのmarkdownノートソフトで、使いやすいそうです.それから私はダウンロードして使い始めました.前に書いたmarkdownブログをVNoteのフォルダの下に置こうと思っていました.ファイルをコピーした後、メモリストに表示されませんでした.ソフトウェアに新しく作成されたノートだけがリストに表示され、ノートフォルダの下に_vnote.jsonというプロファイルがあることに気づきました.フォーマットは次のとおりです.
{
    "created_time": "2019-08-23T06:59:10Z",
    "files": [
        {
            "attachment_folder": "",
            "attachments": [
            ],
            "created_time": "2019-04-23T15:01:26Z",
            "modified_time": "2018-08-11T09:31:28Z",
            "name": "test.md",
            "tags": [
            ]
        }
    ],
    "sub_directories": [
    ],
    "version": "1"
}


その中から,我々が既存のファイル情報をこのjson形式に組み立てるだけで,ノートリストに表示できることがわかる.そこでpythonでスクリプトを書いて、このことを手伝ってくれるつもりです.
import os
import time

#    
path = 'E:\\vnotebook\\ '

files = []

file = {
    'attachment_folder': '',
    'attachments': [],
    'created_time': '2019-08-23T07:03:24Z',
    'modified_time': '2019-08-23T07:09:50Z',
    'name': 'test.md',
    'tags': []
}

#  
file_list = os.listdir(path)

for index, fName in enumerate(file_list):
    #  vnote 
    if fName == '_vnote.json':
        continue
    #  
    modifiedTime = time.localtime(os.stat('E:\\vnotebook\\ \\' + fName).st_mtime)
    #  
    createdTime = time.localtime(os.stat('E:\\vnotebook\\ \\' + fName).st_ctime)

    formatStr = '%Y-%m-%dT%H:%M:%SZ'

    #  
    modifiedTimeStr = time.strftime(formatStr, modifiedTime)
    createdTimeStr = time.strftime(formatStr, createdTime)

    print('------', index + 1, end='
') print(fName, modifiedTimeStr, createdTimeStr, end='
') newFile = file.copy() newFile['name'] = fName newFile['created_time'] = createdTimeStr newFile['modified_time'] = modifiedTimeStr files.append(newFile) print(files)

生成されたjsonを印刷し、プロファイルのfilesの内容を置き換え、ノートソフトを再起動すればよい.