)]}'
{"hacking/repair/imports.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"7cfa20948d9961e50991aef18408743184ce2d9e","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    active_block \u003d None"},{"line_number":83,"context_line":"    for (i, old_line) in enumerate(lines):"},{"line_number":84,"context_line":"        line \u003d core.import_normalize(old_line)"},{"line_number":85,"context_line":"        if line.startswith(\u0027import\u0027):"},{"line_number":86,"context_line":"            if active_block:"},{"line_number":87,"context_line":"                active_block.append((i, line, old_line))"},{"line_number":88,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2BSr0%3D","line":85,"updated":"2014-01-28 10:51:29.000000000","message":"maybe \u0027import \u0027 ?","commit_id":"1585398c069b43d4b6e24fc0287951dba6db3112"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"9f09b867bfeb93c16dba381090aa1f5669f2dc99","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    active_block \u003d None"},{"line_number":83,"context_line":"    for (i, old_line) in enumerate(lines):"},{"line_number":84,"context_line":"        line \u003d core.import_normalize(old_line)"},{"line_number":85,"context_line":"        if line.startswith(\u0027import\u0027):"},{"line_number":86,"context_line":"            if active_block:"},{"line_number":87,"context_line":"                active_block.append((i, line, old_line))"},{"line_number":88,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F95LM%3D","line":85,"in_reply_to":"AAAAUH%2F%2BSr0%3D","updated":"2014-02-02 06:19:58.000000000","message":"Done","commit_id":"1585398c069b43d4b6e24fc0287951dba6db3112"},{"author":{"_account_id":10165,"name":"Marco Morais","email":"mmorais@yahoo-inc.com","username":"mmorais"},"change_message_id":"697bbbd51a2e819fe2a2620a19f59c931cf1ffc6","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from hacking import core"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"DESCRIPTION \u003d \"\"\"Reformats the imports of a given set of python files to"},{"line_number":24,"context_line":"comply to the OpenStack H306 hacking standard (only if there are any violations"},{"line_number":25,"context_line":"in the first place)."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Outputs which files have violations and which ones are processed and modified."}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2BtLI%3D","line":24,"updated":"2014-03-25 00:34:49.000000000","message":"pls link to H306 standard in docstring","commit_id":"56a071d6744500153ca66dec46b831f9d2898301"},{"author":{"_account_id":10165,"name":"Marco Morais","email":"mmorais@yahoo-inc.com","username":"mmorais"},"change_message_id":"697bbbd51a2e819fe2a2620a19f59c931cf1ffc6","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        active_block \u003d None"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    # Don\u0027t modify the input lines (modify a copy instead)."},{"line_number":100,"context_line":"    lines \u003d list(lines)"},{"line_number":101,"context_line":"    for block in blocks:"},{"line_number":102,"context_line":"        if len(block) \u003c\u003d 1:"},{"line_number":103,"context_line":"            # NOTE(harlowja): a single entry block means nothing"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2Bsx0%3D","line":100,"updated":"2014-03-25 00:34:49.000000000","message":"you don\u0027t need to defensively copy -- the user already declared intent via --overwrite","commit_id":"56a071d6744500153ca66dec46b831f9d2898301"},{"author":{"_account_id":10165,"name":"Marco Morais","email":"mmorais@yahoo-inc.com","username":"mmorais"},"change_message_id":"697bbbd51a2e819fe2a2620a19f59c931cf1ffc6","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    # Don\u0027t modify the input lines (modify a copy instead)."},{"line_number":100,"context_line":"    lines \u003d list(lines)"},{"line_number":101,"context_line":"    for block in blocks:"},{"line_number":102,"context_line":"        if len(block) \u003c\u003d 1:"},{"line_number":103,"context_line":"            # NOTE(harlowja): a single entry block means nothing"},{"line_number":104,"context_line":"            # to change (if it had two entries than it could be"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2Bsn4%3D","line":101,"updated":"2014-03-25 00:34:49.000000000","message":"minor: replace lines 101-111 with a one-liner\n\n    for block in blocks:\n        startno, stopno \u003d block[0][0], block[-1][0]\n        lines[startno:stopno+1] \u003d map(operator.itemgetter(1), sorted(block, cmp\u003dcmp_block))","commit_id":"56a071d6744500153ca66dec46b831f9d2898301"},{"author":{"_account_id":10165,"name":"Marco Morais","email":"mmorais@yahoo-inc.com","username":"mmorais"},"change_message_id":"697bbbd51a2e819fe2a2620a19f59c931cf1ffc6","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"def main():"},{"line_number":116,"context_line":"    parser \u003d argparse.ArgumentParser(description\u003dDESCRIPTION.strip())"},{"line_number":117,"context_line":"    parser.add_argument(\u0027file\u0027, nargs\u003d\u0027+\u0027)"},{"line_number":118,"context_line":"    parser.add_argument(\u0027-o\u0027, \"--overwrite\", default\u003dFalse,"},{"line_number":119,"context_line":"                        action\u003d\u0027store_true\u0027, dest\u003d\u0027overwrite\u0027,"},{"line_number":120,"context_line":"                        help\u003d\u0027overwrite files after repairing\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2BtJI%3D","line":117,"updated":"2014-03-25 00:34:49.000000000","message":"can you turn this into a unix-like filter command which reads input on stdin or file on input and stdout or file on output?\n\neg\n    parser.add_argument(\u0027--input-file\u0027,\n        nargs\u003d\u0027?\u0027, type\u003dargparse.FileType(\u0027r\u0027), default\u003dsys.stdin,\n        help\u003d\u0027input file\u0027)\n    parser.add_argument(\u0027--output-file\u0027,\n        nargs\u003d\u0027?\u0027, type\u003dargparse.FileType(\u0027w\u0027), default\u003dsys.stdout,\n        help\u003d\u0027output file\u0027)","commit_id":"56a071d6744500153ca66dec46b831f9d2898301"}],"tools/fix-imports":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"9faf7ac6ed5c51251cae21b08c6a0d9d09294fcc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2014 OpenStack Foundation."},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAAUH%2F%2BhjI%3D","line":3,"updated":"2014-01-24 19:00:07.000000000","message":"Also this copyright is incorrect, you cannot gift code to the foundation without them accepting it. *Disclaimer* I am not a lawyer\n\nFurthermore this line is *not* required.","commit_id":"8308d177dfc33f8e0938ce71cb01521f4ddd08e5"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"df4ad94c2301e1a3f1941f6d2cd5dc9b823351aa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2014 OpenStack Foundation."},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAAUH%2F%2Bg%2F4%3D","line":3,"in_reply_to":"AAAAUH%2F%2BhjI%3D","updated":"2014-01-24 21:12:25.000000000","message":"Done","commit_id":"8308d177dfc33f8e0938ce71cb01521f4ddd08e5"}]}
