加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – evernote更新笔记资源

发布时间:2020-12-20 13:42:39 所属栏目:Python 来源:网络整理
导读:我正在使用Evernote API for Python创建一个允许用户创建和更新笔记的应用程序,但我无法理解如何有效地更新Evernote资源.这主要发生在我从HTML转换为ENML(Evernote标记语言)时,我正在从img标签创建资源(现在我只考虑图像资源). 我的问题是:如果需要更新笔记
我正在使用Evernote API for Python创建一个允许用户创建和更新笔记的应用程序,但我无法理解如何有效地更新Evernote资源.这主要发生在我从HTML转换为ENML(Evernote标记语言)时,我正在从img标签创建资源(现在我只考虑图像资源).

我的问题是:如果需要更新笔记的资源,我怎么能告诉他?我已经考虑过将图像数据与所有当前资源的数据进行比较,但这似乎很慢.现在我只为每个img标签创建一个新资源.

我发现的一些有用的资源包括Evernote resources guide和this sample code in the Evernote SDK.任何建议表示赞赏.

解决方法

最好的方法是比较文件的MD5哈希值. Evernote笔记通过MD5哈希跟踪资源.

要查看附加到Evernote注释的文件的MD5哈希值,只需查看标记为“en-media”的ENML元素,标签的形式如下所示:

<en-media type="mime-type" hash="md5-of-file" />

其中mime-type是文件类型,md5-of-file是文件的MD5哈希.要获取注释的ENML,请调用getNote(此处为文档),并确保指定您想要的内容.注释的ENML内容是getNote(a note object)返回的对象的content属性的值.

虽然散列可能很昂贵,但MD5相对较快,计算文件的MD5散列比等待网络下载映像要快.

此外,updateResource method documentation说:

“Submit a set of changes to a resource to the service. This can be
used to update the meta-data about the resource,but cannot be used to
change the binary contents of the resource (including the length and
hash)
. These cannot be changed directly without creating a new
resource and removing the old one via updateNote.”

因此,“更新”资源的唯一方法是从注释中删除旧资源并在其位置创建一个新资源.您可以通过从相关注释的resources属性中包含的列表中删除Resource Object来删除资源.要添加新注释,只需将新资源对象添加到同一列表中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读