)]}'
{"swift/cli/form_signature.py":[{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"f6aa8009dd27c8e0c50823ed076780b8d7ef0787","unresolved":false,"context_lines":[{"line_number":105,"context_line":"          \u0027contain the Swift cluster\\\u0027s hostname.\u0027)"},{"line_number":106,"context_line":"    print(\u0027You should manually add it before using the form.\\n\u0027)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    print((\u0027\u003cform action\u003d\"%s\" method\u003d\"POST\" enctype\u003d\"multipart/form-data\"\u003e\u0027"},{"line_number":109,"context_line":"          % path))"},{"line_number":110,"context_line":"    if redirect:"},{"line_number":111,"context_line":"        print((\u0027  \u003cinput type\u003d\"hidden\" name\u003d\"redirect\" value\u003d\"%s\" /\u003e\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_1f2fd688","line":108,"updated":"2015-07-15 17:08:42.000000000","message":"I\u0027m not sure, but this whole block looks unnecessary.","commit_id":"6514b7fcdbcbbcbf7f1d59984ce9ee43c764bb1e"}],"swift/cli/info.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"93d63d7073d79b7cef0cf689c774eb5ffff22332","unresolved":false,"context_lines":[{"line_number":327,"context_line":"    except sqlite3.OperationalError as err:"},{"line_number":328,"context_line":"        if \u0027no such table\u0027 in str(err):"},{"line_number":329,"context_line":"            print(\"Does not appear to be a DB of type \\\"%s\\\": %s\" % ("},{"line_number":330,"context_line":"                db_type, db_file))"},{"line_number":331,"context_line":"            raise InfoSystemExit()"},{"line_number":332,"context_line":"        raise"},{"line_number":333,"context_line":"    account \u003d info[\u0027account\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a41bdd9_0d249d5b","line":330,"updated":"2015-07-15 14:22:32.000000000","message":"You may enhance the indentation here, put % on the second line, aligned to the first \".","commit_id":"c9ff1cf49929c2cc58df2b4b52f7303c1d37a609"},{"author":{"_account_id":14867,"name":"Jaivish Kothari(janonymous)","email":"janonymous.codevulture@gmail.com","username":"Janonymous"},"change_message_id":"0876c2df0020a8d69cb2d6943bd10d3bfd26dde6","unresolved":false,"context_lines":[{"line_number":327,"context_line":"    except sqlite3.OperationalError as err:"},{"line_number":328,"context_line":"        if \u0027no such table\u0027 in str(err):"},{"line_number":329,"context_line":"            print(\"Does not appear to be a DB of type \\\"%s\\\": %s\" % ("},{"line_number":330,"context_line":"                db_type, db_file))"},{"line_number":331,"context_line":"            raise InfoSystemExit()"},{"line_number":332,"context_line":"        raise"},{"line_number":333,"context_line":"    account \u003d info[\u0027account\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a41bdd9_30cd3685","line":330,"in_reply_to":"9a41bdd9_0d249d5b","updated":"2015-07-15 14:28:53.000000000","message":"Done","commit_id":"c9ff1cf49929c2cc58df2b4b52f7303c1d37a609"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"f6aa8009dd27c8e0c50823ed076780b8d7ef0787","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    print(\"such as \\\"export DEVICE\u003d/srv/node\\\"\")"},{"line_number":120,"context_line":"    if path_hash:"},{"line_number":121,"context_line":"        for node in primary_nodes:"},{"line_number":122,"context_line":"            print((\u0027ssh %s \"ls -lah ${DEVICE:-/srv/node*}/%s/%s\"\u0027 %"},{"line_number":123,"context_line":"                   (node[\u0027ip\u0027], node[\u0027device\u0027],"},{"line_number":124,"context_line":"                    storage_directory(datadir, part, path_hash))))"},{"line_number":125,"context_line":"        for node in handoff_nodes:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_9f7e8668","line":122,"updated":"2015-07-15 17:08:42.000000000","message":"I think this one is unnecessary.","commit_id":"6514b7fcdbcbbcbf7f1d59984ce9ee43c764bb1e"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"f6aa8009dd27c8e0c50823ed076780b8d7ef0787","unresolved":false,"context_lines":[{"line_number":197,"context_line":"                policy_name \u003d POLICIES[info[\u0027storage_policy_index\u0027]].name"},{"line_number":198,"context_line":"            except KeyError:"},{"line_number":199,"context_line":"                policy_name \u003d \u0027Unknown\u0027"},{"line_number":200,"context_line":"            print((\u0027  Storage Policy: %s (%s)\u0027 % ("},{"line_number":201,"context_line":"                policy_name, info[\u0027storage_policy_index\u0027])))"},{"line_number":202,"context_line":"            print((\u0027  Reported Put Timestamp: %s (%s)\u0027 %"},{"line_number":203,"context_line":"                   (Timestamp(info[\u0027reported_put_timestamp\u0027]).isoformat,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_7ff2a207","line":200,"updated":"2015-07-15 17:08:42.000000000","message":"This block too.","commit_id":"6514b7fcdbcbbcbf7f1d59984ce9ee43c764bb1e"}],"swift/cli/ringbuilder.py":[{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"5bb87ac67fc048770ce931f387e5197d7b0aa8db","unresolved":false,"context_lines":[{"line_number":1150,"context_line":"            print(e)"},{"line_number":1151,"context_line":"            exit(EXIT_ERROR)"},{"line_number":1152,"context_line":"    except Exception as e:"},{"line_number":1153,"context_line":"        print((\u0027Problem occurred while reading builder file: %s. %s\u0027 %"},{"line_number":1154,"context_line":"              (argv[1], e)))"},{"line_number":1155,"context_line":"        exit(EXIT_ERROR)"},{"line_number":1156,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a41bdd9_a015a149","line":1153,"updated":"2015-07-14 22:33:07.000000000","message":"wait, what?","commit_id":"c5f2dc55e1a34f982ace3c79d510844f4b6440be"},{"author":{"_account_id":14867,"name":"Jaivish Kothari(janonymous)","email":"janonymous.codevulture@gmail.com","username":"Janonymous"},"change_message_id":"a7a663a7647734f77592d18bd7ef3e513ae7344d","unresolved":false,"context_lines":[{"line_number":1150,"context_line":"            print(e)"},{"line_number":1151,"context_line":"            exit(EXIT_ERROR)"},{"line_number":1152,"context_line":"    except Exception as e:"},{"line_number":1153,"context_line":"        print((\u0027Problem occurred while reading builder file: %s. %s\u0027 %"},{"line_number":1154,"context_line":"              (argv[1], e)))"},{"line_number":1155,"context_line":"        exit(EXIT_ERROR)"},{"line_number":1156,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a41bdd9_4ae7ebab","line":1153,"in_reply_to":"9a41bdd9_a015a149","updated":"2015-07-15 14:28:20.000000000","message":"Thanks for pointing this out.","commit_id":"c5f2dc55e1a34f982ace3c79d510844f4b6440be"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"f6aa8009dd27c8e0c50823ed076780b8d7ef0787","unresolved":false,"context_lines":[{"line_number":458,"context_line":"                else:"},{"line_number":459,"context_line":"                    balance \u003d 100.0 * dev[\u0027parts\u0027] / \\"},{"line_number":460,"context_line":"                        (dev[\u0027weight\u0027] * weighted_parts) - 100.0"},{"line_number":461,"context_line":"                print((\u0027         %5d %7d %5d %15s %5d %15s %17d %9s %6.02f \u0027"},{"line_number":462,"context_line":"                      \u0027%10s %7.02f %s\u0027 %"},{"line_number":463,"context_line":"                      (dev[\u0027id\u0027], dev[\u0027region\u0027], dev[\u0027zone\u0027], dev[\u0027ip\u0027],"},{"line_number":464,"context_line":"                       dev[\u0027port\u0027], dev[\u0027replication_ip\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_3f4f3a38","line":461,"updated":"2015-07-15 17:08:42.000000000","message":"Another one of double-parens.","commit_id":"6514b7fcdbcbbcbf7f1d59984ce9ee43c764bb1e"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"f6aa8009dd27c8e0c50823ed076780b8d7ef0787","unresolved":false,"context_lines":[{"line_number":508,"context_line":"            else:"},{"line_number":509,"context_line":"                balance \u003d 100.0 * dev[\u0027parts\u0027] / \\"},{"line_number":510,"context_line":"                    (dev[\u0027weight\u0027] * weighted_parts) - 100.0"},{"line_number":511,"context_line":"            print((\u0027         %5d %7d %5d %15s %5d %15s %17d %9s %6.02f %10s \u0027"},{"line_number":512,"context_line":"                  \u0027%7.02f %s\u0027 %"},{"line_number":513,"context_line":"                  (dev[\u0027id\u0027], dev[\u0027region\u0027], dev[\u0027zone\u0027], dev[\u0027ip\u0027],"},{"line_number":514,"context_line":"                   dev[\u0027port\u0027], dev[\u0027replication_ip\u0027], dev[\u0027replication_port\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_1f5036d3","line":511,"updated":"2015-07-15 17:08:42.000000000","message":"And another one","commit_id":"6514b7fcdbcbbcbf7f1d59984ce9ee43c764bb1e"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"f6aa8009dd27c8e0c50823ed076780b8d7ef0787","unresolved":false,"context_lines":[{"line_number":930,"context_line":"            for tier_name, dispersion in report[\u0027graph\u0027]:"},{"line_number":931,"context_line":"                replica_counts_repr \u003d replica_counts_tmpl % tuple("},{"line_number":932,"context_line":"                    dispersion[\u0027replicas\u0027])"},{"line_number":933,"context_line":"                print((\u0027%-\u0027 + str(tier_width) + \u0027s \u0027 + part_count_width +"},{"line_number":934,"context_line":"                       \u0027 %6.02f %6d %s\u0027) % (tier_name,"},{"line_number":935,"context_line":"                                            dispersion[\u0027placed_parts\u0027],"},{"line_number":936,"context_line":"                                            dispersion[\u0027dispersion\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_7f0e22e6","line":933,"updated":"2015-07-15 17:08:42.000000000","message":"Another one - although I think killing the extra space is okay.","commit_id":"6514b7fcdbcbbcbf7f1d59984ce9ee43c764bb1e"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"d8636a23645b90fb758f091cb9ed35965cb81f86","unresolved":false,"context_lines":[{"line_number":930,"context_line":"            for tier_name, dispersion in report[\u0027graph\u0027]:"},{"line_number":931,"context_line":"                replica_counts_repr \u003d replica_counts_tmpl % tuple("},{"line_number":932,"context_line":"                    dispersion[\u0027replicas\u0027])"},{"line_number":933,"context_line":"                print((\u0027%-\u0027 + str(tier_width) + \u0027s \u0027 + part_count_width +"},{"line_number":934,"context_line":"                       \u0027 %6.02f %6d %s\u0027) % (tier_name,"},{"line_number":935,"context_line":"                                            dispersion[\u0027placed_parts\u0027],"},{"line_number":936,"context_line":"                                            dispersion[\u0027dispersion\u0027],"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a41bdd9_946b9ff0","line":933,"updated":"2015-07-16 12:45:11.000000000","message":"There are still duplicated parenthesis here.","commit_id":"a3566795c9a1cea907568d0b28f320211d0e102f"},{"author":{"_account_id":14867,"name":"Jaivish Kothari(janonymous)","email":"janonymous.codevulture@gmail.com","username":"Janonymous"},"change_message_id":"5ec568af3fe72e2e7e528b98c7979f395808a1a7","unresolved":false,"context_lines":[{"line_number":930,"context_line":"            for tier_name, dispersion in report[\u0027graph\u0027]:"},{"line_number":931,"context_line":"                replica_counts_repr \u003d replica_counts_tmpl % tuple("},{"line_number":932,"context_line":"                    dispersion[\u0027replicas\u0027])"},{"line_number":933,"context_line":"                print((\u0027%-\u0027 + str(tier_width) + \u0027s \u0027 + part_count_width +"},{"line_number":934,"context_line":"                       \u0027 %6.02f %6d %s\u0027) % (tier_name,"},{"line_number":935,"context_line":"                                            dispersion[\u0027placed_parts\u0027],"},{"line_number":936,"context_line":"                                            dispersion[\u0027dispersion\u0027],"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a41bdd9_b25913ff","line":933,"in_reply_to":"9a41bdd9_946b9ff0","updated":"2015-07-16 13:08:39.000000000","message":"Done","commit_id":"a3566795c9a1cea907568d0b28f320211d0e102f"}],"swift/common/manager.py":[{"author":{"_account_id":9878,"name":"Zack M. Davis","email":"zdavis@swiftstack.com","username":"zackmdavis"},"change_message_id":"d25e155d0f81b4b13325849a87966712212cf674","unresolved":false,"context_lines":[{"line_number":515,"context_line":"        pids \u003d {}"},{"line_number":516,"context_line":"        for pid_file, pid in self.iter_pid_files(**kwargs):"},{"line_number":517,"context_line":"            if not pid:  # Catches None and 0"},{"line_number":518,"context_line":"                print _(\u0027Removing pid file %s with invalid pid\u0027) % pid_file"},{"line_number":519,"context_line":"                remove_file(pid_file)"},{"line_number":520,"context_line":"                continue"},{"line_number":521,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a41bdd9_ea4cedc9","line":518,"updated":"2015-07-14 19:28:22.000000000","message":"Missed one. (The Python 2.7 gate check failed here.)\n\n(The thought occurs to me that it should be possible to convert the print statements automatically (say, with just the print fixer in 2to3 (https://docs.python.org/3.5/library/2to3.html), although 2to3 wouldn\u0027t supply the `from __future__` imports), which might be less error-prone than whatever process led to this oversight? But, if this is the only oversight, there would be no reason to bother.)","commit_id":"c5f2dc55e1a34f982ace3c79d510844f4b6440be"},{"author":{"_account_id":14867,"name":"Jaivish Kothari(janonymous)","email":"janonymous.codevulture@gmail.com","username":"Janonymous"},"change_message_id":"a7a663a7647734f77592d18bd7ef3e513ae7344d","unresolved":false,"context_lines":[{"line_number":515,"context_line":"        pids \u003d {}"},{"line_number":516,"context_line":"        for pid_file, pid in self.iter_pid_files(**kwargs):"},{"line_number":517,"context_line":"            if not pid:  # Catches None and 0"},{"line_number":518,"context_line":"                print _(\u0027Removing pid file %s with invalid pid\u0027) % pid_file"},{"line_number":519,"context_line":"                remove_file(pid_file)"},{"line_number":520,"context_line":"                continue"},{"line_number":521,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a41bdd9_301f7609","line":518,"in_reply_to":"9a41bdd9_ea4cedc9","updated":"2015-07-15 14:28:20.000000000","message":"Done","commit_id":"c5f2dc55e1a34f982ace3c79d510844f4b6440be"}]}
