)]}'
{"ceilometer/publisher/file.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"cf67a512b1597d2df8b32e1d8a29c3493c645885","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    Based on FilePublisher (copyright license included at top of this file)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    The publisher which records metering data into a formatted file."},{"line_number":123,"context_line":"    The file name and location are configured in ceilometer pipeline file."},{"line_number":124,"context_line":"    If a file name and location is not specified, this publisher will not"},{"line_number":125,"context_line":"    log any meters other than log a warning in Ceilometer log file."}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_cab12a49","line":122,"updated":"2018-05-14 22:59:07.000000000","message":"s/The/A/","commit_id":"514bbec4623aa08e86c4ad41bee1dce4dd0c051d"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"cf67a512b1597d2df8b32e1d8a29c3493c645885","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        self.rfh.setLevel(logging.INFO)"},{"line_number":222,"context_line":"        self.publisher_logger.addHandler(self.rfh)"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"    def as_yaml(self):"},{"line_number":225,"context_line":"        return \u0027file://\u0027 + ("},{"line_number":226,"context_line":"            self.location + \u0027?max_bytes\u003d\u0027 + str(self.max_bytes) +"},{"line_number":227,"context_line":"            \u0027\u0026backup_count\u003d\u0027 + str(self.backup_count) +"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_9b4946b8","line":224,"updated":"2018-05-14 22:59:07.000000000","message":"is this used somewhere?","commit_id":"514bbec4623aa08e86c4ad41bee1dce4dd0c051d"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"cf67a512b1597d2df8b32e1d8a29c3493c645885","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        to be True to make work across multiple processes."},{"line_number":307,"context_line":"        \"\"\""},{"line_number":308,"context_line":"        with lockutils.lock(self.conf.host, \u0027publish-samples-\u0027,"},{"line_number":309,"context_line":"                            external\u003dTrue, lock_path\u003d\u0027/tmp/\u0027):"},{"line_number":310,"context_line":"            if self.publisher_logger:"},{"line_number":311,"context_line":"                for sample in samples:"},{"line_number":312,"context_line":"                    if (self.format is not None) and ("}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_9b8ce6d7","line":309,"range":{"start_line":309,"start_character":54,"end_line":309,"end_character":59},"updated":"2018-05-14 22:59:07.000000000","message":"this doesn\u0027t seem safe. i don\u0027t think we can just assume `/tmp/` is a useable path. maybe use tempdir?","commit_id":"514bbec4623aa08e86c4ad41bee1dce4dd0c051d"}],"ceilometer/tests/unit/publisher/test_file.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"cf67a512b1597d2df8b32e1d8a29c3493c645885","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def test_file_publisher_csv(self):"},{"line_number":94,"context_line":"        # Test valid configurations"},{"line_number":95,"context_line":"        tempdir \u003d tempfile.mkdtemp()"},{"line_number":96,"context_line":"        name \u003d \u0027%s/log_file\u0027 % tempdir"},{"line_number":97,"context_line":"        parsed_url \u003d netutils.urlsplit("},{"line_number":98,"context_line":"            \u0027file://%s?max_bytes\u003d50\u0026backup_count\u003d3\u0026format\u003dcsv\u0027 % name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_0a564207","line":95,"updated":"2018-05-14 22:59:07.000000000","message":"it\u0027d be better to clean this up (instead requiring a restart) but i see you\u0027re just copying how other tests work.","commit_id":"514bbec4623aa08e86c4ad41bee1dce4dd0c051d"}]}
