)]}'
{"anchor/app.py":[{"author":{"_account_id":11650,"name":"Tom Cammann","email":"tom.cammann@hpe.com","username":"cammann"},"change_message_id":"03c04e86e5f2ac676f668597a63894991b4bac1e","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            \"No validators configured for instance %s\" % name)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    instance_validators \u003d conf[\u0027validators\u0027]"},{"line_number":103,"context_line":"    logger.info(\"Found {} validators.\".format(len(instance_validators)))"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    for step in instance_validators.keys():"},{"line_number":106,"context_line":"        if not hasattr(validators, step):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_4c2f87f6","line":103,"updated":"2015-07-02 12:45:42.000000000","message":"You want to include the name of the instance we are checking here, however I don\u0027t think this a very useful \u0027info\u0027 message and probably can be deleted.","commit_id":"606e6c22d5aab92ba5669801181b53adf110b9a4"},{"author":{"_account_id":11650,"name":"Tom Cammann","email":"tom.cammann@hpe.com","username":"cammann"},"change_message_id":"03c04e86e5f2ac676f668597a63894991b4bac1e","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                                                                      name))"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    config_check_domains(instance_validators)"},{"line_number":112,"context_line":"    logger.info(\"Validator set OK\")"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"def check_default_auth(conf):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba3cc151_ac4093a6","line":112,"updated":"2015-07-02 12:45:42.000000000","message":"Include instance name.","commit_id":"606e6c22d5aab92ba5669801181b53adf110b9a4"},{"author":{"_account_id":979,"name":"Dave Walker","email":"email@daviey.com","username":"davewalker"},"change_message_id":"acbbb71f150c20546722d090b01fb33008ddf134","unresolved":false,"context_lines":[{"line_number":73,"context_line":"def validate_instance_config(name, conf):"},{"line_number":74,"context_line":"    if not conf.get(\u0027auth\u0027):"},{"line_number":75,"context_line":"        raise ConfigValidationException("},{"line_number":76,"context_line":"            \"No authentication configured for instance %s\" % name)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    if not conf.get(\u0027ca\u0027):"},{"line_number":79,"context_line":"        raise ConfigValidationException("}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_1bef131f","line":76,"updated":"2015-07-08 15:32:07.000000000","message":"Is it worth adding a colon, such -\u003e instance: %s","commit_id":"53c9fdb6655f871020989a26ecbc364b2005f7f8"},{"author":{"_account_id":1528,"name":"Stanislaw Pitucha","email":"viraptor@gmail.com","username":"stanislaw-pitucha"},"change_message_id":"fe408bd9fdfdfa7e134eb554555b125786e99b02","unresolved":false,"context_lines":[{"line_number":73,"context_line":"def validate_instance_config(name, conf):"},{"line_number":74,"context_line":"    if not conf.get(\u0027auth\u0027):"},{"line_number":75,"context_line":"        raise ConfigValidationException("},{"line_number":76,"context_line":"            \"No authentication configured for instance %s\" % name)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    if not conf.get(\u0027ca\u0027):"},{"line_number":79,"context_line":"        raise ConfigValidationException("}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_3b18c2d2","line":76,"in_reply_to":"ba3cc151_1bef131f","updated":"2015-07-08 22:49:58.000000000","message":"Yes, definitely.","commit_id":"53c9fdb6655f871020989a26ecbc364b2005f7f8"},{"author":{"_account_id":979,"name":"Dave Walker","email":"email@daviey.com","username":"davewalker"},"change_message_id":"acbbb71f150c20546722d090b01fb33008ddf134","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    if not conf.get(\u0027ca\u0027):"},{"line_number":79,"context_line":"        raise ConfigValidationException("},{"line_number":80,"context_line":"            \"No ca configuration present for instance %s\" % name)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    # mandatory CA settings"},{"line_number":83,"context_line":"    ca_config_requirements \u003d [\"cert_path\", \"key_path\", \"output_path\","}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_bbef071c","line":80,"updated":"2015-07-08 15:32:07.000000000","message":"As above","commit_id":"53c9fdb6655f871020989a26ecbc364b2005f7f8"},{"author":{"_account_id":979,"name":"Dave Walker","email":"email@daviey.com","username":"davewalker"},"change_message_id":"acbbb71f150c20546722d090b01fb33008ddf134","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    for requirement in ca_config_requirements:"},{"line_number":87,"context_line":"        if requirement not in conf[\u0027ca\u0027].keys():"},{"line_number":88,"context_line":"            raise ConfigValidationException("},{"line_number":89,"context_line":"                \"CA config missing: %s for instance %s\" % (requirement, name))"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    # all are specified, check the CA certificate and key are readable with"},{"line_number":92,"context_line":"    # sane permissions"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_fb058fc1","line":89,"updated":"2015-07-08 15:32:07.000000000","message":"perhaps put the detail into brackets? (for instance %s)","commit_id":"53c9fdb6655f871020989a26ecbc364b2005f7f8"},{"author":{"_account_id":979,"name":"Dave Walker","email":"email@daviey.com","username":"davewalker"},"change_message_id":"acbbb71f150c20546722d090b01fb33008ddf134","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            \"No validators configured for instance %s\" % name)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    instance_validators \u003d conf[\u0027validators\u0027]"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    for step in instance_validators.keys():"},{"line_number":105,"context_line":"        if not hasattr(validators, step):"},{"line_number":106,"context_line":"            raise ConfigValidationException("}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_1bc0734f","line":103,"updated":"2015-07-08 15:32:07.000000000","message":"We\u0027ve lost an logging line showing intent to check.  I think this probably makes sense, but I wanted to check it is intentional?","commit_id":"53c9fdb6655f871020989a26ecbc364b2005f7f8"},{"author":{"_account_id":1528,"name":"Stanislaw Pitucha","email":"viraptor@gmail.com","username":"stanislaw-pitucha"},"change_message_id":"fe408bd9fdfdfa7e134eb554555b125786e99b02","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            \"No validators configured for instance %s\" % name)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    instance_validators \u003d conf[\u0027validators\u0027]"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    for step in instance_validators.keys():"},{"line_number":105,"context_line":"        if not hasattr(validators, step):"},{"line_number":106,"context_line":"            raise ConfigValidationException("}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_db56765d","line":103,"in_reply_to":"ba3cc151_1bc0734f","updated":"2015-07-08 22:49:58.000000000","message":"Yes, validator sets don\u0027t exist anymore, so these log lines are useless. But I did want to log a line before checking every instance - thanks for catching that.","commit_id":"53c9fdb6655f871020989a26ecbc364b2005f7f8"},{"author":{"_account_id":979,"name":"Dave Walker","email":"email@daviey.com","username":"davewalker"},"change_message_id":"acbbb71f150c20546722d090b01fb33008ddf134","unresolved":false,"context_lines":[{"line_number":108,"context_line":"                                                                      name))"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    config_check_domains(instance_validators)"},{"line_number":111,"context_line":"    logger.info(\"Validators OK for instance %s\", name)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"def check_default_auth(conf):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_db276b61","line":111,"updated":"2015-07-08 15:32:07.000000000","message":"worth adding : again?","commit_id":"53c9fdb6655f871020989a26ecbc364b2005f7f8"}],"tests/test_config.py":[{"author":{"_account_id":979,"name":"Dave Walker","email":"email@daviey.com","username":"davewalker"},"change_message_id":"acbbb71f150c20546722d090b01fb33008ddf134","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    }"},{"line_number":65,"context_line":"    \"\"\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def test_wrong_key(self):"},{"line_number":68,"context_line":"        jsonloader.conf \u003d jsonloader.AnchorConf(logger)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        with self.assertRaises(AttributeError):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_db452b6f","line":67,"updated":"2015-07-08 15:32:07.000000000","message":"These could all benefit from docstrings I think.. Some of them  are mostly self explanatory, but for clarity it makes sense..","commit_id":"53c9fdb6655f871020989a26ecbc364b2005f7f8"},{"author":{"_account_id":1528,"name":"Stanislaw Pitucha","email":"viraptor@gmail.com","username":"stanislaw-pitucha"},"change_message_id":"fe408bd9fdfdfa7e134eb554555b125786e99b02","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    }"},{"line_number":65,"context_line":"    \"\"\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def test_wrong_key(self):"},{"line_number":68,"context_line":"        jsonloader.conf \u003d jsonloader.AnchorConf(logger)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        with self.assertRaises(AttributeError):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba3cc151_9b40eea6","line":67,"in_reply_to":"ba3cc151_db452b6f","updated":"2015-07-08 22:49:58.000000000","message":"good point.","commit_id":"53c9fdb6655f871020989a26ecbc364b2005f7f8"}]}
