显示所有具有相同标题的 Evernote 笔记的标题和内容
Show the title and content for all the Evernote notes with the same title
如何显示所有具有相同标题的笔记并将其标题与内容一起显示。
你知道如何显示每条笔记的标题和内容吗?
如 https://sandbox.evernote.com。
我有几个标题相同的笔记,我想将这些笔记的所有列表与其他笔记一起显示。
What the right combination of lists and dicts or other structures ?
我收到错误:列表索引必须是整数,而不是字符串。
nb = []
nb.append([])
for note in result_list.notes:
content = note_store.getNoteContent(auth_token,
note_store.getNote(note.guid,
True,False, False, False).guid)
nb[note.guid].append([note.title, html2text.html2text(BeautifulSoup(ENMLToHTML(content), "html.parser").prettify()) ])
return render_to_response('oauth/callback.html', {'notebooks': notebooks,
'result_list': result_list,
'nb': nb})
.
<ul>
{% for i,j,n in enumerate(nb) %}
<li><b>{{ nb[i][j][n] }}</b><br>{{ nb[i][j][n+1] }}</li>
{% endfor %}
</ul>
理想输出样本:
- 2600杂志:黑客季刊
Apple 产品的任何形式的液体损坏都将使您的保修失效。
我已经有了以这种方式输出的工作代码,但是
目前:
show only one note per title,
or
show all the notes with the same title and show the guid alongside with content (good that all the notes, but I need to output the title alongside with content)
p.s
另一次尝试:
title_contents = {}
for note in result_list.notes:
content = note_store.getNoteContent(auth_token,
note_store.getNote(note.guid,
True,False, False, False).guid)
title_contents[ note.guid ] = [ note.title, html2text.html2text(BeautifulSoup(ENMLToHTML(content), "html.parser").prettify()) ]
return render_to_response('oauth/callback.html', {'notebooks': notebooks,
'result_list': result_list,
'title_contents': title_contents})
html 对于 Django:
<ul>
{% for content in title_contents.items %}
<li><b>{{ content }}</b><br>{{ content }}</li>
{% endfor %}
</ul>
当前输出:
('c41c95b1-d2c5-481d-9fa6-34342371aba3', ['hi', 你好Whosebug\n\n'])
('c41c95b1-d2c5-481d-9fa6-34342371aba3', ['hi', 你好Whosebug\n\n'])
我尝试通过索引获取标题和内容,例如:
<ul>
{% for content in title_contents.items %}
<li><b>{{ content[0] }}</b><br>{{ content[1] }}</li>
{% endfor %}
</ul>
但得到另一个错误:
TemplateSyntaxError at /callback/
Could not parse the remainder: '[0]' from 'content[0]'
2016 年 2 月 10 日:
我开始用 Node Js,
编写这个网络应用程序
并且所有的东西在控制台中都正常工作(但当然使用令牌 oauth,只显示文本,从文件导入注释(简单解析),显示所选注释等)。
我需要具有简单 Web 界面的类似应用程序,最好使用 Node Js Express。
在努力使用 Node Js Express 时,我开始在 Python (Django) 中编写类似的东西。
我不知道哪一个框架(Express 或 Django)会更容易应对所有挑战。
这就是我同时参与这两个项目的原因。
EDAMTest.js 非常简单明了,但只适用于控制台环境。
在这种情况下,Node Js Express 比 Django 好得多,但我认为使用 Django 会更容易实现。
该错误表明 note.guid
是一个字符串,并且由于您将其用作列表索引,因此它必须是一个整数。
你可以使用
print(repr(note.guid), type(note.guid))
这样您就可以看到它是什么并进行相应的调整。
如果它是一个像这样的字符串:'3'
那么你可以像这样转换它:int(note.guid)
如果我没理解错的话,你想把所有笔记的内容归为一组,标题相同。这里首先要搞清楚的是数据结构。 python dict 听起来很合适,因为您关心笔记标题的映射。由于笔记标题可以映射到多个笔记,因此映射可能应该是从一个字符串(笔记标题)到一个字符串列表(所有具有该标题的笔记的笔记内容)。对于只有一个笔记具有该标题的情况(可能是大多数情况),笔记内容列表的大小为 1。
我已经有一段时间没写 python/django 了,但是要使用您的代码片段:
title_contents = {}
for note in result_list.notes:
content = note_store.getNoteContent(auth_token,
note_store.getNote(note.guid,
True,False, False, False).guid)
note_content = html2text.html2text(BeautifulSoup(ENMLToHTML(content)).prettify())
existing_contents = title_contents.get(note.guid, [])
existing_contents.append(note_content)
title_contents[note.guid] = existing_contents
最后,我们有一个看起来像这样的数据结构
{ 'test title': ['foo contents'], 'untitled': ['one content', 'another content']}
现在,在您的模板中,您需要遍历其中的所有标题和所有注释。您可能需要更正我的语法,但它看起来像这样:
<ul>
{% for title, content_list in title_contents %}
<li><b>{{ title }}</b><br>
{% for content in content_list %}
{{ content }}<br/>
{% endfor %}
{% endfor %}
</ul>
希望这是有道理的!
终于找到解决办法了!!!
元组字典
...
note_store.getNoteContent(auth_token, note.guid)
...
<ul>
{% for m,t in title_contents.items %}
<li><b>{{ t.0 }}</b><br>{{ t.1 }}</li>
{% endfor %}
</ul>
如何显示所有具有相同标题的笔记并将其标题与内容一起显示。
你知道如何显示每条笔记的标题和内容吗? 如 https://sandbox.evernote.com。
我有几个标题相同的笔记,我想将这些笔记的所有列表与其他笔记一起显示。
What the right combination of lists and dicts or other structures ?
我收到错误:列表索引必须是整数,而不是字符串。
nb = []
nb.append([])
for note in result_list.notes:
content = note_store.getNoteContent(auth_token,
note_store.getNote(note.guid,
True,False, False, False).guid)
nb[note.guid].append([note.title, html2text.html2text(BeautifulSoup(ENMLToHTML(content), "html.parser").prettify()) ])
return render_to_response('oauth/callback.html', {'notebooks': notebooks,
'result_list': result_list,
'nb': nb})
.
<ul>
{% for i,j,n in enumerate(nb) %}
<li><b>{{ nb[i][j][n] }}</b><br>{{ nb[i][j][n+1] }}</li>
{% endfor %}
</ul>
理想输出样本:
- 2600杂志:黑客季刊
Apple 产品的任何形式的液体损坏都将使您的保修失效。
我已经有了以这种方式输出的工作代码,但是
目前:
show only one note per title,
or
show all the notes with the same title and show the guid alongside with content (good that all the notes, but I need to output the title alongside with content)
p.s
另一次尝试:
title_contents = {}
for note in result_list.notes:
content = note_store.getNoteContent(auth_token,
note_store.getNote(note.guid,
True,False, False, False).guid)
title_contents[ note.guid ] = [ note.title, html2text.html2text(BeautifulSoup(ENMLToHTML(content), "html.parser").prettify()) ]
return render_to_response('oauth/callback.html', {'notebooks': notebooks,
'result_list': result_list,
'title_contents': title_contents})
html 对于 Django:
<ul>
{% for content in title_contents.items %}
<li><b>{{ content }}</b><br>{{ content }}</li>
{% endfor %}
</ul>
当前输出:
('c41c95b1-d2c5-481d-9fa6-34342371aba3', ['hi', 你好Whosebug\n\n'])
('c41c95b1-d2c5-481d-9fa6-34342371aba3', ['hi', 你好Whosebug\n\n'])
我尝试通过索引获取标题和内容,例如:
<ul>
{% for content in title_contents.items %}
<li><b>{{ content[0] }}</b><br>{{ content[1] }}</li>
{% endfor %}
</ul>
但得到另一个错误:
TemplateSyntaxError at /callback/
Could not parse the remainder: '[0]' from 'content[0]'
2016 年 2 月 10 日:
我开始用 Node Js,
编写这个网络应用程序
并且所有的东西在控制台中都正常工作(但当然使用令牌 oauth,只显示文本,从文件导入注释(简单解析),显示所选注释等)。
我需要具有简单 Web 界面的类似应用程序,最好使用 Node Js Express。
在努力使用 Node Js Express 时,我开始在 Python (Django) 中编写类似的东西。
我不知道哪一个框架(Express 或 Django)会更容易应对所有挑战。
这就是我同时参与这两个项目的原因。
EDAMTest.js 非常简单明了,但只适用于控制台环境。
在这种情况下,Node Js Express 比 Django 好得多,但我认为使用 Django 会更容易实现。
该错误表明 note.guid
是一个字符串,并且由于您将其用作列表索引,因此它必须是一个整数。
你可以使用
print(repr(note.guid), type(note.guid))
这样您就可以看到它是什么并进行相应的调整。
如果它是一个像这样的字符串:'3'
那么你可以像这样转换它:int(note.guid)
如果我没理解错的话,你想把所有笔记的内容归为一组,标题相同。这里首先要搞清楚的是数据结构。 python dict 听起来很合适,因为您关心笔记标题的映射。由于笔记标题可以映射到多个笔记,因此映射可能应该是从一个字符串(笔记标题)到一个字符串列表(所有具有该标题的笔记的笔记内容)。对于只有一个笔记具有该标题的情况(可能是大多数情况),笔记内容列表的大小为 1。
我已经有一段时间没写 python/django 了,但是要使用您的代码片段:
title_contents = {}
for note in result_list.notes:
content = note_store.getNoteContent(auth_token,
note_store.getNote(note.guid,
True,False, False, False).guid)
note_content = html2text.html2text(BeautifulSoup(ENMLToHTML(content)).prettify())
existing_contents = title_contents.get(note.guid, [])
existing_contents.append(note_content)
title_contents[note.guid] = existing_contents
最后,我们有一个看起来像这样的数据结构
{ 'test title': ['foo contents'], 'untitled': ['one content', 'another content']}
现在,在您的模板中,您需要遍历其中的所有标题和所有注释。您可能需要更正我的语法,但它看起来像这样:
<ul>
{% for title, content_list in title_contents %}
<li><b>{{ title }}</b><br>
{% for content in content_list %}
{{ content }}<br/>
{% endfor %}
{% endfor %}
</ul>
希望这是有道理的!
终于找到解决办法了!!!
元组字典
...
note_store.getNoteContent(auth_token, note.guid)
...
<ul>
{% for m,t in title_contents.items %}
<li><b>{{ t.0 }}</b><br>{{ t.1 }}</li>
{% endfor %}
</ul>