Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_extract_highlight(self):
"""Tests extracting a highlight from an HTML document."""
html = '<p><u>H\xE9llo</u> R\xE9mi <i>what is</i> up ?</p>'
snippet = extract.extract(html, 7, 15)
self.assertEqual(snippet,
'<p>R\xE9mi <i>wh</i></p>')
snippet = extract.extract(html, 1, 5)
self.assertEqual(snippet,
'<p><u>\xE9ll</u></p>')
snippet = extract.extract(html, 7, 12)
self.assertEqual(snippet,
'<p>R\xE9mi</p>')
def test_extract_highlight(self):
"""Tests extracting a highlight from an HTML document."""
html = '<p><u>H\xE9llo</u> R\xE9mi <i>what is</i> up ?</p>'
snippet = extract.extract(html, 7, 15)
self.assertEqual(snippet,
'<p>R\xE9mi <i>wh</i></p>')
snippet = extract.extract(html, 1, 5)
self.assertEqual(snippet,
'<p><u>\xE9ll</u></p>')
snippet = extract.extract(html, 7, 12)
self.assertEqual(snippet,
'<p>R\xE9mi</p>')
def test_extract_highlight(self):
"""Tests extracting a highlight from an HTML document."""
html = '<p><u>H\xE9llo</u> R\xE9mi <i>what is</i> up ?</p>'
snippet = extract.extract(html, 7, 15)
self.assertEqual(snippet,
'<p>R\xE9mi <i>wh</i></p>')
snippet = extract.extract(html, 1, 5)
self.assertEqual(snippet,
'<p><u>\xE9ll</u></p>')
snippet = extract.extract(html, 7, 12)
self.assertEqual(snippet,
'<p>R\xE9mi</p>')
def post(self, project_id, document_id):
obj = self.get_json()
document = self.get_document(project_id, document_id, True)
start, end = obj['start_offset'], obj['end_offset']
snippet = extract.extract(document.contents, start, end)
hl = database.Highlight(document=document,
start_offset=start,
end_offset=end,
snippet=snippet)
self.db.add(hl)
self.db.flush() # Need to flush to get hl.id
self.db.bulk_insert_mappings(database.HighlightTag, [
dict(
highlight_id=hl.id,
tag_id=tag,
)
for tag in obj.get('tags', [])
])
cmd = database.Command.highlight_add(
self.current_user,
document,
def post(self, project_id, document_id):
document, privileges = self.get_document(project_id, document_id, True)
if not privileges.can_add_highlight():
self.set_status(403)
return self.send_json({'error': "Unauthorized"})
obj = self.get_json()
start, end = obj['start_offset'], obj['end_offset']
snippet = extract.extract(document.contents, start, end)
hl = database.Highlight(document=document,
start_offset=start,
end_offset=end,
snippet=snippet)
self.db.add(hl)
self.db.flush() # Need to flush to get hl.id
new_tags = sorted(set(obj.get('tags', [])))
self.db.bulk_insert_mappings(database.HighlightTag, [
dict(
highlight_id=hl.id,
tag_id=tag,
)
for tag in new_tags
])
cmd = database.Command.highlight_add(
self.current_user,