)]}'
{"HACKING.rst":[{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"28ecd079c9418a2db6d9821c81214d9e857cd04a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"- ``nova.db`` imports are not allowed in ``nova/virt/*``"},{"line_number":12,"context_line":"- [N309] no db session in public API methods (disabled)"},{"line_number":13,"context_line":"  This enforces a guideline defined in ``oslo.db.sqlalchemy.session``"},{"line_number":14,"context_line":"- [N310] timeutils.utcnow() wrapper must be used instead of direct calls to"},{"line_number":15,"context_line":"  datetime.datetime.utcnow() to make it easy to override its return value in tests"},{"line_number":16,"context_line":"- [N311] importing code from other virt drivers is forbidden"},{"line_number":17,"context_line":"  Code that needs to be shared between virt drivers should be moved"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a95cdbc_0ac2e7e8","line":14,"range":{"start_line":14,"start_character":9,"end_line":14,"end_character":27},"updated":"2016-10-10 11:33:33.000000000","message":"On L11, and L13 the names are wrapped in ``. I think we should do it or not in a consistent way. How do you think about this idea?","commit_id":"73d2fc5fc0a2b4a74535598898595b07a965c996"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"28ecd079c9418a2db6d9821c81214d9e857cd04a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"- [N318] assertEqual(A, None) and assertEqual(None, A) cannot be used"},{"line_number":30,"context_line":"  assertIsNone(A) should be used instead"},{"line_number":31,"context_line":"- [N319] debug level logs should not be translated"},{"line_number":32,"context_line":"- [N320] Setting CONF.* attributes directly in tests is forbidden"},{"line_number":33,"context_line":"  Use self.flags(option\u003dvalue) instead"},{"line_number":34,"context_line":"- [N321] all LOG messages, except debug ones, must have translations"},{"line_number":35,"context_line":"- [N322] method\u0027s default argument must not be mutable"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a95cdbc_8a527765","line":32,"range":{"start_line":32,"start_character":9,"end_line":32,"end_character":10},"updated":"2016-10-10 11:33:33.000000000","message":"Convert to lowercase?","commit_id":"73d2fc5fc0a2b4a74535598898595b07a965c996"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"28ecd079c9418a2db6d9821c81214d9e857cd04a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  jsonutils.%(fun)s should be used instead"},{"line_number":40,"context_line":"- [N325] str() and unicode() cannot be used on an exception"},{"line_number":41,"context_line":"  Remove use or use six.text_type()"},{"line_number":42,"context_line":"- [N326] Translated messages cannot be concatenated"},{"line_number":43,"context_line":"  String should be included in translated message"},{"line_number":44,"context_line":"- [N327] xrange() must not be used"},{"line_number":45,"context_line":"  xrange() is not compatible with Python 3. Use range() or six.moves.range()"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a95cdbc_ca71df0d","line":42,"range":{"start_line":42,"start_character":9,"end_line":42,"end_character":10},"updated":"2016-10-10 11:33:33.000000000","message":"Convert to lowercase?","commit_id":"73d2fc5fc0a2b4a74535598898595b07a965c996"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"28ecd079c9418a2db6d9821c81214d9e857cd04a","unresolved":false,"context_lines":[{"line_number":50,"context_line":"- [N332] the api_version decorator must be the first decorator on a method"},{"line_number":51,"context_line":"- [N334] assertTrue/False(A in/not in B, message) must not be used"},{"line_number":52,"context_line":"  assertIn/NotIn(A, B, message) should be used instead"},{"line_number":53,"context_line":"- [N335] Check for usage of deprecated assertRaisesRegexp"},{"line_number":54,"context_line":"- [N336] a dict constructor with a sequence of key-value pairs must not be used"},{"line_number":55,"context_line":"  dict comprehension should be used instead"},{"line_number":56,"context_line":"- [N337] translations must not be imported in tests"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a95cdbc_2a8243c8","line":53,"range":{"start_line":53,"start_character":9,"end_line":53,"end_character":10},"updated":"2016-10-10 11:33:33.000000000","message":"Convert to lowercase?","commit_id":"73d2fc5fc0a2b4a74535598898595b07a965c996"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"28ecd079c9418a2db6d9821c81214d9e857cd04a","unresolved":false,"context_lines":[{"line_number":73,"context_line":"- [N351] oslo_policy.policy.Enforcer.enforce() method must not be used"},{"line_number":74,"context_line":"- [N352] LOG.warn is deprecated and must not be used"},{"line_number":75,"context_line":"  LOG.warning should be used instead"},{"line_number":76,"context_line":"- [N353] Validate that context objects is not passed in logging calls"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Creating Unit Tests"},{"line_number":79,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a95cdbc_aa1f33b5","line":76,"range":{"start_line":76,"start_character":9,"end_line":76,"end_character":10},"updated":"2016-10-10 11:33:33.000000000","message":"Convert to lowercase?","commit_id":"73d2fc5fc0a2b4a74535598898595b07a965c996"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8a1412edb755e2fb335fa80421e637720c1b0648","unresolved":false,"context_lines":[{"line_number":21,"context_line":"  should be moved into a common module"},{"line_number":22,"context_line":"- [N313] Capitalize help string"},{"line_number":23,"context_line":"  Config parameter help strings should have a capitalized first letter"},{"line_number":24,"context_line":"- [N314] vim configuration should not be kept in source files"},{"line_number":25,"context_line":"- [N316] assertTrue(isinstance(A, B)) cannot be used"},{"line_number":26,"context_line":"  assertIsInstance(A, B) should be used instead"},{"line_number":27,"context_line":"- [N317] assertEqual(type(A), B) cannot be used"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a3c09a3_e996d23c","line":24,"range":{"start_line":24,"start_character":27,"end_line":24,"end_character":33},"updated":"2017-01-17 13:57:16.000000000","message":"ditto","commit_id":"11d469c2ae001da883c20fd360dbe4fa69dac04b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8a1412edb755e2fb335fa80421e637720c1b0648","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  assertIsInstance(A, B) should be used instead"},{"line_number":29,"context_line":"- [N318] assertEqual(A, None) and assertEqual(None, A) cannot be used"},{"line_number":30,"context_line":"  assertIsNone(A) should be used instead"},{"line_number":31,"context_line":"- [N319] debug level logs should not be translated"},{"line_number":32,"context_line":"- [N320] Setting CONF.* attributes directly in tests is forbidden"},{"line_number":33,"context_line":"  Use self.flags(option\u003dvalue) instead"},{"line_number":34,"context_line":"- [N321] All LOG messages, except debug ones, must have translations"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a3c09a3_296a9ab3","line":31,"range":{"start_line":31,"start_character":26,"end_line":31,"end_character":36},"updated":"2017-01-17 13:57:16.000000000","message":"must nit or cannot for consistency in all sentence.","commit_id":"11d469c2ae001da883c20fd360dbe4fa69dac04b"}]}
