)]}'
{"global-requirements.txt":[{"author":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"change_message_id":"e065a09a72a9c68d2e9f45d89b10ad4325daca1e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"# as they have earned a reputation of frequently breaking things."},{"line_number":54,"context_line":"# NOTE(sdague): before allowing in \u003e\u003d 0.21 please be sure"},{"line_number":55,"context_line":"# https://github.com/eventlet/eventlet/issues/401 is resolved"},{"line_number":56,"context_line":"eventlet\u003e\u003d0.18.2,!\u003d0.18.3,!\u003d0.20.1,\u003c0.21.0  # MIT"},{"line_number":57,"context_line":"exabgp\u003e\u003d4.0.1  # BSD"},{"line_number":58,"context_line":"extras\u003e\u003d0.0.3  # MIT"},{"line_number":59,"context_line":"falcon\u003e\u003d1.0.0  # Apache-2.0"}],"source_content_type":"text/plain","patch_set":1,"id":"3f4b6375_fcb874e5","line":56,"updated":"2017-10-24 15:48:26.000000000","message":"changed this to 0.18.2?","commit_id":"bc7497760359c1885e307a3c6c108e301aa43992"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"7312c0865f6e83d926fc27f4c3e14a9978fb48c7","unresolved":false,"context_lines":[{"line_number":53,"context_line":"# as they have earned a reputation of frequently breaking things."},{"line_number":54,"context_line":"# NOTE(sdague): before allowing in \u003e\u003d 0.21 please be sure"},{"line_number":55,"context_line":"# https://github.com/eventlet/eventlet/issues/401 is resolved"},{"line_number":56,"context_line":"eventlet\u003e\u003d0.18.2,!\u003d0.18.3,!\u003d0.20.1,\u003c0.21.0  # MIT"},{"line_number":57,"context_line":"exabgp\u003e\u003d4.0.1  # BSD"},{"line_number":58,"context_line":"extras\u003e\u003d0.0.3  # MIT"},{"line_number":59,"context_line":"falcon\u003e\u003d1.0.0  # Apache-2.0"}],"source_content_type":"text/plain","patch_set":1,"id":"3f4b6375_0c11db52","line":56,"in_reply_to":"3f4b6375_fcb874e5","updated":"2017-10-24 19:51:53.000000000","message":"merely the order is changed.. the idea isthat the lower bound is always first, as is with most of the g-r entries already.","commit_id":"bc7497760359c1885e307a3c6c108e301aa43992"}],"openstack_requirements/cmds/validate.py":[{"author":{"_account_id":13404,"name":"Alberto Planas","email":"aplanas@gmail.com","username":"aplanas"},"change_message_id":"3ee7a48263347b03018e0ef08feccc921327ff4f","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    print(\u0027\\nValidating uniform formatting on %s\u0027 % args.global_requirements)"},{"line_number":72,"context_line":"    with open(args.global_requirements, \u0027rt\u0027) as f:"},{"line_number":73,"context_line":"        for line in f:"},{"line_number":74,"context_line":"            if not line.strip():"},{"line_number":75,"context_line":"                continue"},{"line_number":76,"context_line":"            req \u003d requirement.parse_line(line)"},{"line_number":77,"context_line":"            normed_req \u003d req.to_line(comment_prefix\u003d\u0027  \u0027, sort_specifiers\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_7e2463af","line":74,"updated":"2017-10-25 09:15:09.000000000","message":"this will consider lines like \u0027   \\n\u0027 as OK, do you want to catch them as errors too?","commit_id":"982010b33096b602e12c488e9cc4a340dd2b6f77"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"a9494e96b2f78b57a6394cdb30923a38f8cadbec","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        print(msg)"},{"line_number":68,"context_line":"        error_count +\u003d 1"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    # Check that global requirements are uniformly sorted"},{"line_number":71,"context_line":"    print(\u0027\\nValidating uniform formatting on %s\u0027 % args.global_requirements)"},{"line_number":72,"context_line":"    with open(args.global_requirements, \u0027rt\u0027) as f:"},{"line_number":73,"context_line":"        for line in f:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_97b92b16","line":70,"range":{"start_line":70,"start_character":51,"end_line":70,"end_character":57},"updated":"2017-10-26 00:29:42.000000000","message":"nit: this isn\u0027t sorting anything perhaps \u0027formatted\u0027 is better here.","commit_id":"8970f331c027a399aa02f006f6d53cacb041ea51"},{"author":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"change_message_id":"f074088a80b2cf3aeeb04186bc0ffadc26dc533f","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    print(\u0027\\nValidating uniform formatting on %s\u0027 % args.global_requirements)"},{"line_number":72,"context_line":"    with open(args.global_requirements, \u0027rt\u0027) as f:"},{"line_number":73,"context_line":"        for line in f:"},{"line_number":74,"context_line":"            if not line.strip():"},{"line_number":75,"context_line":"                continue"},{"line_number":76,"context_line":"            req \u003d requirement.parse_line(line)"},{"line_number":77,"context_line":"            normed_req \u003d req.to_line(comment_prefix\u003d\u0027  \u0027, sort_specifiers\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_3454c752","line":74,"updated":"2017-10-25 12:40:55.000000000","message":"Carrying over alberto\u0027s comment\n\nthis will consider lines like \u0027   \\n\u0027 as OK, do you want to catch them as errors too?\n\nit\u0027d be better to disallow it, but should not prevent this patch from merging imo","commit_id":"8970f331c027a399aa02f006f6d53cacb041ea51"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"a9494e96b2f78b57a6394cdb30923a38f8cadbec","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    print(\u0027\\nValidating uniform formatting on %s\u0027 % args.global_requirements)"},{"line_number":72,"context_line":"    with open(args.global_requirements, \u0027rt\u0027) as f:"},{"line_number":73,"context_line":"        for line in f:"},{"line_number":74,"context_line":"            if not line.strip():"},{"line_number":75,"context_line":"                continue"},{"line_number":76,"context_line":"            req \u003d requirement.parse_line(line)"},{"line_number":77,"context_line":"            normed_req \u003d req.to_line(comment_prefix\u003d\u0027  \u0027, sort_specifiers\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_b7ab0773","line":74,"in_reply_to":"3f4b6375_3454c752","updated":"2017-10-26 00:29:42.000000000","message":"Yup that\u0027s good to a follow-up patch.\n\nWe don\u0027t have any instances of it now and they\u0027d get caught by other validate checks but it a specific error message in that case would be nice for consumers.","commit_id":"8970f331c027a399aa02f006f6d53cacb041ea51"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"7a182ba9f041bd859a4f32082e93478829ebdca4","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    print(\u0027\\nValidating uniform formatting on %s\u0027 % args.global_requirements)"},{"line_number":72,"context_line":"    with open(args.global_requirements, \u0027rt\u0027) as f:"},{"line_number":73,"context_line":"        for line in f:"},{"line_number":74,"context_line":"            if not line.strip():"},{"line_number":75,"context_line":"                continue"},{"line_number":76,"context_line":"            req \u003d requirement.parse_line(line)"},{"line_number":77,"context_line":"            normed_req \u003d req.to_line(comment_prefix\u003d\u0027  \u0027, sort_specifiers\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_ceeb8275","line":74,"in_reply_to":"3f4b6375_b7ab0773","updated":"2017-10-26 12:02:51.000000000","message":"sorry, missed it.","commit_id":"8970f331c027a399aa02f006f6d53cacb041ea51"}]}
