)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11561,"name":"Dave McCowan","email":"dmccowan@cisco.com","username":"dave-mccowan"},"change_message_id":"63307547996b4cc1c7abd0c1cdb66b29f53c9307","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Elvin Tubillara \u003cedtubill@us.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-23 16:47:21 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"barbican help needs authentication"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This fix enables \u0027barbican help\u0027 and \u0027barbican complete\u0027 to"},{"line_number":10,"context_line":"not need authentication. This commit also enables deferred_help"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"ba15a1d1_1c37074e","line":7,"updated":"2015-09-24 00:20:08.000000000","message":"A nit... but the commit header should talk about what the change is, not what the bug was.\n\n\"Allow barbican help to run without authentication\" would be better.","commit_id":"0b2944031adc4f22e23b9e6ecf92f37ee53b61b8"},{"author":{"_account_id":17579,"name":"Elvin Tubillara","email":"edtubill@us.ibm.com","username":"edtubill"},"change_message_id":"8f771c0c0b6432a48f067571c774b41dd5a042f5","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Elvin Tubillara \u003cedtubill@us.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-09-23 16:47:21 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"barbican help needs authentication"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This fix enables \u0027barbican help\u0027 and \u0027barbican complete\u0027 to"},{"line_number":10,"context_line":"not need authentication. This commit also enables deferred_help"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"ba15a1d1_3d3202a8","line":7,"in_reply_to":"ba15a1d1_1c37074e","updated":"2015-09-24 04:26:12.000000000","message":"Done","commit_id":"0b2944031adc4f22e23b9e6ecf92f37ee53b61b8"}],"barbicanclient/barbican.py":[{"author":{"_account_id":17579,"name":"Elvin Tubillara","email":"edtubill@us.ibm.com","username":"edtubill"},"change_message_id":"d4e700a6e6c09fec79c5afa96728099b464f76a0","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    \"\"\"Barbican command line interface.\"\"\""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def __init__(self, **kwargs):"},{"line_number":43,"context_line":"        self._client \u003d None"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        # Patch command.Command to add a default auth_required \u003d True"},{"line_number":46,"context_line":"        command.Command.auth_required \u003d True"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_266d9132","line":43,"updated":"2015-09-21 18:36:11.000000000","message":"I need to delete this.","commit_id":"1594fb8cdc9c8cac69924e7f018e82e67d2b5e4e"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"563fd70487a9da6a851cd1e7057217743bb2a514","unresolved":false,"context_lines":[{"line_number":310,"context_line":"        This is inherited from the framework."},{"line_number":311,"context_line":"        \"\"\""},{"line_number":312,"context_line":"        if cmd.auth_required:"},{"line_number":313,"context_line":"            self.client"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    @property"},{"line_number":316,"context_line":"    def client(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_8e31725c","line":313,"updated":"2015-09-18 04:41:59.000000000","message":"What exactly does this do?","commit_id":"1594fb8cdc9c8cac69924e7f018e82e67d2b5e4e"},{"author":{"_account_id":17579,"name":"Elvin Tubillara","email":"edtubill@us.ibm.com","username":"edtubill"},"change_message_id":"fc704704fc7e89f48f21a2113fbaeed3c725fae2","unresolved":false,"context_lines":[{"line_number":311,"context_line":"        \"\"\""},{"line_number":312,"context_line":"        if cmd.auth_required:"},{"line_number":313,"context_line":"            self.client"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    @property"},{"line_number":316,"context_line":"    def client(self):"},{"line_number":317,"context_line":"        if not self._client:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_ee7a6ebc","line":314,"updated":"2015-09-18 04:54:41.000000000","message":"This should lazy create the client. My original intentions were to delay client creation until after checking the type of command. But I was afraid that for each command ran under a barbican client instance, the client would get created each time.(see previous patches) So I was thinking if I lazy create the client instead, it wouldn\u0027t be created each time if it was  already there.","commit_id":"1594fb8cdc9c8cac69924e7f018e82e67d2b5e4e"},{"author":{"_account_id":17579,"name":"Elvin Tubillara","email":"edtubill@us.ibm.com","username":"edtubill"},"change_message_id":"d4e700a6e6c09fec79c5afa96728099b464f76a0","unresolved":false,"context_lines":[{"line_number":311,"context_line":"        \"\"\""},{"line_number":312,"context_line":"        if cmd.auth_required:"},{"line_number":313,"context_line":"            self.client"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    @property"},{"line_number":316,"context_line":"    def client(self):"},{"line_number":317,"context_line":"        if not self._client:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_e6a9d925","line":314,"in_reply_to":"ba15a1d1_9248b0b4","updated":"2015-09-21 18:36:11.000000000","message":"I looked at the current implementation and it looks like the client is initialized each time run() is called. So I will change it to just having the client get created each time.","commit_id":"1594fb8cdc9c8cac69924e7f018e82e67d2b5e4e"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"4f2d95e883dbe9f728f0e638d00efc6673a3573b","unresolved":false,"context_lines":[{"line_number":311,"context_line":"        \"\"\""},{"line_number":312,"context_line":"        if cmd.auth_required:"},{"line_number":313,"context_line":"            self.client"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    @property"},{"line_number":316,"context_line":"    def client(self):"},{"line_number":317,"context_line":"        if not self._client:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_9248b0b4","line":314,"in_reply_to":"ba15a1d1_cca1b395","updated":"2015-09-18 06:51:05.000000000","message":"Ah, yeah I see now. Unfortunately, I think it may not even matter... It\u0027s going to reset on literally every run (unless you\u0027re in the \"console\" mode), so I am not sure how much it even helps to try to cache this. It has been a little bit since I touched this part of the client though, so I might be wrong.","commit_id":"1594fb8cdc9c8cac69924e7f018e82e67d2b5e4e"},{"author":{"_account_id":17579,"name":"Elvin Tubillara","email":"edtubill@us.ibm.com","username":"edtubill"},"change_message_id":"9cbb809e25c9b45896ea0a4ed16473c9e77c5eaf","unresolved":false,"context_lines":[{"line_number":311,"context_line":"        \"\"\""},{"line_number":312,"context_line":"        if cmd.auth_required:"},{"line_number":313,"context_line":"            self.client"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    @property"},{"line_number":316,"context_line":"    def client(self):"},{"line_number":317,"context_line":"        if not self._client:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_cca1b395","line":314,"in_reply_to":"ba15a1d1_ee7a6ebc","updated":"2015-09-18 05:13:13.000000000","message":"I\u0027m open to suggestions.","commit_id":"1594fb8cdc9c8cac69924e7f018e82e67d2b5e4e"},{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"dde01d3c35a9dae498ba74a97996d5f5e95f1e3f","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            description\u003d__doc__.strip(),"},{"line_number":54,"context_line":"            version\u003dversion.__version__,"},{"line_number":55,"context_line":"            command_manager\u003dcommandmanager.CommandManager(\u0027barbican.client\u0027),"},{"line_number":56,"context_line":"            deferred_help\u003dTrue,"},{"line_number":57,"context_line":"            **kwargs"},{"line_number":58,"context_line":"        )"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_0fcdb684","line":56,"updated":"2015-09-23 08:41:28.000000000","message":"Is this still needed if you removed the intialize_app in favor of prepare_to_run_command ?","commit_id":"f7bdfae3cfc8affc06fda82e9403cb71966ac4dc"},{"author":{"_account_id":17579,"name":"Elvin Tubillara","email":"edtubill@us.ibm.com","username":"edtubill"},"change_message_id":"750783833e8553dd7d10159bac466188fb63c25d","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            description\u003d__doc__.strip(),"},{"line_number":54,"context_line":"            version\u003dversion.__version__,"},{"line_number":55,"context_line":"            command_manager\u003dcommandmanager.CommandManager(\u0027barbican.client\u0027),"},{"line_number":56,"context_line":"            deferred_help\u003dTrue,"},{"line_number":57,"context_line":"            **kwargs"},{"line_number":58,"context_line":"        )"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_b013b3b7","line":56,"in_reply_to":"ba15a1d1_0fcdb684","updated":"2015-09-23 15:06:08.000000000","message":"Yes, the logic is inside the parent class in cliff:\nhttps://github.com/openstack/cliff/blob/master/cliff/app.py\nThere is an explanation in the run() function. \nIt is used to set a flag to let the run_subcommand() function print out the help command instead of having the default help page print out immediately. This allows \u0027\u0027--help\" for a particular command instead of printing out everything.","commit_id":"f7bdfae3cfc8affc06fda82e9403cb71966ac4dc"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"65ddbf5cda95758c621ac3db7a95a56580399beb","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from cliff import commandmanager"},{"line_number":24,"context_line":"from cliff import command"},{"line_number":25,"context_line":"from cliff import help"},{"line_number":26,"context_line":"from cliff import complete"},{"line_number":27,"context_line":"from keystoneclient.auth.identity import v3"},{"line_number":28,"context_line":"from keystoneclient.auth.identity import v2"},{"line_number":29,"context_line":"from keystoneclient import session"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba15a1d1_8bb204e4","line":26,"updated":"2015-09-23 15:22:49.000000000","message":"should probably move line 26 up to keep alphabetical order","commit_id":"024e38b70853d53668beae4f3e015bf201818009"},{"author":{"_account_id":17579,"name":"Elvin Tubillara","email":"edtubill@us.ibm.com","username":"edtubill"},"change_message_id":"c700a3e58455d867f42e948acc2ff4d747d333a0","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from cliff import commandmanager"},{"line_number":24,"context_line":"from cliff import command"},{"line_number":25,"context_line":"from cliff import help"},{"line_number":26,"context_line":"from cliff import complete"},{"line_number":27,"context_line":"from keystoneclient.auth.identity import v3"},{"line_number":28,"context_line":"from keystoneclient.auth.identity import v2"},{"line_number":29,"context_line":"from keystoneclient import session"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba15a1d1_ba106201","line":26,"in_reply_to":"ba15a1d1_8bb204e4","updated":"2015-09-23 21:51:07.000000000","message":"good catch. done","commit_id":"024e38b70853d53668beae4f3e015bf201818009"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"89ad894ce837e87008377fe84568e0f9b9beeaae","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    \"\"\"Barbican command line interface.\"\"\""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def __init__(self, **kwargs):"},{"line_number":43,"context_line":"        self.client \u003d None"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        # Patch command.Command to add a default auth_required \u003d True"},{"line_number":46,"context_line":"        command.Command.auth_required \u003d True"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a1a9d01_4309bc94","line":43,"updated":"2015-09-24 21:37:26.000000000","message":"I think this may be unused now? Oh well.","commit_id":"89c2f286a6246606335f31abf1a6289e89b427f2"}],"barbicanclient/tests/test_barbican.py":[{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"dde01d3c35a9dae498ba74a97996d5f5e95f1e3f","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def test_should_show_usage_with_help_flag(self):"},{"line_number":51,"context_line":"        e \u003d self.assertRaises(SystemExit, self.barbican.run, [\u0027-h\u0027])"},{"line_number":52,"context_line":"        self.assertEquals(0, e.code)"},{"line_number":53,"context_line":"        self.assertIn(\u0027usage\u0027, self.captured_stdout.getvalue())"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def test_should_show_usage_with_no_args(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_2f0c3aeb","line":52,"updated":"2015-09-23 08:41:28.000000000","message":"Could you remove the pluralization you just added? https://docs.python.org/3/library/unittest.html#deprecated-aliases","commit_id":"f7bdfae3cfc8affc06fda82e9403cb71966ac4dc"},{"author":{"_account_id":17579,"name":"Elvin Tubillara","email":"edtubill@us.ibm.com","username":"edtubill"},"change_message_id":"750783833e8553dd7d10159bac466188fb63c25d","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def test_should_show_usage_with_help_flag(self):"},{"line_number":51,"context_line":"        e \u003d self.assertRaises(SystemExit, self.barbican.run, [\u0027-h\u0027])"},{"line_number":52,"context_line":"        self.assertEquals(0, e.code)"},{"line_number":53,"context_line":"        self.assertIn(\u0027usage\u0027, self.captured_stdout.getvalue())"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def test_should_show_usage_with_no_args(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba15a1d1_90ea2f73","line":52,"in_reply_to":"ba15a1d1_2f0c3aeb","updated":"2015-09-23 15:06:08.000000000","message":"Done","commit_id":"f7bdfae3cfc8affc06fda82e9403cb71966ac4dc"}]}
