)]}'
{"horizon/tables/base.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"eaaa7a9fb834ccd6f6b617384671b6d2a6bf669c","unresolved":false,"context_lines":[{"line_number":844,"context_line":"        attrs[\u0027base_columns\u0027] \u003d SortedDict(columns)"},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"        # If the table is in a ResourceBrowser, the column number must meet"},{"line_number":847,"context_line":"        # these limits because of the width of the browser."},{"line_number":848,"context_line":"        if opts.browser_table \u003d\u003d \"navigation\" and len(columns) \u003e 3:"},{"line_number":849,"context_line":"            raise ValueError(\"You can only assign three column to %s.\""},{"line_number":850,"context_line":"                             % class_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAS3%2F%2FD64%3D","line":847,"updated":"2013-10-05 08:43:55.000000000","message":"It looks like the table can take extra column.\n\nHere is what it looks like: http://imgur.com/a/0GAzt","commit_id":"c672cefba04cd5976558c10fd1254317ed325590"}],"openstack_dashboard/api/swift.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"eaaa7a9fb834ccd6f6b617384671b6d2a6bf669c","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"def _permission_to_header(is_public):"},{"line_number":98,"context_line":"    headers \u003d {}"},{"line_number":99,"context_line":"    if is_public:"},{"line_number":100,"context_line":"        public_container_acls \u003d [GLOBAL_READ_ACL, LIST_CONTENTS_ACL]"},{"line_number":101,"context_line":"        headers[\u0027x-container-read\u0027] \u003d \",\".join(public_container_acls)"},{"line_number":102,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAS3%2F%2FD60%3D","line":99,"updated":"2013-10-05 08:43:55.000000000","message":"Add both global read and listing contents on the container in the Read ACL","commit_id":"c672cefba04cd5976558c10fd1254317ed325590"},{"author":{"_account_id":2455,"name":"Tihomir Trifonov","email":"t.trifonov@gmail.com","username":"ttrifonov"},"change_message_id":"a7a7c19dd29ee3daf869ee64a5186214cb37badd","unresolved":false,"context_lines":[{"line_number":153,"context_line":"    public_url \u003d None"},{"line_number":154,"context_line":"    try:"},{"line_number":155,"context_line":"        ts_float \u003d float(headers.get(\u0027x-timestamp\u0027))"},{"line_number":156,"context_line":"        timestamp \u003d timeutils.iso8601_from_timestamp(ts_float)"},{"line_number":157,"context_line":"        is_public \u003d GLOBAL_READ_ACL in headers.get(\u0027x-container-read\u0027, \u0027\u0027)"},{"line_number":158,"context_line":"        if is_public:"},{"line_number":159,"context_line":"            swift_endpoint \u003d base.url_for(request,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATH%2F%2FgJM%3D","line":156,"updated":"2013-10-15 10:49:20.000000000","message":"A minor bit about ordering of code in try:except block. \nI\u0027m not quite familiar with the swift metadata, but I suppose timestamp is less important than the is_public here, as the is_public flag defines permissions. So imagine a timestamp value goes broken somehow, then the container will be rendered Private, and no action could be performed on it. While correct permissions with broken timestamp sounds better for me.","commit_id":"c672cefba04cd5976558c10fd1254317ed325590"}],"openstack_dashboard/dashboards/project/containers/tables.py":[{"author":{"_account_id":2455,"name":"Tihomir Trifonov","email":"t.trifonov@gmail.com","username":"ttrifonov"},"change_message_id":"a7a7c19dd29ee3daf869ee64a5186214cb37badd","unresolved":false,"context_lines":[{"line_number":191,"context_line":"    metadata.append(_(\"Size: %s\") %"},{"line_number":192,"context_line":"                    filters.filesizeformat(container.container_bytes_used))"},{"line_number":193,"context_line":"    if container.is_public:"},{"line_number":194,"context_line":"        container_access \u003d \"\u003ca href\u003d\u0027%s\u0027\u003e%s\u003c/a\u003e\" % (container.public_url,"},{"line_number":195,"context_line":"                                                    unicode(_(\"Public\")))"},{"line_number":196,"context_line":"    else:"},{"line_number":197,"context_line":"        container_access \u003d _(\"Private\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATH%2F%2FgJ0%3D","line":194,"updated":"2013-10-15 10:49:20.000000000","message":"Let\u0027s keep the html into the html templates. As I see - the template knows when this should be a hyperlink, and when not(Private). So let\u0027s render it into the template. If needed - it is always easier to customize css/html in templates than in python code.","commit_id":"c672cefba04cd5976558c10fd1254317ed325590"}]}
