)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"3e25803d73a0c1341ffa8794600ceba2dd81c948","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2016-01-11 19:52:57 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Sync with oslo-incubator"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Most of librairies available under openstack/common folder are"},{"line_number":10,"context_line":"now deployed by using oslo dedicated package. So we can remove"},{"line_number":11,"context_line":"them and point to new python package."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"da6ed579_c8462bbf","line":8,"updated":"2016-01-12 13:02:24.000000000","message":"You should remove *openstack/common* in tox.ini exclude\u003d.","commit_id":"9ed6cfc2564efd3c2959ae19efdb2ff4639d6f2b"}],"requirements.txt":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"ff440ce7fad6b946c7c19a569b9ecb8bc25593f6","unresolved":false,"context_lines":[{"line_number":5,"context_line":"argparse"},{"line_number":6,"context_line":"Babel\u003e\u003d1.3"},{"line_number":7,"context_line":"oslo.i18n\u003e\u003d1.5.0    # Apache-2.0"},{"line_number":8,"context_line":"oslo.utils\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":9,"context_line":"pbr\u003e\u003d1.6"},{"line_number":10,"context_line":"python-keystoneclient\u003e\u003d1.6.0,!\u003d1.8.0"},{"line_number":11,"context_line":"six\u003e\u003d1.9.0"}],"source_content_type":"text/plain","patch_set":2,"id":"fa69d971_e04dbf72","line":8,"updated":"2016-01-11 13:33:05.000000000","message":"IMHO, the specify version has to be:\noslo.utils\u003e\u003d2.0.0,!\u003d2.6.0 # Apache-2.0\n\nYou can check here: https://github.com/openstack/requirements/blob/stable/liberty/global-requirements.txt#L100","commit_id":"7001dd15766efba000c0db20aeae0488a95816e9"},{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"c25c2b6ffe8a90f20cd71c92ad84eb1397070d33","unresolved":false,"context_lines":[{"line_number":5,"context_line":"argparse"},{"line_number":6,"context_line":"Babel\u003e\u003d1.3"},{"line_number":7,"context_line":"oslo.i18n\u003e\u003d1.5.0          # Apache-2.0"},{"line_number":8,"context_line":"oslo.utils\u003e\u003d2.0.0,!\u003d2.6.0 # Apache-2.0"},{"line_number":9,"context_line":"pbr\u003e\u003d1.6"},{"line_number":10,"context_line":"python-keystoneclient\u003e\u003d1.6.0,!\u003d1.8.0"},{"line_number":11,"context_line":"six\u003e\u003d1.9.0"}],"source_content_type":"text/plain","patch_set":5,"id":"da6ed579_f65504c6","line":8,"updated":"2016-01-12 19:17:35.000000000","message":"I see that this was changed from \u003e\u003d3.2.0 due to wanting to sync with the liberty branch.  However, if we want to be syncing against openstack/requirements automatically like we discussed on IRC, I don\u0027t think we have an option to sync against liberty versus master.","commit_id":"6655d0b93686722b878fd0885750525e1d66a747"}],"watcherclient/common/apiclient/auth.py":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"ff440ce7fad6b946c7c19a569b9ecb8bc25593f6","unresolved":false,"context_lines":[{"line_number":35,"context_line":"import os"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"import six"},{"line_number":38,"context_line":"from stevedore import extension"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"from watcherclient.common.apiclient import exceptions"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_a078277f","line":38,"updated":"2016-01-11 13:33:05.000000000","message":"Can you please respect import order template:\n\nhttp://docs.openstack.org/developer/hacking/#import-order-template","commit_id":"7001dd15766efba000c0db20aeae0488a95816e9"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"3e25803d73a0c1341ffa8794600ceba2dd81c948","unresolved":false,"context_lines":[{"line_number":33,"context_line":"import abc"},{"line_number":34,"context_line":"import argparse"},{"line_number":35,"context_line":"import os"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"import six"},{"line_number":38,"context_line":"from stevedore import extension"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_a8c41740","line":36,"updated":"2016-01-12 13:02:24.000000000","message":"IMHO, this file is deprecated. We can remove it.","commit_id":"9ed6cfc2564efd3c2959ae19efdb2ff4639d6f2b"}],"watcherclient/common/apiclient/base.py":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"ff440ce7fad6b946c7c19a569b9ecb8bc25593f6","unresolved":false,"context_lines":[{"line_number":41,"context_line":"import copy"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"from oslo_utils import strutils"},{"line_number":44,"context_line":"import six"},{"line_number":45,"context_line":"from six.moves.urllib import parse"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"from watcherclient.common.apiclient import exceptions"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_c07d1b6e","line":44,"updated":"2016-01-11 13:33:05.000000000","message":"ditto","commit_id":"7001dd15766efba000c0db20aeae0488a95816e9"}],"watcherclient/common/apiclient/exceptions.py":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"ff440ce7fad6b946c7c19a569b9ecb8bc25593f6","unresolved":false,"context_lines":[{"line_number":37,"context_line":"import sys"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"import six"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"from watcherclient.common.i18n import _"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_606eaf30","line":40,"updated":"2016-01-11 13:33:05.000000000","message":"ditto","commit_id":"7001dd15766efba000c0db20aeae0488a95816e9"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"543e1f301bed9a48c3d3751d3fe3933c44d5d121","unresolved":false,"context_lines":[{"line_number":37,"context_line":"import sys"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"import six"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"from watcherclient.common.i18n import _"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_563b35d1","line":40,"in_reply_to":"fa69d971_606eaf30","updated":"2016-01-11 13:49:29.000000000","message":"For the i18n imports there is an exception on the hacking rules pages (see http://docs.openstack.org/developer/hacking/#imports)\nSo you actually need to add the following into your tox.ini file\n\n[hacking]\nimport_exceptions \u003d watcherclient.common._i18n","commit_id":"7001dd15766efba000c0db20aeae0488a95816e9"}],"watcherclient/common/apiclient/utils.py":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"ff440ce7fad6b946c7c19a569b9ecb8bc25593f6","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from oslo_utils import encodeutils"},{"line_number":28,"context_line":"from oslo_utils import uuidutils"},{"line_number":29,"context_line":"import six"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"from watcherclient.common.apiclient import exceptions"},{"line_number":32,"context_line":"from watcherclient.common.i18n import _"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_8052c365","line":29,"updated":"2016-01-11 13:33:05.000000000","message":"ditto","commit_id":"7001dd15766efba000c0db20aeae0488a95816e9"}],"watcherclient/common/cliutils.py":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"ff440ce7fad6b946c7c19a569b9ecb8bc25593f6","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from oslo_utils import encodeutils"},{"line_number":28,"context_line":"from oslo_utils import strutils"},{"line_number":29,"context_line":"import prettytable"},{"line_number":30,"context_line":"import six"},{"line_number":31,"context_line":"from six import moves"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_e0c7ff0f","line":29,"updated":"2016-01-11 13:33:05.000000000","message":"ditto","commit_id":"7001dd15766efba000c0db20aeae0488a95816e9"}],"watcherclient/common/i18n.py":[{"author":{"_account_id":13289,"name":"Taylor Peoples","email":"tpeoples@us.ibm.com","username":"tpeoples"},"change_message_id":"c25c2b6ffe8a90f20cd71c92ad84eb1397070d33","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"da6ed579_3f75a8ca","updated":"2016-01-12 19:17:35.000000000","message":"Seems like most of the other clients put this in *client/i18n.py, but not a big deal.","commit_id":"6655d0b93686722b878fd0885750525e1d66a747"}],"watcherclient/exceptions.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"56d344c639c11dbf6b4dabf5183ea9bb9aac08e2","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from watcherclient.common.apiclient import exceptions"},{"line_number":16,"context_line":"from watcherclient.common.apiclient.exceptions import *  # noqa"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"# NOTE(akurilin): This alias is left here since v.0.1.3 to support backwards"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_5ee6fc15","line":16,"range":{"start_line":16,"start_character":59,"end_line":16,"end_character":63},"updated":"2016-01-11 10:00:35.000000000","message":"Can you avoid the noqa directive by importing the expections module directly instead of doing the * import just like in https://review.openstack.org/#/c/265341/1/watcherclient/shell.py ?","commit_id":"1180d497c4a6fd99da58c0e4ab34bf01b44b7f03"}],"watcherclient/shell.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"56d344c639c11dbf6b4dabf5183ea9bb9aac08e2","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from keystoneclient import session as kssession"},{"line_number":31,"context_line":"import six.moves.urllib.parse as urlparse"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"import watcherclient"},{"line_number":35,"context_line":"from watcherclient import client as watcher_client"},{"line_number":36,"context_line":"from watcherclient.common import cliutils"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_9eea3473","line":33,"updated":"2016-01-11 10:00:35.000000000","message":"nit: Can you remove this extra blank line ?","commit_id":"1180d497c4a6fd99da58c0e4ab34bf01b44b7f03"}],"watcherclient/tests/v1/test_action_plan_shell.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"56d344c639c11dbf6b4dabf5183ea9bb9aac08e2","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import mock"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from watcherclient.common.apiclient.exceptions import ValidationError"},{"line_number":20,"context_line":"from watcherclient.common import cliutils"},{"line_number":21,"context_line":"from watcherclient.common import utils as commonutils"},{"line_number":22,"context_line":"from watcherclient.tests import utils"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_9eb234e4","line":19,"updated":"2016-01-11 10:00:35.000000000","message":"nit: Can you import the module instead of the class here ?","commit_id":"1180d497c4a6fd99da58c0e4ab34bf01b44b7f03"}],"watcherclient/tests/v1/test_action_shell.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"56d344c639c11dbf6b4dabf5183ea9bb9aac08e2","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import mock"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from watcherclient.common.apiclient.exceptions import ValidationError"},{"line_number":20,"context_line":"from watcherclient.common import cliutils"},{"line_number":21,"context_line":"from watcherclient.common import utils as commonutils"},{"line_number":22,"context_line":"from watcherclient.tests import utils"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_dee3ccd7","line":19,"updated":"2016-01-11 10:00:35.000000000","message":"ditto","commit_id":"1180d497c4a6fd99da58c0e4ab34bf01b44b7f03"}],"watcherclient/tests/v1/test_audit_shell.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"56d344c639c11dbf6b4dabf5183ea9bb9aac08e2","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import mock"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from watcherclient.common.apiclient.exceptions import ValidationError"},{"line_number":20,"context_line":"from watcherclient.common import cliutils"},{"line_number":21,"context_line":"from watcherclient.common import utils as commonutils"},{"line_number":22,"context_line":"from watcherclient.tests import utils"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_3ed30806","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":69},"updated":"2016-01-11 10:00:35.000000000","message":"ditto","commit_id":"1180d497c4a6fd99da58c0e4ab34bf01b44b7f03"}],"watcherclient/tests/v1/test_goal_shell.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"56d344c639c11dbf6b4dabf5183ea9bb9aac08e2","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#   under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import mock"},{"line_number":18,"context_line":"from watcherclient.common import cliutils"},{"line_number":19,"context_line":"from watcherclient.tests import utils"},{"line_number":20,"context_line":"import watcherclient.v1.goal_shell as a_shell"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_9e00f467","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":41},"updated":"2016-01-11 10:00:35.000000000","message":"nit: can you add a blank line just before the watcherclient imports ?","commit_id":"1180d497c4a6fd99da58c0e4ab34bf01b44b7f03"}],"watcherclient/v1/action_plan_shell.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"56d344c639c11dbf6b4dabf5183ea9bb9aac08e2","unresolved":false,"context_lines":[{"line_number":18,"context_line":"# import argparse"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from oslo_utils import uuidutils"},{"line_number":21,"context_line":"from watcherclient.common.apiclient.exceptions import ValidationError"},{"line_number":22,"context_line":"from watcherclient.common import cliutils"},{"line_number":23,"context_line":"from watcherclient.common import utils"},{"line_number":24,"context_line":"from watcherclient.v1 import resource_fields as res_fields"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_1e4404b5","line":21,"range":{"start_line":21,"start_character":4,"end_line":21,"end_character":5},"updated":"2016-01-11 10:00:35.000000000","message":"Ditto on blank line and module import :)","commit_id":"1180d497c4a6fd99da58c0e4ab34bf01b44b7f03"}],"watcherclient/v1/action_shell.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"56d344c639c11dbf6b4dabf5183ea9bb9aac08e2","unresolved":false,"context_lines":[{"line_number":18,"context_line":"# import argparse"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from oslo_utils import uuidutils"},{"line_number":21,"context_line":"from watcherclient.common.apiclient.exceptions import ValidationError"},{"line_number":22,"context_line":"from watcherclient.common import cliutils"},{"line_number":23,"context_line":"from watcherclient.common import utils"},{"line_number":24,"context_line":"from watcherclient.v1 import resource_fields as res_fields"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_de18acd5","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":69},"updated":"2016-01-11 10:00:35.000000000","message":"ditto","commit_id":"1180d497c4a6fd99da58c0e4ab34bf01b44b7f03"}],"watcherclient/v1/audit_shell.py":[{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"56d344c639c11dbf6b4dabf5183ea9bb9aac08e2","unresolved":false,"context_lines":[{"line_number":18,"context_line":"# import argparse"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from oslo_utils import uuidutils"},{"line_number":21,"context_line":"from watcherclient.common.apiclient.exceptions import ValidationError"},{"line_number":22,"context_line":"from watcherclient.common import cliutils"},{"line_number":23,"context_line":"from watcherclient.common import utils"},{"line_number":24,"context_line":"from watcherclient.v1 import resource_fields as res_fields"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_3e28e8e1","line":21,"updated":"2016-01-11 10:00:35.000000000","message":"ditto","commit_id":"1180d497c4a6fd99da58c0e4ab34bf01b44b7f03"}]}
