zrong / wiz2joplin

Migrate from WizNote to Joplin.
GNU General Public License v3.0
90 stars 21 forks source link

win版的为知数据需要如何转换? #6

Closed shuohua2000 closed 2 years ago

shuohua2000 commented 3 years ago

zrong 你好, 我也是用了快10年的为知, 然后现在想切换到Joplin. 但是我用的是win版的为知. 按照你的说明, 我尝试在ubuntu服务器上做数据转换. 结果报错:

(venv) root@subuntu:~/wiz2# w2j -o ~/w2j -w ~/.wiznote -u shuohua@126.com -t c604d01690a59720503b07d7****** -a
Traceback (most recent call last):
  File "/root/w2j/venv/bin/w2j", line 11, in <module>
    load_entry_point('w2j==0.4', 'console_scripts', 'w2j')()
  File "/root/w2j/venv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 480, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/root/w2j/venv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2693, in load_entry_point
    return ep.load()
  File "/root/w2j/venv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2324, in load
    return self.resolve()
  File "/root/w2j/venv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2330, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/root/w2j/venv/lib/python3.6/site-packages/w2j-0.4-py3.6.egg/w2j/__init__.py", line 37, in <module>
    from . import wiz
  File "/root/w2j/venv/lib/python3.6/site-packages/w2j-0.4-py3.6.egg/w2j/wiz.py", line 13, in <module>
    from w2j.parser import parse_wiz_html, tots, WizInternalLink, WizImage
  File "/root/w2j/venv/lib/python3.6/site-packages/w2j-0.4-py3.6.egg/w2j/parser.py", line 86, in <module>
    def parse_wiz_html(note_extract_dir: Path, title: str) -> tuple[str, list[WizInternalLink], list[WizImage]]:
TypeError: 'type' object is not subscriptable

我的win版为知是自定义的数据目录路径. 所以程序目录和数据目录是分开的并不在同一个文件夹中. 程序目录"Wiz"中的内容:

files
Handwriting
locales
Plugins
script
skins
sql
swiftshader
templates
translations
WizTools
7za.dll
cef.pak
cef_100_percent.pak
cef_200_percent.pak
cef_extensions.pak
chrome_elf.dll
clucene-core.dll
config.dat
d3dcompiler_43.dll
d3dcompiler_46.dll
d3dcompiler_47.dll
d3dx9_43.dll
debug.log
devtools_resources.pak
directui license.txt
duilib.dll
duilib license.txt
ffmpegsumo.dll
folderImages.ini
icudt.dll
icudtl.dat
libcef.dll
libEGL.dll
libGLESv2.dll
natives_blob.bin
NPWizWebCapture.dll
Save.htm
Save.ico
snapshot_blob.bin
unins000.dat
unins000.exe
unins000.msg
Uninstall.ico
v8_context_snapshot.bin
widevinecdmadapter.dll
Wiz.exe
Wiz.ini
WizChromeProcess.exe
WizCrashReporter.exe
WizHttp.dll
WizKMControls.dll
WizKMCore.dll
WizKMSendTo.exe
WizNoteOutlook32.dll
WizNoteOutlook64.dll
WizTools.dll

数据目录"WizUser"中的内容:

Backup
Data
---shuohua@126.com
------.wizfulltextindex
------Deleted Items
------My Emails
------My Journals
------My Notes
------My Sticky Notes
------My Tasks
------分类笔记文件夹1
------分类笔记文件夹2
------分类笔记文件夹3
------group_index.db
------group_index.db-shm
------group_index.db-wal
------index.db
------index.db-shm
------index.db-wal
------OffcialTemplatesRecord.json
------thumb.db
------thumb.db-shm
------thumb.db-wal
------Timer.ini
------wingwy-win8pe4.0-v1.ziw
------wizfolder.ini
dumps
GroupData
pdf2html
Photos
Plugins
Skins
temp
templates
Update_x86
plugin_settings.ini
server_fail.ini
toolbars.xml
Wiz.log
Wiz.xml
WizChromeBrowser.log

看起来和你的那边文章中的目录分析略有不同, 我的ID文件夹"shuohua@126.com"中直接就是各个分类笔记的文件夹和"index.db"文件, 而看你文章, "index.db"文件是在ID文件夹下的"Data"文件夹中.

由于结构不同, 我只能自行尝试, 在ubuntu中我是这样操作的: 将程序目录中的所有内容上传到"/root/wiz2/.wiznote" 并将ID文件夹"shuohua@126.com"也上传到"/root/wiz2/.wiznote" 将当前路径切换到"/root/wiz2", 并执行: w2j -o ~/w2j -w ~/.wiznote -u shuohua@126.com -t c604d01690a59720503b07d7****** -a 就出现了上面的报错.

我估计还是因为文件结构的问题. 另外ubuntu中没有安装为知, 也没有安装Joplin, 授权令牌是从win版Joplin中拷贝下来的.

想请教是否有办法让win版为知的数据也可以转换, 我的笔记这么多年下来也已经有三千多篇, 手动搬运的话实在是让人望而却步. 希望zrong能够抽空指点一下, 我会及时反馈测试结果. 谢谢!

laniv commented 3 years ago

我也是 win 版本,希望zrong有空指点指点.

zrong commented 3 years ago

我是在 macOS 下开发的,版本为 2.8.7,不知道 windows 版本现在是多少?我已经有多年没有用过 Windows 了……开发的时候也想过在 windows 下面做调试,但因为windows 版本和 macOS 版本的文件夹结构不同,就放弃了。

@shuohua2000 我想 Linux 版本的 wiznote 文件夹结构应该也不同吧?

Python 是跨平台的,你为什么要 Ubuntu 呢?

是否可以尝试一下修改文件夹结构呢?

image

shuohua2000 commented 3 years ago

已经尝试过修改文件架结构还是不行. 现在已经手动迁移了, 每天抽空迁移一部分, 日积月累吧

zrong commented 3 years ago

下面这个讨论中谈到了 wiznoteplus,或许可以试试。

https://github.com/zrong/wiz2joplin/issues/3#issuecomment-903222498

shuohua2000 commented 3 years ago

谢谢! 有空的话可以试一试.

zrong commented 2 years ago

下面这个讨论中谈到了 wiznoteplus,或许可以试试。

#3 (comment)

Windows 下 Wiznote 目录不统一导致的问题。我无法在 Windows 下进行测试,本转换工具不支持 Windows 系统。 Close the issue.