)]}'
{"gnocchi/openstack/common/fileutils.py":[{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"21f3593f94af34a747cf7ce1b23ca9c1736bce80","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2011 OpenStack Foundation."},{"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"},{"line_number":5,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":6,"context_line":"#    a copy of the License at"},{"line_number":7,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_90a4c808","line":4,"range":{"start_line":4,"start_character":0,"end_line":4,"end_character":1},"updated":"2014-11-18 12:16:47.000000000","message":"Do we really need such long indent here and further?","commit_id":"982f6b7712b423d4fe2502032f8c908359cc578d"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"21f3593f94af34a747cf7ce1b23ca9c1736bce80","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"def ensure_tree(path):"},{"line_number":30,"context_line":"    \"\"\"Create a directory (and any ancestor directories required)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    :param path: Directory to create"},{"line_number":33,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_b0d384d3","line":30,"updated":"2014-11-18 12:16:47.000000000","message":"It would be nice if first line is ended with dot.","commit_id":"982f6b7712b423d4fe2502032f8c908359cc578d"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"21f3593f94af34a747cf7ce1b23ca9c1736bce80","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    try:"},{"line_number":35,"context_line":"        os.makedirs(path)"},{"line_number":36,"context_line":"    except OSError as exc:"},{"line_number":37,"context_line":"        if exc.errno \u003d\u003d errno.EEXIST:"},{"line_number":38,"context_line":"            if not os.path.isdir(path):"},{"line_number":39,"context_line":"                raise"},{"line_number":40,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_d06f3029","line":37,"updated":"2014-11-18 12:16:47.000000000","message":"Probably these case could be written with \u0027and\u0027 operator, for ex. \nif exc.errno \u003d\u003d errno.EEXIST and os.path.isdir(path):\n    pass\nelse:\n    raise\n\nwdyt?","commit_id":"982f6b7712b423d4fe2502032f8c908359cc578d"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"21f3593f94af34a747cf7ce1b23ca9c1736bce80","unresolved":false,"context_lines":[{"line_number":94,"context_line":"@contextlib.contextmanager"},{"line_number":95,"context_line":"def remove_path_on_error(path, remove\u003ddelete_if_exists):"},{"line_number":96,"context_line":"    \"\"\"Protect code that wants to operate on PATH atomically."},{"line_number":97,"context_line":"    Any exception will cause PATH to be removed."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    :param path: File to work with"},{"line_number":100,"context_line":"    :param remove: Optional function to remove passed path"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_308dd4d3","line":97,"updated":"2014-11-18 12:16:47.000000000","message":"In multiline  docstrings first line should be separate from other part with empty line.","commit_id":"982f6b7712b423d4fe2502032f8c908359cc578d"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"21f3593f94af34a747cf7ce1b23ca9c1736bce80","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    \"\"\""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    try:"},{"line_number":104,"context_line":"        yield"},{"line_number":105,"context_line":"    except Exception:"},{"line_number":106,"context_line":"        with excutils.save_and_reraise_exception():"},{"line_number":107,"context_line":"            remove(path)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_70691cf8","line":104,"updated":"2014-11-18 12:16:47.000000000","message":"Could you clarify what do we yield here?","commit_id":"982f6b7712b423d4fe2502032f8c908359cc578d"},{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"21f3593f94af34a747cf7ce1b23ca9c1736bce80","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"def file_open(*args, **kwargs):"},{"line_number":111,"context_line":"    \"\"\"Open file"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    see built-in open() documentation for more details"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_1057f826","line":111,"updated":"2014-11-18 12:16:47.000000000","message":"It would be nice if first line is ended with dot.","commit_id":"982f6b7712b423d4fe2502032f8c908359cc578d"}],"gnocchi/openstack/common/policy.py":[{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"21f3593f94af34a747cf7ce1b23ca9c1736bce80","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2012 OpenStack Foundation."},{"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"},{"line_number":5,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":6,"context_line":"#    a copy of the License at"},{"line_number":7,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_f0226cb7","line":4,"updated":"2014-11-18 12:16:47.000000000","message":"ditto ... too long indent","commit_id":"982f6b7712b423d4fe2502032f8c908359cc578d"}]}
