)]}'
{"taskflow/persistence/backends/impl_dir.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"4e506516b64c107d691893fb984775331c19471c","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            if max_cache_size \u003c 1:"},{"line_number":74,"context_line":"                raise ValueError(\"Maximum cache size must be greater\""},{"line_number":75,"context_line":"                                 \" than (or equal to) one\")"},{"line_number":76,"context_line":"            self.file_cache \u003d cachetools.LRUCache(int(max_cache_size))"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            self.file_cache \u003d {}"},{"line_number":79,"context_line":"        self.encoding \u003d self._conf.get(\u0027encoding\u0027, self.DEFAULT_FILE_ENCODING)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_7f802c8b","line":76,"updated":"2015-05-23 04:50:29.000000000","message":"This doesn\u0027t make sense. Either max_cache_size is already an int, or the comparison to 1 above is a bug.","commit_id":"6c981965753127818bfca847599d1cb8199a9e99"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"129f5235210403bdcd9dbcb74e72e084f8b81c51","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            if max_cache_size \u003c 1:"},{"line_number":74,"context_line":"                raise ValueError(\"Maximum cache size must be greater\""},{"line_number":75,"context_line":"                                 \" than (or equal to) one\")"},{"line_number":76,"context_line":"            self.file_cache \u003d cachetools.LRUCache(int(max_cache_size))"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            self.file_cache \u003d {}"},{"line_number":79,"context_line":"        self.encoding \u003d self._conf.get(\u0027encoding\u0027, self.DEFAULT_FILE_ENCODING)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_c27aa3bc","line":76,"in_reply_to":"7a016987_7f802c8b","updated":"2015-05-23 06:57:30.000000000","message":"Ya, agreed, let me ensure its an int before doing the check.","commit_id":"6c981965753127818bfca847599d1cb8199a9e99"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"4e506516b64c107d691893fb984775331c19471c","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            self.file_cache \u003d cachetools.LRUCache(int(max_cache_size))"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            self.file_cache \u003d {}"},{"line_number":79,"context_line":"        self.encoding \u003d self._conf.get(\u0027encoding\u0027, self.DEFAULT_FILE_ENCODING)"},{"line_number":80,"context_line":"        if not self._path:"},{"line_number":81,"context_line":"            raise ValueError(\"Empty path is disallowed\")"},{"line_number":82,"context_line":"        self._path \u003d os.path.abspath(self._path)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_df45e06e","line":79,"updated":"2015-05-23 04:50:29.000000000","message":"This looks like an unrelated change; I like to keep such things separate since it makes it easier when spelunking for regressions to do \u0027oh no, that cache patch wouldn\u0027t change encoding behaviours....\u0027","commit_id":"6c981965753127818bfca847599d1cb8199a9e99"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"129f5235210403bdcd9dbcb74e72e084f8b81c51","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            self.file_cache \u003d cachetools.LRUCache(int(max_cache_size))"},{"line_number":77,"context_line":"        else:"},{"line_number":78,"context_line":"            self.file_cache \u003d {}"},{"line_number":79,"context_line":"        self.encoding \u003d self._conf.get(\u0027encoding\u0027, self.DEFAULT_FILE_ENCODING)"},{"line_number":80,"context_line":"        if not self._path:"},{"line_number":81,"context_line":"            raise ValueError(\"Empty path is disallowed\")"},{"line_number":82,"context_line":"        self._path \u003d os.path.abspath(self._path)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_e26ebffe","line":79,"in_reply_to":"7a016987_df45e06e","updated":"2015-05-23 06:57:30.000000000","message":"Agreed, will separate.","commit_id":"6c981965753127818bfca847599d1cb8199a9e99"}],"taskflow/tests/unit/persistence/test_dir_persistence.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"4e506516b64c107d691893fb984775331c19471c","unresolved":false,"context_lines":[{"line_number":27,"context_line":"from taskflow.tests.unit.persistence import base"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class DirPersistenceTest(testscenarios.TestWithScenarios,"},{"line_number":31,"context_line":"                         test.TestCase, base.PersistenceTestMixin):"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    scenarios \u003d ["}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_7f570c26","line":30,"updated":"2015-05-23 04:50:29.000000000","message":"you should also - or even preferentially - use the load_tests hook from testscenarios to pre-expand everything.","commit_id":"6c981965753127818bfca847599d1cb8199a9e99"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cd7e9ad2b111a601d6fc7a61902661ef857d911c","unresolved":false,"context_lines":[{"line_number":27,"context_line":"from taskflow.tests.unit.persistence import base"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class DirPersistenceTest(testscenarios.TestWithScenarios,"},{"line_number":31,"context_line":"                         test.TestCase, base.PersistenceTestMixin):"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    scenarios \u003d ["}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_02431b6d","line":30,"in_reply_to":"7a016987_7f570c26","updated":"2015-05-23 06:58:15.000000000","message":"Hmmm, didn\u0027t know about that. Will have to try and/or look that up.","commit_id":"6c981965753127818bfca847599d1cb8199a9e99"},{"author":{"_account_id":10584,"name":"Min Pae","username":"sputnik13","inactive":true},"change_message_id":"87179bc0c072451c27e6791c91006c20875259ec","unresolved":false,"context_lines":[{"line_number":27,"context_line":"from taskflow.tests.unit.persistence import base"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class DirPersistenceTest(testscenarios.TestWithScenarios,"},{"line_number":31,"context_line":"                         test.TestCase, base.PersistenceTestMixin):"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    scenarios \u003d ["}],"source_content_type":"text/x-python","patch_set":10,"id":"3afb71cf_23b2b2e5","line":30,"updated":"2015-06-10 17:31:21.000000000","message":"Testing with multiple cache sizes is good but there\u0027s no validation of the fact that the max_cache_size is being honored.  A max cache size test that verifies cache size never goes beyond max_cache_size would be good to see.","commit_id":"25a95b41ff8fd8588b6f819a8249696e29edd8f4"}],"taskflow/utils/misc.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"115ea36bf8455546b6c3cb5d8de228dd9bf86885","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        try:"},{"line_number":79,"context_line":"            value \u003d float(value)"},{"line_number":80,"context_line":"        except ValueError:"},{"line_number":81,"context_line":"            value \u003d int(value)"},{"line_number":82,"context_line":"    if value \u003c other_value:"},{"line_number":83,"context_line":"        raise ValueError(\"Provided value %s must be greater than\""},{"line_number":84,"context_line":"                         \" or equal to %s\" % (original_value, other_value))"}],"source_content_type":"text/x-python","patch_set":6,"id":"5afe65bd_4761ca38","line":81,"updated":"2015-06-03 01:53:08.000000000","message":"When will something fail to parse as a float but parse as an int?\n\nI think this is overly complicated. Why not just do:\n\n value \u003d int(value)\n if value \u003c 1:\n     raise ValueError(....)\n\nin the code in question? You know its not None because you\u0027re inside the conditional, and then there isn\u0027t this utility function with a somewhat vague contract around it to consult when reading the code.","commit_id":"028b9e609e4a12c428835f354ba2bfae27d76188"}]}
