)]}'
{"mistral/api/controllers/v2/action.py":[{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"13171b97734eb6d095d635dfe65a6ea02da42b44","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        project_id is different but the scope is public."},{"line_number":200,"context_line":"        \"\"\""},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"        return rest_utils.get_all(Actions,"},{"line_number":203,"context_line":"                                  Action,"},{"line_number":204,"context_line":"                                  db_api.get_action_definitions,"},{"line_number":205,"context_line":"                                  db_api.get_action_definition_by_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_756e7397","line":202,"updated":"2016-05-30 10:21:46.000000000","message":"Please, use following code style:\n\nreturn rest_utils.get_all(\n   Actions,\n   Action,\n   ...\n)","commit_id":"f982658066ea6977d6dc1c0ac4b88d0d2b6c8f0d"}],"mistral/api/controllers/v2/cron_trigger.py":[{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"13171b97734eb6d095d635dfe65a6ea02da42b44","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                sort_dirs\u003d\u0027asc\u0027, fields\u003d\u0027\u0027):"},{"line_number":126,"context_line":"        \"\"\"Return all cron triggers.\"\"\""},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        return rest_utils.get_all(CronTriggers,"},{"line_number":129,"context_line":"                                  CronTrigger,"},{"line_number":130,"context_line":"                                  db_api.get_cron_triggers,"},{"line_number":131,"context_line":"                                  db_api.get_cron_trigger,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_35134b0f","line":128,"updated":"2016-05-30 10:21:46.000000000","message":"ditto","commit_id":"f982658066ea6977d6dc1c0ac4b88d0d2b6c8f0d"}],"mistral/db/v2/api.py":[{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"f0925cda5cdd3154d04fd60bf5e41007cb97ba65","unresolved":false,"context_lines":[{"line_number":440,"context_line":"                     marker\u003dNone,"},{"line_number":441,"context_line":"                     sort_keys\u003d[\u0027name\u0027],"},{"line_number":442,"context_line":"                     sort_dirs\u003dNone,"},{"line_number":443,"context_line":"                     **kwargs):"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"    return IMPL.get_environments("},{"line_number":446,"context_line":"        limit\u003dlimit,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_69f4e4ce","line":443,"updated":"2016-06-03 09:43:05.000000000","message":"params of function need not be this kind of formatting.","commit_id":"f54255eb85ca8eb8213a847aad84dbd17d059264"}],"mistral/db/v2/sqlalchemy/api.py":[{"author":{"_account_id":19206,"name":"Dawid Deja","email":"dawdej@gmail.com","username":"ddeja"},"change_message_id":"9dc0fd61e55e7121e4fa0bb9b6bc894bc2aba428","unresolved":false,"context_lines":[{"line_number":184,"context_line":"    # Note(lane): Sometimes tenant_A needs to get resources of tenant_B,"},{"line_number":185,"context_line":"    # especially in resource sharing scenario, the resource owner needs to"},{"line_number":186,"context_line":"    # check if the resource is used by a member."},{"line_number":187,"context_line":"    columns \u003d ("},{"line_number":188,"context_line":"        tuple(COL_MAPPINGS.get(model,"},{"line_number":189,"context_line":"                               {}).get(f) for f in fields) if fields else ()"},{"line_number":190,"context_line":"    )"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    query \u003d (b.model_query(model, *columns) if \u0027project_id\u0027 in kwargs"},{"line_number":193,"context_line":"             else _secure_query(model, *columns))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9abb7d3a_5d532317","line":190,"range":{"start_line":187,"start_character":0,"end_line":190,"end_character":5},"updated":"2016-06-01 10:46:02.000000000","message":"Soft: Could you please make lines 158-161 consistent with 187-190?","commit_id":"0180f07cd8b42499ebb74610c6439c134ae8591a"},{"author":{"_account_id":7700,"name":"Nikolay Mahotkin","email":"nikolay.makhotkin@gmail.com","username":"nmakhotkin"},"change_message_id":"3bb11bd74b2290f8a253a47ddbb64b6df9c94bad","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"# Workbook definitions."},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"WORKBOOK_COL_MAPPING \u003d {"},{"line_number":219,"context_line":"    \u0027id\u0027: models.Workbook.id,"},{"line_number":220,"context_line":"    \u0027name\u0027: models.Workbook.name,"},{"line_number":221,"context_line":"    \u0027scope\u0027: models.Workbook.scope,"},{"line_number":222,"context_line":"    \u0027definition\u0027: models.Workbook.definition,"},{"line_number":223,"context_line":"    \u0027tags\u0027: models.Workbook.tags,"},{"line_number":224,"context_line":"    \u0027created_at\u0027: models.Workbook.created_at,"},{"line_number":225,"context_line":"    \u0027updated_at\u0027: models.Workbook.updated_at"},{"line_number":226,"context_line":"}"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"def get_workbook(name):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_7ccae550","line":226,"range":{"start_line":218,"start_character":0,"end_line":226,"end_character":1},"updated":"2016-06-03 08:24:03.000000000","message":"Just a question: Could we potentially get rid of all these mapping at all? We can use \n\n  model.hasattr(column_name)\n\nto determine whether current model has specific column or not. That would be useful in the future when someone changes one of the models: then there is no need to edit these mappings.","commit_id":"f54255eb85ca8eb8213a847aad84dbd17d059264"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"f0925cda5cdd3154d04fd60bf5e41007cb97ba65","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"# Workbook definitions."},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"WORKBOOK_COL_MAPPING \u003d {"},{"line_number":219,"context_line":"    \u0027id\u0027: models.Workbook.id,"},{"line_number":220,"context_line":"    \u0027name\u0027: models.Workbook.name,"},{"line_number":221,"context_line":"    \u0027scope\u0027: models.Workbook.scope,"},{"line_number":222,"context_line":"    \u0027definition\u0027: models.Workbook.definition,"},{"line_number":223,"context_line":"    \u0027tags\u0027: models.Workbook.tags,"},{"line_number":224,"context_line":"    \u0027created_at\u0027: models.Workbook.created_at,"},{"line_number":225,"context_line":"    \u0027updated_at\u0027: models.Workbook.updated_at"},{"line_number":226,"context_line":"}"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"def get_workbook(name):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_84c92f7c","line":226,"range":{"start_line":218,"start_character":0,"end_line":226,"end_character":1},"in_reply_to":"9abb7d3a_7ccae550","updated":"2016-06-03 09:43:05.000000000","message":"Agree with Nikolay. Please take a look at WORKFLOW_COL_MAPPING carefully, I used an ugly mapping there because Workflow model doesn\u0027t have a \u0027input\u0027 field (yes, I\u0027m the author of workflow pagination support), but \u0027input\u0027 filed is visible to end users, which can be get from WorkflowDefinition.spec column.","commit_id":"f54255eb85ca8eb8213a847aad84dbd17d059264"}],"mistral/utils/rest_utils.py":[{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"f0925cda5cdd3154d04fd60bf5e41007cb97ba65","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    See the License for the specific language governing permissions and"},{"line_number":15,"context_line":"#    limitations under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import functools"},{"line_number":18,"context_line":"import json"},{"line_number":19,"context_line":"from oslo_log import log as logging"},{"line_number":20,"context_line":"import pecan"},{"line_number":21,"context_line":"import six"},{"line_number":22,"context_line":"from webob import Response"},{"line_number":23,"context_line":"from wsme import exc"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from mistral import exceptions as ex"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_2985bc06","line":23,"range":{"start_line":17,"start_character":0,"end_line":23,"end_character":20},"updated":"2016-06-03 09:43:05.000000000","message":"Please correct import orders according to https://www.python.org/dev/peps/pep-0008/#imports","commit_id":"f54255eb85ca8eb8213a847aad84dbd17d059264"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"f0925cda5cdd3154d04fd60bf5e41007cb97ba65","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        )"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"def get_all(list_cls,"},{"line_number":104,"context_line":"            cls,"},{"line_number":105,"context_line":"            get_all_function,"},{"line_number":106,"context_line":"            get_function,"},{"line_number":107,"context_line":"            collection_name,"},{"line_number":108,"context_line":"            marker\u003dNone,"},{"line_number":109,"context_line":"            limit\u003dNone,"},{"line_number":110,"context_line":"            sort_keys\u003d\u0027created_at\u0027,"},{"line_number":111,"context_line":"            sort_dirs\u003d\u0027asc\u0027,"},{"line_number":112,"context_line":"            fields\u003d\u0027\u0027):"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    \"\"\"Return a list of cls."},{"line_number":115,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_89a3089e","line":112,"range":{"start_line":103,"start_character":12,"end_line":112,"end_character":21},"updated":"2016-06-03 09:43:05.000000000","message":"(Soft): Params of function need not be this kink of formatting.","commit_id":"f54255eb85ca8eb8213a847aad84dbd17d059264"}]}
