)]}'
{"os_api_ref/__init__.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9b7a6089829451126ec20bdaa700de32823cc01d","unresolved":false,"context_lines":[{"line_number":203,"context_line":"        # SHA-1 is used even if collisions are possible, because"},{"line_number":204,"context_line":"        # they are still unlikely to occurr and it is way shorter"},{"line_number":205,"context_line":"        # than stronger SHAs."},{"line_number":206,"context_line":"        node_hash \u003d hashlib.sha1(str(node).encode(\u0027utf-8\u0027)).hexdigest()"},{"line_number":207,"context_line":"        temp_target \u003d \"%s-%s-selector\" % (node[\u0027target\u0027], node_hash)"},{"line_number":208,"context_line":"        target \u003d nodes.target(ids\u003d[temp_target])"},{"line_number":209,"context_line":"        self.state.add_target(temp_target, \u0027\u0027, target, lineno)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_20862310","line":206,"range":{"start_line":206,"start_character":33,"end_line":206,"end_character":42},"updated":"2018-12-17 16:53:31.000000000","message":"I wonder where this is defined? docutils, presumably? If we\u0027re going for consistency, I assume we can count on this not to change?","commit_id":"a78ce1d9795e4c8cd16a660e4eca5e78f7cd873e"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"f496c074be096ad6eeb751055ba4eae04f59b528","unresolved":false,"context_lines":[{"line_number":203,"context_line":"        # SHA-1 is used even if collisions are possible, because"},{"line_number":204,"context_line":"        # they are still unlikely to occurr and it is way shorter"},{"line_number":205,"context_line":"        # than stronger SHAs."},{"line_number":206,"context_line":"        node_hash \u003d hashlib.sha1(str(node).encode(\u0027utf-8\u0027)).hexdigest()"},{"line_number":207,"context_line":"        temp_target \u003d \"%s-%s-selector\" % (node[\u0027target\u0027], node_hash)"},{"line_number":208,"context_line":"        target \u003d nodes.target(ids\u003d[temp_target])"},{"line_number":209,"context_line":"        self.state.add_target(temp_target, \u0027\u0027, target, lineno)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_40731f1c","line":206,"range":{"start_line":206,"start_character":33,"end_line":206,"end_character":42},"in_reply_to":"3f79a3b5_20862310","updated":"2018-12-17 17:00:34.000000000","message":"I don\u0027t really know - I tried to print the content, and it\u0027s really the rendered HTML of the node, for example\n\n\u003crest_method css_classes\u003d\"\" max_version\u003d\"None\" method\u003d\"GET\" min_version\u003d\"None\" target\u003d\"show-cluster-template-details\" url\u003d\"/v1.1/{project_id}/cluster-templates/{cluster_template_id}\"/\u003e\n\nor\n\n\u003crest_method css_classes\u003d\"\" max_version\u003d\"None\" method\u003d\"GET\" min_version\u003d\"None\" target\u003d\"list-node-group-templates\" url\u003d\"/v2/node-group-templates\"/\u003e\n\n\nSo I assume that, if the content does not change and sphinx does not change, the value of str(node) should be consistent over different runs.\n\nIf anyone else knows it better, of course, I\u0027d be more than happy to learn how it works :)","commit_id":"a78ce1d9795e4c8cd16a660e4eca5e78f7cd873e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"09bf7035197ce0e60662aec248f69584754a3a7f","unresolved":false,"context_lines":[{"line_number":203,"context_line":"        # SHA-1 is used even if collisions are possible, because"},{"line_number":204,"context_line":"        # they are still unlikely to occurr and it is way shorter"},{"line_number":205,"context_line":"        # than stronger SHAs."},{"line_number":206,"context_line":"        node_hash \u003d hashlib.sha1(str(node).encode(\u0027utf-8\u0027)).hexdigest()"},{"line_number":207,"context_line":"        temp_target \u003d \"%s-%s-selector\" % (node[\u0027target\u0027], node_hash)"},{"line_number":208,"context_line":"        target \u003d nodes.target(ids\u003d[temp_target])"},{"line_number":209,"context_line":"        self.state.add_target(temp_target, \u0027\u0027, target, lineno)"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfd5e7cf_2abf2afc","line":206,"range":{"start_line":206,"start_character":33,"end_line":206,"end_character":42},"in_reply_to":"3f79a3b5_40731f1c","updated":"2019-01-08 14:45:02.000000000","message":"Indeed, I went and checked the docutils source to figure this out myself but forgot to reply back here. This is defined on the \u0027node\u0027 class (or one of the subclasses - I don\u0027t recall) in docutils and given how slow development on this is, I think we\u0027re safe to rely on it.","commit_id":"a78ce1d9795e4c8cd16a660e4eca5e78f7cd873e"}]}
