)]}'
{"freezer/engine/rsync/pyrsync.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":10,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":11,"context_line":"# limitations under the License."},{"line_number":12,"context_line":"#"},{"line_number":13,"context_line":"# This is a pure Python implementation of the [rsync algorithm] [TM96]."},{"line_number":14,"context_line":"# Updated to use SHA256 hashing (instead of the standard implementation"},{"line_number":15,"context_line":"# which uses outdated MD5 hashes), and packages for disutils"},{"line_number":16,"context_line":"# distribution by Isis Lovecruft, \u003cisis@patternsinthevoid.net\u003e. The"},{"line_number":17,"context_line":"# majority of the code is blatantly stolen from Eric Pruitt\u0027s code"},{"line_number":18,"context_line":"# as posted on [ActiveState] [1]."},{"line_number":19,"context_line":"# [1]: https://code.activestate.com/recipes/577518-rsync-algorithm/"},{"line_number":20,"context_line":"# [TM96]: Andrew Tridgell and Paul Mackerras. The rsync algorithm."},{"line_number":21,"context_line":"# Technical Report TR-CS-96-05, Canberra 0200 ACT, Australia, 1996."},{"line_number":22,"context_line":"# https://samba.anu.edu.au/rsync/."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"import collections"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_f904b3c8","line":22,"range":{"start_line":13,"start_character":0,"end_line":22,"end_character":34},"updated":"2018-05-04 13:50:59.000000000","message":"this part should stay a docstring","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}],"freezer/engine/rsync/rsync.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Freezer rsync incremental engine"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_f92d9346","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":34},"updated":"2018-05-04 13:50:59.000000000","message":"it\u0027s not much, but I\u0027d say it\u0027s a docstring and I\u0027d move it below the license","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}],"freezer/engine/rsyncv2/rsyncv2.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Freezer rsync incremental engine"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_1933afad","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":34},"updated":"2018-05-04 13:50:59.000000000","message":"it\u0027s not much, but I\u0027d say it\u0027s a docstring and I\u0027d move it below the license","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}],"freezer/engine/tar/tar.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":13,"context_line":"# limitations under the License."},{"line_number":14,"context_line":"#"},{"line_number":15,"context_line":"# Freezer general utils functions"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import os"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_b9271b65","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":33},"updated":"2018-05-04 13:50:59.000000000","message":"it\u0027s not much, but I\u0027d say it\u0027s a docstring","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}],"freezer/engine/tar/tar_builders.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":13,"context_line":"# limitations under the License."},{"line_number":14,"context_line":"#"},{"line_number":15,"context_line":"# Freezer Tar related functions"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from freezer.utils import utils"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_391b0b1c","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":31},"updated":"2018-05-04 13:50:59.000000000","message":"it\u0027s not much, but I\u0027d say it\u0027s a docstring","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}],"freezer/lib/pep3143daemon/__init__.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# flake8: noqa"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# pep3143daemon is a implementation of the PEP 3143, describing a well behaving"},{"line_number":4,"context_line":"# Unix daemon, as documented in Stevens \u0027Unix Network Programming\u0027"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"# Copyright (c) 2014, Stephan Schultchen."},{"line_number":7,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_39f0ebc9","line":4,"range":{"start_line":3,"start_character":0,"end_line":4,"end_character":66},"updated":"2018-05-04 13:50:59.000000000","message":"it\u0027s not much, but I\u0027d say it\u0027s a docstring and I\u0027d move it below the license","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}],"freezer/main.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Freezer main execution function"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import json"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_19c16f55","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":33},"updated":"2018-05-04 13:50:59.000000000","message":"it\u0027s not much, but I\u0027d say it\u0027s a docstring","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}],"freezer/openstack/admin.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":13,"context_line":"# limitations under the License."},{"line_number":14,"context_line":"#"},{"line_number":15,"context_line":"# Freezer Admin modes related functions"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import time"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_79cf437f","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":39},"updated":"2018-05-04 13:50:59.000000000","message":"it\u0027s not much, but I\u0027d say it\u0027s a docstring","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}],"freezer/openstack/backup.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":13,"context_line":"# limitations under the License."},{"line_number":14,"context_line":"#"},{"line_number":15,"context_line":"# Freezer Backup modes related functions"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from oslo_config import cfg"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_99cc9f8a","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":40},"updated":"2018-05-04 13:50:59.000000000","message":"it\u0027s not much, but I\u0027d say it\u0027s a docstring","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}],"freezer/openstack/restore.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":13,"context_line":"# limitations under the License."},{"line_number":14,"context_line":"#"},{"line_number":15,"context_line":"# Freezer restore modes related functions"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import json"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_39c9cb77","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":41},"updated":"2018-05-04 13:50:59.000000000","message":"it\u0027s not much, but I\u0027d say it\u0027s a docstring","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}],"freezer/snapshot/lvm.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":13,"context_line":"# limitations under the License."},{"line_number":14,"context_line":"#"},{"line_number":15,"context_line":"# Freezer LVM related functions"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import os"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_59c6076a","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":31},"updated":"2018-05-04 13:50:59.000000000","message":"it\u0027s not much, but I\u0027d say it\u0027s a docstring","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}],"freezer/snapshot/snapshot.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":13,"context_line":"# limitations under the License."},{"line_number":14,"context_line":"#"},{"line_number":15,"context_line":"# Freezer Backup modes related functions"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from freezer.snapshot import lvm"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_19a64fc3","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":40},"updated":"2018-05-04 13:50:59.000000000","message":"it\u0027s not much, but I\u0027d say it\u0027s a docstring","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}],"freezer/tests/unit/openstack/test_restore.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Freezer restore.py related tests"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# (c) Copyright 2014,2015 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"# (c) Copyright 2016 Hewlett-Packard Enterprise Development Company, L.P"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_d9af7792","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":34},"updated":"2018-05-04 13:50:59.000000000","message":"it\u0027s not much, but I\u0027d say it\u0027s a docstring and I\u0027d move it below the license","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}],"freezer/tests/unit/test_job.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Freezer main.py related tests"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# (c) Copyright 2014,2015 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_79942345","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":31},"updated":"2018-05-04 13:50:59.000000000","message":"it\u0027s not much, but I\u0027d say it\u0027s a docstring and I\u0027d move it below the license","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}],"freezer/utils/streaming.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":13,"context_line":"# limitations under the License."},{"line_number":14,"context_line":"#"},{"line_number":15,"context_line":"# Freezer general utils functions"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import threading"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_399eab63","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":33},"updated":"2018-05-04 13:50:59.000000000","message":"it\u0027s not much, but I\u0027d say it\u0027s a docstring","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}],"freezer/utils/utils.py":[{"author":{"_account_id":27766,"name":"Matthias Bastian","email":"bastian@strato.de","username":"piepmatz"},"change_message_id":"bc65fd2a1d28827cb5911f68d7906dc8bc85c774","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Freezer general utils functions"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import datetime"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_599b6771","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":33},"updated":"2018-05-04 13:50:59.000000000","message":"it\u0027s not much, but I\u0027d say it\u0027s a docstring","commit_id":"5c9ce8bdba468deecb0d9192411ad9dce1b33e29"}]}
