def save_snippet(node, page): snippet = Snippet.create( page=page, text_above=extract_text_above(node), text_below=extract_text_below(node), header=extract_header_above(node), code=extract_code(node), line_count=len(node.text.split('\n')), ) for tok_str in extract_tokens(node): token, _ = Token.get_or_create(string=tok_str) SnippetToken.create( snippet=snippet, token=token, ) for comment_str in extract_comments(node): comment, _ = Comment.get_or_create(string=comment_str) SnippetComment.create( snippet=snippet, comment=comment, ) return snippet