)]}'
{"horizon/hacking/checks.py":[{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"4af1780f579a6732ba0f3ab15d3b789a2b8e609a","unresolved":false,"context_lines":[{"line_number":28,"context_line":" - Add test cases for each new rule to /tests/unit/test_hacking.py"},{"line_number":29,"context_line":"\"\"\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"mutable_default_args \u003d re.compile(r\"^\\s*def .+\\((.+\u003d\\{\\}|.+\u003d\\[\\])\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def no_mutable_default_args(logical_line):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_376cf607","line":31,"updated":"2015-09-21 10:45:18.000000000","message":"what about\n\n def foo(bar\u003dlist())\n\nor\n def foo(bar\u003ddict())\n\nAlthough it does look almost impossible to catch callables here.","commit_id":"efa4ffa294bb85907d4eff4f44490f911cd02edc"},{"author":{"_account_id":8040,"name":"Timur Sufiev","email":"tsufiev@gmail.com","username":"tsufiev"},"change_message_id":"f661ca979db7c6f919c5dd13e20cc0a43f9e82e5","unresolved":false,"context_lines":[{"line_number":28,"context_line":" - Add test cases for each new rule to /tests/unit/test_hacking.py"},{"line_number":29,"context_line":"\"\"\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"mutable_default_args \u003d re.compile(r\"^\\s*def .+\\((.+\u003d\\{\\}|.+\u003d\\[\\])\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def no_mutable_default_args(logical_line):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_2848172d","line":31,"in_reply_to":"ba15a1d1_376cf607","updated":"2015-09-21 11:53:18.000000000","message":"That\u0027s just a copy-paste of the corresponding Magnum check.","commit_id":"efa4ffa294bb85907d4eff4f44490f911cd02edc"},{"author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"change_message_id":"2c73a2dd0c2f8fed6e4ce1daf450302c5c1c4e09","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2015 Intel, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_ef4082a7","line":1,"updated":"2015-09-23 08:48:40.000000000","message":"are you at Intel?","commit_id":"db7483deaf0c4b07610928dbe7fb86e75a80c8a2"}],"horizon/test/test_hacking.py":[{"author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"change_message_id":"2c73a2dd0c2f8fed6e4ce1daf450302c5c1c4e09","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Copyright 2015 Intel, Inc."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_4f372e4d","line":2,"updated":"2015-09-23 08:48:40.000000000","message":"same here, how are you declaring Intel Copyright?","commit_id":"db7483deaf0c4b07610928dbe7fb86e75a80c8a2"}],"openstack_dashboard/api/rest/utils.py":[{"author":{"_account_id":12281,"name":"Itxaka","email":"igarcia@suse.com","username":"itxaka"},"change_message_id":"852ca5e7a961836c10ba4a7cfcbbec48a5deeb0a","unresolved":false,"context_lines":[{"line_number":154,"context_line":"    them as separate inputs. This will ignore those keys to avoid"},{"line_number":155,"context_line":"    potential conflicts."},{"line_number":156,"context_line":"    \"\"\""},{"line_number":157,"context_line":"    if client_keywords is None:"},{"line_number":158,"context_line":"        client_keywords \u003d {}"},{"line_number":159,"context_line":"    filters \u003d {}"},{"line_number":160,"context_line":"    kwargs \u003d {}"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a7e1126_edf69ed6","line":157,"updated":"2015-12-17 09:48:25.000000000","message":"This is done already on line 161 below","commit_id":"eaa5b6ae87ee54ede033979cb22bd3fa4215f813"},{"author":{"_account_id":8040,"name":"Timur Sufiev","email":"tsufiev@gmail.com","username":"tsufiev"},"change_message_id":"4ce86bd4eaba260c97989da707570f141c0b24b7","unresolved":false,"context_lines":[{"line_number":154,"context_line":"    them as separate inputs. This will ignore those keys to avoid"},{"line_number":155,"context_line":"    potential conflicts."},{"line_number":156,"context_line":"    \"\"\""},{"line_number":157,"context_line":"    if client_keywords is None:"},{"line_number":158,"context_line":"        client_keywords \u003d {}"},{"line_number":159,"context_line":"    filters \u003d {}"},{"line_number":160,"context_line":"    kwargs \u003d {}"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a7e1126_d04b352a","line":157,"in_reply_to":"3a7e1126_edf69ed6","updated":"2015-12-17 10:03:16.000000000","message":"Done","commit_id":"eaa5b6ae87ee54ede033979cb22bd3fa4215f813"}]}
