我正在使用evernoteapi for Python创建一个允许用户创建和更新notes的应用程序,但是我很难理解如何有效地更新Evernote资源。这主要发生在从HTML转换为ENML(Evernote标记语言)时,即从img标记创建资源(现在我只考虑图像资源)。在
我的问题是:如果给定HTML,如何判断注释的资源是否需要更新?我已经考虑过将图像数据与当前资源的所有数据进行比较,但这似乎很慢。现在我只为每个img标签创建一个新资源。在
我发现的一些有用的资源包括Evernote resources guide和{a2}。如有任何建议,我们将不胜感激。在
最好的方法是比较文件的MD5散列。Evernote notes通过MD5哈希跟踪资源。在
要查看Evernote注释所附文件的MD5散列,只需查看标记为“en media”的ENML元素,标记的形式如下所示:
其中
mime-type
是文件类型,md5-of-file
是文件的MD5哈希。要获取注释的ENML,请调用getNote(这里是文档)并确保指定您想要的内容。注释的ENML内容是getNote(a note object)返回的对象的content
属性的值。在虽然哈希值可能很昂贵,但MD5相对来说比较快,而且计算文件的MD5哈希值比等待网络下载图像要快。在
另外,updateResource method documentation还说:
因此,“更新”资源的唯一方法是从注释中删除旧资源,并在其位置创建一个新资源。您可以通过从相关注释的resources属性中包含的列表中删除Resource Object来删除资源。要添加新便笺,只需在同一列表中添加一个新的资源对象。在
相关问题 更多 >
编程相关推荐