)]}'
{"AUTHORS":[{"author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"change_message_id":"94594010f697a5c1768ccee656fd8d57d6faed99","unresolved":false,"context_lines":[{"line_number":156,"context_line":"Newptone (xingchao@unitedstack.com)"},{"line_number":157,"context_line":"Colin Nicholson (colin.nicholson@iomart.com)"},{"line_number":158,"context_line":"Zhenguo Niu (zhenguo@unitedstack.com)"},{"line_number":159,"context_line":"Ondrej Novy (ondrej.novy@firma.seznam.cz)"},{"line_number":160,"context_line":"Timothy Okwii (tokwii@cisco.com)"},{"line_number":161,"context_line":"Matthew Oliver (matt@oliver.net.au)"},{"line_number":162,"context_line":"Hisashi Osanai (osanai.hisashi@jp.fujitsu.com)"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"3a50d1a3_197ba38d","line":159,"updated":"2015-07-22 12:53:54.000000000","message":"I haven\u0027t seen anyone add their own name here, this is usually done later at release time by notmyname","commit_id":"2366b874b2e359f7f081a244bca8b374332323fd"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"a6987ff85878d1468f93695896b53a93f3ad8ce8","unresolved":false,"context_lines":[{"line_number":156,"context_line":"Newptone (xingchao@unitedstack.com)"},{"line_number":157,"context_line":"Colin Nicholson (colin.nicholson@iomart.com)"},{"line_number":158,"context_line":"Zhenguo Niu (zhenguo@unitedstack.com)"},{"line_number":159,"context_line":"Ondrej Novy (ondrej.novy@firma.seznam.cz)"},{"line_number":160,"context_line":"Timothy Okwii (tokwii@cisco.com)"},{"line_number":161,"context_line":"Matthew Oliver (matt@oliver.net.au)"},{"line_number":162,"context_line":"Hisashi Osanai (osanai.hisashi@jp.fujitsu.com)"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"3a50d1a3_e6de4b10","line":159,"in_reply_to":"3a50d1a3_197ba38d","updated":"2015-07-22 15:51:28.000000000","message":"It\u0027s ok","commit_id":"2366b874b2e359f7f081a244bca8b374332323fd"}],"swift/cli/recon.py":[{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"a6987ff85878d1468f93695896b53a93f3ad8ce8","unresolved":false,"context_lines":[{"line_number":951,"context_line":"            if status !\u003d 200:"},{"line_number":952,"context_line":"                errors \u003d errors + 1"},{"line_number":953,"context_line":"                continue"},{"line_number":954,"context_line":"            if (ts_remote \u003c ts_start or ts_remote \u003e ts_end):"},{"line_number":955,"context_line":"                diff \u003d abs(ts_end - ts_remote)"},{"line_number":956,"context_line":"                ts_end_f \u003d time.strftime("},{"line_number":957,"context_line":"                    \"%F %T\","}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_3cec42f2","line":954,"updated":"2015-07-22 15:51:28.000000000","message":"So you\u0027re checking that the returned value is in the range of when the command was run. I think that\u0027s clever...","commit_id":"2366b874b2e359f7f081a244bca8b374332323fd"},{"author":{"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},"change_message_id":"fbf49a9f63d0016344eacfe3000a33bc203913f5","unresolved":false,"context_lines":[{"line_number":951,"context_line":"            if status !\u003d 200:"},{"line_number":952,"context_line":"                errors \u003d errors + 1"},{"line_number":953,"context_line":"                continue"},{"line_number":954,"context_line":"            if (ts_remote \u003c ts_start or ts_remote \u003e ts_end):"},{"line_number":955,"context_line":"                diff \u003d abs(ts_end - ts_remote)"},{"line_number":956,"context_line":"                ts_end_f \u003d time.strftime("},{"line_number":957,"context_line":"                    \"%F %T\","}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_90ac328d","line":954,"in_reply_to":"3a50d1a3_3cec42f2","updated":"2015-07-23 09:35:14.000000000","message":"it\u0027s clever idea, but not my :)\nSamuel Merritt had this suggestion","commit_id":"2366b874b2e359f7f081a244bca8b374332323fd"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"a6987ff85878d1468f93695896b53a93f3ad8ce8","unresolved":false,"context_lines":[{"line_number":957,"context_line":"                    \"%F %T\","},{"line_number":958,"context_line":"                    time.localtime(ts_end))"},{"line_number":959,"context_line":"                ts_remote_f \u003d time.strftime("},{"line_number":960,"context_line":"                    \"%F %T\","},{"line_number":961,"context_line":"                    time.localtime(ts_remote))"},{"line_number":962,"context_line":""},{"line_number":963,"context_line":"                print(\"!! %s current time is %s, but remote is %s, \""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_22717ca8","line":960,"updated":"2015-07-22 15:51:28.000000000","message":"weird. %F and %T aren\u0027t documented in Python\u0027s time module docs, but this gives \"YYYY-MM-DD HH:MM:SS\" output.","commit_id":"2366b874b2e359f7f081a244bca8b374332323fd"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"cb9b508b0fa23d44d87a3b0635fb6d294a09a601","unresolved":false,"context_lines":[{"line_number":957,"context_line":"                    \"%F %T\","},{"line_number":958,"context_line":"                    time.localtime(ts_end))"},{"line_number":959,"context_line":"                ts_remote_f \u003d time.strftime("},{"line_number":960,"context_line":"                    \"%F %T\","},{"line_number":961,"context_line":"                    time.localtime(ts_remote))"},{"line_number":962,"context_line":""},{"line_number":963,"context_line":"                print(\"!! %s current time is %s, but remote is %s, \""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_6e1f585b","line":960,"in_reply_to":"3a50d1a3_22717ca8","updated":"2015-07-23 03:06:21.000000000","message":"Adding that fact as an inline comment (what %F and %T are) would be good for other reviewers and future maintenance. Especially if they aren\u0027t documented in Python\u0027s time module docs.","commit_id":"2366b874b2e359f7f081a244bca8b374332323fd"},{"author":{"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},"change_message_id":"fbf49a9f63d0016344eacfe3000a33bc203913f5","unresolved":false,"context_lines":[{"line_number":957,"context_line":"                    \"%F %T\","},{"line_number":958,"context_line":"                    time.localtime(ts_end))"},{"line_number":959,"context_line":"                ts_remote_f \u003d time.strftime("},{"line_number":960,"context_line":"                    \"%F %T\","},{"line_number":961,"context_line":"                    time.localtime(ts_remote))"},{"line_number":962,"context_line":""},{"line_number":963,"context_line":"                print(\"!! %s current time is %s, but remote is %s, \""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_d0615a06","line":960,"in_reply_to":"3a50d1a3_6e1f585b","updated":"2015-07-23 09:35:14.000000000","message":"i will replace it completely:\n\nhttps://bugs.python.org/issue15065","commit_id":"2366b874b2e359f7f081a244bca8b374332323fd"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"a6987ff85878d1468f93695896b53a93f3ad8ce8","unresolved":false,"context_lines":[{"line_number":961,"context_line":"                    time.localtime(ts_remote))"},{"line_number":962,"context_line":""},{"line_number":963,"context_line":"                print(\"!! %s current time is %s, but remote is %s, \""},{"line_number":964,"context_line":"                      \"differs by %.2f sec\" % ("},{"line_number":965,"context_line":"                          url,"},{"line_number":966,"context_line":"                          ts_end_f,"},{"line_number":967,"context_line":"                          ts_remote_f,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_623ea48d","line":964,"updated":"2015-07-22 15:51:28.000000000","message":"...but the reporting is only to 2 decimal places, even though the returned value is the full unix time.time(). And you\u0027re only reporting the remote time to the second (eg \"...differs by 0.00 sec\"). You can simulate this by subtracting 0.005 from the local start and end time before the check on line 954.\n\nSeems like you\u0027re losing precision here. Or maybe being too precise with the returned time (when the proxy sets the timestamp of an object, it\u0027s to the deci-milisecond, not the full resolution of the available time.","commit_id":"2366b874b2e359f7f081a244bca8b374332323fd"},{"author":{"_account_id":16896,"name":"Ondřej Nový","email":"novy@ondrej.org","username":"onovy"},"change_message_id":"fbf49a9f63d0016344eacfe3000a33bc203913f5","unresolved":false,"context_lines":[{"line_number":961,"context_line":"                    time.localtime(ts_remote))"},{"line_number":962,"context_line":""},{"line_number":963,"context_line":"                print(\"!! %s current time is %s, but remote is %s, \""},{"line_number":964,"context_line":"                      \"differs by %.2f sec\" % ("},{"line_number":965,"context_line":"                          url,"},{"line_number":966,"context_line":"                          ts_end_f,"},{"line_number":967,"context_line":"                          ts_remote_f,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_3682f3c8","line":964,"in_reply_to":"3a50d1a3_623ea48d","updated":"2015-07-23 09:35:14.000000000","message":"i think \u0027differs by\u0027 is just informatin for admin. Losing precision is not really important. Important is \"how much differs\", is it 1s or just something small, like 0.01s? If it differs by 0.01 or 0.005 doesn\u0027t matter.\n\nBut maybe i\u0027m just not understand you correctly. What is your suggestion?","commit_id":"2366b874b2e359f7f081a244bca8b374332323fd"}]}
