)]}'
{"horizon/base.py":[{"author":{"_account_id":5623,"name":"David Lyle","email":"dklyle0@gmail.com","username":"david-lyle"},"change_message_id":"01fc931141b8e071a02a480f460d34105404ecaa","unresolved":false,"context_lines":[{"line_number":22,"context_line":"the classes contained therein."},{"line_number":23,"context_line":"\"\"\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"import collections"},{"line_number":26,"context_line":"import copy"},{"line_number":27,"context_line":"import inspect"},{"line_number":28,"context_line":"import logging"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2FsBw%3D","line":25,"updated":"2013-06-12 22:14:07.000000000","message":"do these not get alphabetized with the others?","commit_id":"ac8ba95e147fcecd856c7e08cf1a75b8a1c2393b"},{"author":{"_account_id":5623,"name":"David Lyle","email":"dklyle0@gmail.com","username":"david-lyle"},"change_message_id":"955fb5a4bd074c746640cf60f6032a5e9a25850e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"the classes contained therein."},{"line_number":23,"context_line":"\"\"\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"import collections"},{"line_number":26,"context_line":"import copy"},{"line_number":27,"context_line":"import inspect"},{"line_number":28,"context_line":"import logging"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2FrZg%3D","line":25,"in_reply_to":"AAAAPX%2F%2FsBw%3D","updated":"2013-06-12 22:36:12.000000000","message":"ok, I think I understand the separation here.","commit_id":"ac8ba95e147fcecd856c7e08cf1a75b8a1c2393b"}],"horizon/middleware.py":[{"author":{"_account_id":5623,"name":"David Lyle","email":"dklyle0@gmail.com","username":"david-lyle"},"change_message_id":"01fc931141b8e071a02a480f460d34105404ecaa","unresolved":false,"context_lines":[{"line_number":28,"context_line":"from django.contrib.auth import REDIRECT_FIELD_NAME"},{"line_number":29,"context_line":"from django.contrib.auth.views import redirect_to_login"},{"line_number":30,"context_line":"from django.contrib import messages as django_messages"},{"line_number":31,"context_line":"from django import http"},{"line_number":32,"context_line":"from django import shortcuts"},{"line_number":33,"context_line":"from django.utils.encoding import iri_to_uri"},{"line_number":34,"context_line":"from django.utils import timezone"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2FsB8%3D","line":31,"updated":"2013-06-12 22:14:07.000000000","message":"wouldn\u0027t django come before django.conf?","commit_id":"ac8ba95e147fcecd856c7e08cf1a75b8a1c2393b"},{"author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"change_message_id":"d1b4d4c64a96f465c281c24909f3298480cf1799","unresolved":false,"context_lines":[{"line_number":28,"context_line":"from django.contrib.auth import REDIRECT_FIELD_NAME"},{"line_number":29,"context_line":"from django.contrib.auth.views import redirect_to_login"},{"line_number":30,"context_line":"from django.contrib import messages as django_messages"},{"line_number":31,"context_line":"from django import http"},{"line_number":32,"context_line":"from django import shortcuts"},{"line_number":33,"context_line":"from django.utils.encoding import iri_to_uri"},{"line_number":34,"context_line":"from django.utils import timezone"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2FpCY%3D","line":31,"in_reply_to":"AAAAPX%2F%2FsB8%3D","updated":"2013-06-13 17:24:55.000000000","message":"That\u0027s what I thought first. But it seems, strings are concatenated:\ndjango.conf.settings\n...\ndjango.http\n\nand then compared alphabetically","commit_id":"ac8ba95e147fcecd856c7e08cf1a75b8a1c2393b"}],"openstack_dashboard/dashboards/project/loadbalancers/tests.py":[{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"c37db20e371db790faa89aaef6e0e39e5ab13917","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from openstack_dashboard.api.lbaas import Vip"},{"line_number":18,"context_line":"from openstack_dashboard.test import helpers as test"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from .forms import UpdatePool"},{"line_number":21,"context_line":"from .tabs import LoadBalancerTabs"},{"line_number":22,"context_line":"from .tabs import MembersTab"},{"line_number":23,"context_line":"from .tabs import MonitorsTab"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2FwrQ%3D","line":20,"updated":"2013-06-11 07:08:34.000000000","message":"Isn\u0027t it an unused import?","commit_id":"ac8ba95e147fcecd856c7e08cf1a75b8a1c2393b"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"c37db20e371db790faa89aaef6e0e39e5ab13917","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from .tabs import LoadBalancerTabs"},{"line_number":22,"context_line":"from .tabs import MembersTab"},{"line_number":23,"context_line":"from .tabs import MonitorsTab"},{"line_number":24,"context_line":"from .tabs import PoolsTab"},{"line_number":25,"context_line":"from .workflows import AddMember"},{"line_number":26,"context_line":"from .workflows import AddMonitor"},{"line_number":27,"context_line":"from .workflows import AddPool"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2Fwq8%3D","line":24,"updated":"2013-06-11 07:08:34.000000000","message":"Same for all .tabs imports.","commit_id":"ac8ba95e147fcecd856c7e08cf1a75b8a1c2393b"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"397560a3ea88c6d51a931777244c364aceac4fda","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from .tabs import LoadBalancerTabs"},{"line_number":22,"context_line":"from .tabs import MembersTab"},{"line_number":23,"context_line":"from .tabs import MonitorsTab"},{"line_number":24,"context_line":"from .tabs import PoolsTab"},{"line_number":25,"context_line":"from .workflows import AddMember"},{"line_number":26,"context_line":"from .workflows import AddMonitor"},{"line_number":27,"context_line":"from .workflows import AddPool"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2Fwa4%3D","line":24,"in_reply_to":"AAAAPX%2F%2Fwlg%3D","updated":"2013-06-11 09:44:48.000000000","message":"Oh I see. That\u0027s reasonable. Thanks!","commit_id":"ac8ba95e147fcecd856c7e08cf1a75b8a1c2393b"},{"author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"change_message_id":"db24fe83b0491f7f9a139ee17078be207a50940c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from .tabs import LoadBalancerTabs"},{"line_number":22,"context_line":"from .tabs import MembersTab"},{"line_number":23,"context_line":"from .tabs import MonitorsTab"},{"line_number":24,"context_line":"from .tabs import PoolsTab"},{"line_number":25,"context_line":"from .workflows import AddMember"},{"line_number":26,"context_line":"from .workflows import AddMonitor"},{"line_number":27,"context_line":"from .workflows import AddPool"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2Fwlg%3D","line":24,"in_reply_to":"AAAAPX%2F%2Fwq8%3D","updated":"2013-06-11 07:56:49.000000000","message":"Yes, probably.\n\nThere is the review on unused imports. Let\u0027s try to land that one first (or this one) and then merge the other.\n\nBoth are missing checks on __init__.py files as well, which is still on my plate.\nLet\u0027s try to keep the patches as small as possible...","commit_id":"ac8ba95e147fcecd856c7e08cf1a75b8a1c2393b"}]}
