)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6772,"name":"Stephen Gordon","email":"sgordon@redhat.com","username":"sgordon"},"change_message_id":"c3f7da670c0a35b72ab1f299714dbb26255d8558","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Atsushi SAKAI \u003csakaia@jp.fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-10-02 15:53:25 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WIP] Add period for CLI generated documentation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is WIP patch for CLI Reference generator adding period."},{"line_number":10,"context_line":"Related bug is for detecting. this patch is for fixing the problem."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba8a016a_1eebeab1","line":7,"updated":"2015-11-17 13:53:12.000000000","message":"Assuming this is no longer WIP can you update the commit message please?","commit_id":"26c76a516c6ca37f9748c68810fa44167923f304"},{"author":{"_account_id":17207,"name":"Atsushi SAKAI","email":"sakaia@jp.fujitsu.com","username":"sakaia"},"change_message_id":"1947988f9acd7bd5aa6ccafb478175583d4a9aa3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Atsushi SAKAI \u003csakaia@jp.fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-10-02 15:53:25 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WIP] Add period for CLI generated documentation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is WIP patch for CLI Reference generator adding period."},{"line_number":10,"context_line":"Related bug is for detecting. this patch is for fixing the problem."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a8ffd7b_acee5189","line":7,"in_reply_to":"ba8a016a_1eebeab1","updated":"2015-11-25 06:56:15.000000000","message":"Sorry for delaying. I update the patch.","commit_id":"26c76a516c6ca37f9748c68810fa44167923f304"}],"bin/doc-tools-update-cli-reference":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"a31f3063fdf4f1c90988e56a93ff67d4c942cd56","unresolved":false,"context_lines":[{"line_number":67,"context_line":"# For adding period."},{"line_number":68,"context_line":"#openstack-auto-commands --force-add-period --output-dir output $project"},{"line_number":69,"context_line":"# For warning period missing message."},{"line_number":70,"context_line":"#openstack-auto-commands --warning-period-missing --output-dir output $project"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"if [[ ! -e openstack-manuals ]]; then"},{"line_number":73,"context_line":"    git clone git://git.openstack.org/openstack/openstack-manuals"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"ba63e191_da41063b","line":70,"updated":"2016-01-19 11:19:04.000000000","message":"In other places, all comments start with \u0027# \u0027.\n\n # To add period:\n # openstack-auto-commands ....\n # To display warning for missing period:\n # openstack-auto-commands ....\n\nThe above contains suggestions on wording.","commit_id":"9565966068ffc55f1057c9c07384f4e0adaaa73d"},{"author":{"_account_id":10497,"name":"KATO Tomoyuki","email":"kato.tomoyuki@jp.fujitsu.com","username":"to222"},"change_message_id":"0041dc481ee5d558076825ef1999dbd8cf215baf","unresolved":false,"context_lines":[{"line_number":67,"context_line":"# For adding period."},{"line_number":68,"context_line":"#openstack-auto-commands --force-add-period --output-dir output $project"},{"line_number":69,"context_line":"# For warning period missing message."},{"line_number":70,"context_line":"#openstack-auto-commands --warning-period-missing --output-dir output $project"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"if [[ ! -e openstack-manuals ]]; then"},{"line_number":73,"context_line":"    git clone git://git.openstack.org/openstack/openstack-manuals"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"9a68dd71_6ea44707","line":70,"in_reply_to":"ba63e191_da41063b","updated":"2016-01-25 03:35:00.000000000","message":"Done","commit_id":"9565966068ffc55f1057c9c07384f4e0adaaa73d"}],"os_doc_tools/commands.py":[{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"1a2ec69cc06bba82f3e6e79788fa74a0a6e209a1","unresolved":false,"context_lines":[{"line_number":255,"context_line":"            if line.endswith(\u0027.\u0027):"},{"line_number":256,"context_line":"                needs_period \u003d False"},{"line_number":257,"context_line":"            else:"},{"line_number":258,"context_line":"                needs_period \u003d True"},{"line_number":259,"context_line":"            continue"},{"line_number":260,"context_line":"        # Now we have a command or parameter to handle"},{"line_number":261,"context_line":"        split_line \u003d extract_options(line)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_6887ebd7","line":258,"updated":"2015-10-02 06:40:12.000000000","message":"Use \"needs_period \u003d not line.endswith(\u0027.\u0027)\".","commit_id":"120e12a489ecf8a98ea040542326faa1633c1b09"},{"author":{"_account_id":17207,"name":"Atsushi SAKAI","email":"sakaia@jp.fujitsu.com","username":"sakaia"},"change_message_id":"242e6e075214c4b66b9b4a89e8e761c5d3d396de","unresolved":false,"context_lines":[{"line_number":255,"context_line":"            if line.endswith(\u0027.\u0027):"},{"line_number":256,"context_line":"                needs_period \u003d False"},{"line_number":257,"context_line":"            else:"},{"line_number":258,"context_line":"                needs_period \u003d True"},{"line_number":259,"context_line":"            continue"},{"line_number":260,"context_line":"        # Now we have a command or parameter to handle"},{"line_number":261,"context_line":"        split_line \u003d extract_options(line)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_483a27e9","line":258,"in_reply_to":"9a1a9d01_6887ebd7","updated":"2015-10-02 06:57:07.000000000","message":"Done","commit_id":"120e12a489ecf8a98ea040542326faa1633c1b09"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"1a2ec69cc06bba82f3e6e79788fa74a0a6e209a1","unresolved":false,"context_lines":[{"line_number":280,"context_line":"            if split_line[1].endswith(\u0027.\u0027):"},{"line_number":281,"context_line":"                needs_period \u003d False"},{"line_number":282,"context_line":"            else:"},{"line_number":283,"context_line":"                needs_period \u003d True"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"    if needs_period:"},{"line_number":286,"context_line":"        os_file.write(\".\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_c8763706","line":283,"updated":"2015-10-02 06:40:12.000000000","message":"Use \"needs_period \u003d not split_line[1].endswith(\u0027.\u0027)\".","commit_id":"120e12a489ecf8a98ea040542326faa1633c1b09"},{"author":{"_account_id":17207,"name":"Atsushi SAKAI","email":"sakaia@jp.fujitsu.com","username":"sakaia"},"change_message_id":"242e6e075214c4b66b9b4a89e8e761c5d3d396de","unresolved":false,"context_lines":[{"line_number":280,"context_line":"            if split_line[1].endswith(\u0027.\u0027):"},{"line_number":281,"context_line":"                needs_period \u003d False"},{"line_number":282,"context_line":"            else:"},{"line_number":283,"context_line":"                needs_period \u003d True"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"    if needs_period:"},{"line_number":286,"context_line":"        os_file.write(\".\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_08250fc1","line":283,"in_reply_to":"9a1a9d01_c8763706","updated":"2015-10-02 06:57:07.000000000","message":"Done","commit_id":"120e12a489ecf8a98ea040542326faa1633c1b09"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"1a2ec69cc06bba82f3e6e79788fa74a0a6e209a1","unresolved":false,"context_lines":[{"line_number":513,"context_line":"            if xline.endswith(\u0027.\u0027):"},{"line_number":514,"context_line":"                needs_period \u003d False"},{"line_number":515,"context_line":"            else:"},{"line_number":516,"context_line":"                needs_period \u003d True"},{"line_number":517,"context_line":""},{"line_number":518,"context_line":"    if in_para:"},{"line_number":519,"context_line":"        if needs_period:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_88783ffa","line":516,"updated":"2015-10-02 06:40:12.000000000","message":"Use \"needs_period \u003d not xline.endswith(\u0027.\u0027)\" here. This should give you the same result in less lines.","commit_id":"120e12a489ecf8a98ea040542326faa1633c1b09"},{"author":{"_account_id":17207,"name":"Atsushi SAKAI","email":"sakaia@jp.fujitsu.com","username":"sakaia"},"change_message_id":"242e6e075214c4b66b9b4a89e8e761c5d3d396de","unresolved":false,"context_lines":[{"line_number":513,"context_line":"            if xline.endswith(\u0027.\u0027):"},{"line_number":514,"context_line":"                needs_period \u003d False"},{"line_number":515,"context_line":"            else:"},{"line_number":516,"context_line":"                needs_period \u003d True"},{"line_number":517,"context_line":""},{"line_number":518,"context_line":"    if in_para:"},{"line_number":519,"context_line":"        if needs_period:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_282253ba","line":516,"in_reply_to":"9a1a9d01_88783ffa","updated":"2015-10-02 06:57:07.000000000","message":"Done","commit_id":"120e12a489ecf8a98ea040542326faa1633c1b09"},{"author":{"_account_id":7923,"name":"Gauvain Pocentek","email":"gauvainpocentek@gmail.com","username":"gpocentek"},"change_message_id":"d95d9bbbf298ad9620e102d65448ec3c35c642ad","unresolved":false,"context_lines":[{"line_number":238,"context_line":"    \"\"\"Nicely print section of lines."},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    :param force_add_period: forcibly add period"},{"line_number":241,"context_line":"    :param warning_period_missing: waning period missing"},{"line_number":242,"context_line":"    \"\"\""},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"    close_entry \u003d False"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_dd855607","line":241,"updated":"2016-01-04 07:16:36.000000000","message":"If you add this documentation it would be nice to document other parameters too. Otherwise the doc is not correct.","commit_id":"9565966068ffc55f1057c9c07384f4e0adaaa73d"},{"author":{"_account_id":10497,"name":"KATO Tomoyuki","email":"kato.tomoyuki@jp.fujitsu.com","username":"to222"},"change_message_id":"0041dc481ee5d558076825ef1999dbd8cf215baf","unresolved":false,"context_lines":[{"line_number":238,"context_line":"    \"\"\"Nicely print section of lines."},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    :param force_add_period: forcibly add period"},{"line_number":241,"context_line":"    :param warning_period_missing: waning period missing"},{"line_number":242,"context_line":"    \"\"\""},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"    close_entry \u003d False"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a68dd71_eeb8372c","line":241,"in_reply_to":"fa69d971_dd855607","updated":"2016-01-25 03:35:00.000000000","message":"Done","commit_id":"9565966068ffc55f1057c9c07384f4e0adaaa73d"},{"author":{"_account_id":7923,"name":"Gauvain Pocentek","email":"gauvainpocentek@gmail.com","username":"gpocentek"},"change_message_id":"d95d9bbbf298ad9620e102d65448ec3c35c642ad","unresolved":false,"context_lines":[{"line_number":265,"context_line":"                os_file.write(\"\\n\")"},{"line_number":266,"context_line":"            os_file.write(\"      %s\" % quote_xml(line.lstrip(\u0027 \u0027)))"},{"line_number":267,"context_line":"            add_cr \u003d True"},{"line_number":268,"context_line":"            needs_period \u003d not (line.endswith(\u0027.\u0027) or line.endswith(\u0027)\u0027)"},{"line_number":269,"context_line":"                                or line.endswith(\u0027]\u0027) or line.endswith(\u0027?\u0027))"},{"line_number":270,"context_line":"            continue"},{"line_number":271,"context_line":"        # Now we have a command or parameter to handle"},{"line_number":272,"context_line":"        split_line \u003d extract_options(line)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_fb74e29c","line":269,"range":{"start_line":268,"start_character":12,"end_line":269,"end_character":75},"updated":"2016-01-04 07:16:36.000000000","message":"This could be simplified with something like:\n\nneeds_period \u003d line[-1] not in \".)]?\"","commit_id":"9565966068ffc55f1057c9c07384f4e0adaaa73d"},{"author":{"_account_id":10497,"name":"KATO Tomoyuki","email":"kato.tomoyuki@jp.fujitsu.com","username":"to222"},"change_message_id":"0041dc481ee5d558076825ef1999dbd8cf215baf","unresolved":false,"context_lines":[{"line_number":265,"context_line":"                os_file.write(\"\\n\")"},{"line_number":266,"context_line":"            os_file.write(\"      %s\" % quote_xml(line.lstrip(\u0027 \u0027)))"},{"line_number":267,"context_line":"            add_cr \u003d True"},{"line_number":268,"context_line":"            needs_period \u003d not (line.endswith(\u0027.\u0027) or line.endswith(\u0027)\u0027)"},{"line_number":269,"context_line":"                                or line.endswith(\u0027]\u0027) or line.endswith(\u0027?\u0027))"},{"line_number":270,"context_line":"            continue"},{"line_number":271,"context_line":"        # Now we have a command or parameter to handle"},{"line_number":272,"context_line":"        split_line \u003d extract_options(line)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a68dd71_ceef731c","line":269,"range":{"start_line":268,"start_character":12,"end_line":269,"end_character":75},"in_reply_to":"fa69d971_fb74e29c","updated":"2016-01-25 03:35:00.000000000","message":"Done","commit_id":"9565966068ffc55f1057c9c07384f4e0adaaa73d"},{"author":{"_account_id":10497,"name":"KATO Tomoyuki","email":"kato.tomoyuki@jp.fujitsu.com","username":"to222"},"change_message_id":"2f45ecd9686b1451bd8b25fa611cca7e0fd38ec1","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        if not close_entry:"},{"line_number":275,"context_line":"            close_entry \u003d True"},{"line_number":276,"context_line":"        else:"},{"line_number":277,"context_line":"            if needs_period:"},{"line_number":278,"context_line":"                if force_add_period:"},{"line_number":279,"context_line":"                    os_file.write(\".\")"},{"line_number":280,"context_line":"                if warning_period_missing:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_ec0be722","line":277,"updated":"2015-12-10 11:27:38.000000000","message":"How about unify the options to simplify?\n\n --add-period\n :param add_period: always end with a period\n\n if need_period:\n   os_file.write(\".\")\n   print(\"  Added a period: \" + line)","commit_id":"9565966068ffc55f1057c9c07384f4e0adaaa73d"},{"author":{"_account_id":7923,"name":"Gauvain Pocentek","email":"gauvainpocentek@gmail.com","username":"gpocentek"},"change_message_id":"d95d9bbbf298ad9620e102d65448ec3c35c642ad","unresolved":false,"context_lines":[{"line_number":300,"context_line":"                                split_line[1].endswith(\u0027]\u0027) or"},{"line_number":301,"context_line":"                                split_line[1].endswith(\u0027?\u0027))"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    if needs_period:"},{"line_number":304,"context_line":"        if force_add_period:"},{"line_number":305,"context_line":"            os_file.write(\".\")"},{"line_number":306,"context_line":"        if warning_period_missing:"},{"line_number":307,"context_line":"            print(\"  found period missing message!\")"},{"line_number":308,"context_line":"        needs_period \u003d False"},{"line_number":309,"context_line":"    if add_cr:"},{"line_number":310,"context_line":"        os_file.write(\"\\n\")"},{"line_number":311,"context_line":"    os_file.write(\"      \u003c/para\u003e\\n\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_1b869665","line":308,"range":{"start_line":303,"start_character":3,"end_line":308,"end_character":28},"updated":"2016-01-04 07:16:36.000000000","message":"This is used several times, it would be interesting to make a function out of this.","commit_id":"9565966068ffc55f1057c9c07384f4e0adaaa73d"},{"author":{"_account_id":10497,"name":"KATO Tomoyuki","email":"kato.tomoyuki@jp.fujitsu.com","username":"to222"},"change_message_id":"0041dc481ee5d558076825ef1999dbd8cf215baf","unresolved":false,"context_lines":[{"line_number":300,"context_line":"                                split_line[1].endswith(\u0027]\u0027) or"},{"line_number":301,"context_line":"                                split_line[1].endswith(\u0027?\u0027))"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    if needs_period:"},{"line_number":304,"context_line":"        if force_add_period:"},{"line_number":305,"context_line":"            os_file.write(\".\")"},{"line_number":306,"context_line":"        if warning_period_missing:"},{"line_number":307,"context_line":"            print(\"  found period missing message!\")"},{"line_number":308,"context_line":"        needs_period \u003d False"},{"line_number":309,"context_line":"    if add_cr:"},{"line_number":310,"context_line":"        os_file.write(\"\\n\")"},{"line_number":311,"context_line":"    os_file.write(\"      \u003c/para\u003e\\n\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a68dd71_6e81a7fa","line":308,"range":{"start_line":303,"start_character":3,"end_line":308,"end_character":28},"in_reply_to":"fa69d971_1b869665","updated":"2016-01-25 03:35:00.000000000","message":"I\u0027m not sure it is better to pass flags many times as of now...","commit_id":"9565966068ffc55f1057c9c07384f4e0adaaa73d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"a31f3063fdf4f1c90988e56a93ff67d4c942cd56","unresolved":false,"context_lines":[{"line_number":844,"context_line":"                        help\u003d\"Force add period in a message.\","},{"line_number":845,"context_line":"                        action\u003d\"store_true\")"},{"line_number":846,"context_line":"    parser.add_argument(\"--warning-period-missing\","},{"line_number":847,"context_line":"                        help\u003d\"Warning a period missing.\", action\u003d\"store_true\")"},{"line_number":848,"context_line":"    prog_args \u003d parser.parse_args()"},{"line_number":849,"context_line":""},{"line_number":850,"context_line":"    if prog_args.all or prog_args.all_api or prog_args.all_manage:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa69d971_1e901d95","line":847,"updated":"2016-01-19 11:19:04.000000000","message":"We need to use a verb.\n\n  Warn a missing period.\n\nI think \"--warn-missing-period\" is a good name.","commit_id":"9565966068ffc55f1057c9c07384f4e0adaaa73d"},{"author":{"_account_id":10497,"name":"KATO Tomoyuki","email":"kato.tomoyuki@jp.fujitsu.com","username":"to222"},"change_message_id":"0041dc481ee5d558076825ef1999dbd8cf215baf","unresolved":false,"context_lines":[{"line_number":844,"context_line":"                        help\u003d\"Force add period in a message.\","},{"line_number":845,"context_line":"                        action\u003d\"store_true\")"},{"line_number":846,"context_line":"    parser.add_argument(\"--warning-period-missing\","},{"line_number":847,"context_line":"                        help\u003d\"Warning a period missing.\", action\u003d\"store_true\")"},{"line_number":848,"context_line":"    prog_args \u003d parser.parse_args()"},{"line_number":849,"context_line":""},{"line_number":850,"context_line":"    if prog_args.all or prog_args.all_api or prog_args.all_manage:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a68dd71_eee6f742","line":847,"in_reply_to":"fa69d971_1e901d95","updated":"2016-01-25 03:35:00.000000000","message":"Done","commit_id":"9565966068ffc55f1057c9c07384f4e0adaaa73d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5149e997034fd270a78b0b521fec43f1334d2758","unresolved":false,"context_lines":[{"line_number":323,"context_line":"            os_file.write(\".\\n\")"},{"line_number":324,"context_line":"        if warn_missing_period:"},{"line_number":325,"context_line":"            print(\"  found period missing message!\")"},{"line_number":326,"context_line":"        needs_period \u003d False"},{"line_number":327,"context_line":"    if add_cr:"},{"line_number":328,"context_line":"        os_file.write(\"\\n\")"},{"line_number":329,"context_line":"    os_file.write(\"\\n\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a68dd71_191b93cb","line":326,"updated":"2016-01-25 04:42:14.000000000","message":"This line is unnecessary.\nneeds_period is not referred to after here.","commit_id":"a519b41f7fb3ee4a3e3b1fee34ace3afcf8894d8"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5149e997034fd270a78b0b521fec43f1334d2758","unresolved":false,"context_lines":[{"line_number":570,"context_line":"                os_file.write(\".\\n\")"},{"line_number":571,"context_line":"            if warn_missing_period:"},{"line_number":572,"context_line":"                print(\"  found period missing message!\")"},{"line_number":573,"context_line":"            needs_period \u003d False"},{"line_number":574,"context_line":"        os_file.write(\"\\n\")"},{"line_number":575,"context_line":""},{"line_number":576,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a68dd71_d97f3bde","line":573,"updated":"2016-01-25 04:42:14.000000000","message":"This line is unnecessary.\nneeds_period is not referred to after here.","commit_id":"a519b41f7fb3ee4a3e3b1fee34ace3afcf8894d8"}]}
