)]}'
{"ironic_python_agent/lvm_partitioner.py":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"d6552354206bd0dbaad97d583305bb979afa1324","unresolved":false,"context_lines":[{"line_number":22,"context_line":"class LvmPartitioner(object):"},{"line_number":23,"context_line":"    def parse_m(self, s):"},{"line_number":24,"context_line":"        \"\"\"Converts \u0027123.45m\u0027 string into 123 integer\"\"\""},{"line_number":25,"context_line":"        m \u003d re.search(\u0027^([0-9]+)\\.[0-9]{2}m\u0027, s)"},{"line_number":26,"context_line":"        if m:"},{"line_number":27,"context_line":"            return int(m.group(1))"},{"line_number":28,"context_line":"        raise ValueError(\u0027Cannot parse string: %s\u0027 % s)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F9PWY%3D","line":25,"updated":"2014-04-07 18:33:47.000000000","message":"Regex seems complicated for this case, where the string will be a known format. Why not just use int(s.split(\u0027.\u0027)[0]) ?","commit_id":"78e3072c67b27aca68ebf5ec31ed119c9e19af23"},{"author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"change_message_id":"cf186fa063ed6ee80d08c1f717868053e46d5354","unresolved":false,"context_lines":[{"line_number":22,"context_line":"class LvmPartitioner(object):"},{"line_number":23,"context_line":"    def parse_m(self, s):"},{"line_number":24,"context_line":"        \"\"\"Converts \u0027123.45m\u0027 string into 123 integer\"\"\""},{"line_number":25,"context_line":"        m \u003d re.search(\u0027^([0-9]+)\\.[0-9]{2}m\u0027, s)"},{"line_number":26,"context_line":"        if m:"},{"line_number":27,"context_line":"            return int(m.group(1))"},{"line_number":28,"context_line":"        raise ValueError(\u0027Cannot parse string: %s\u0027 % s)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWn%2F%2F9cg%3D","line":25,"in_reply_to":"AAAAWH%2F9PK4%3D","updated":"2014-04-08 08:41:28.000000000","message":"No, I think using regex is correct here because we can\u0027t be sure that input string has the correct unit. I mean \u0027123.00m\u0027 instead of \u0027123.00M\u0027. If someone changes pvdisplay method and uses another unit we will immediately know that thanks to using regex.","commit_id":"78e3072c67b27aca68ebf5ec31ed119c9e19af23"},{"author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"change_message_id":"85a03bd057ce815b23bf8f0cde191f7013aeeb66","unresolved":false,"context_lines":[{"line_number":22,"context_line":"class LvmPartitioner(object):"},{"line_number":23,"context_line":"    def parse_m(self, s):"},{"line_number":24,"context_line":"        \"\"\"Converts \u0027123.45m\u0027 string into 123 integer\"\"\""},{"line_number":25,"context_line":"        m \u003d re.search(\u0027^([0-9]+)\\.[0-9]{2}m\u0027, s)"},{"line_number":26,"context_line":"        if m:"},{"line_number":27,"context_line":"            return int(m.group(1))"},{"line_number":28,"context_line":"        raise ValueError(\u0027Cannot parse string: %s\u0027 % s)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F9PK4%3D","line":25,"in_reply_to":"AAAAWH%2F9PWY%3D","updated":"2014-04-07 18:47:02.000000000","message":"yes, you are right, will use split here","commit_id":"78e3072c67b27aca68ebf5ec31ed119c9e19af23"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"d6552354206bd0dbaad97d583305bb979afa1324","unresolved":false,"context_lines":[{"line_number":52,"context_line":"            \u0027(?P\u003cpfree\u003e\\S+?)\\s+?\u0027"},{"line_number":53,"context_line":"            \u0027(?P\u003cdevsize\u003e\\S+?)\\s+?\u0027"},{"line_number":54,"context_line":"            \u0027(?P\u003cuuid\u003e\\S+?)$\u0027"},{"line_number":55,"context_line":"        )"},{"line_number":56,"context_line":"        pvs \u003d []"},{"line_number":57,"context_line":"        for line in result[0].split(\u0027\\n\u0027):"},{"line_number":58,"context_line":"            pv \u003d {}"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F9PV4%3D","line":55,"updated":"2014-04-07 18:33:47.000000000","message":"Wouldn\u0027t split() do the same thing as this regex, except that it will be a simple list rather than named groups?","commit_id":"78e3072c67b27aca68ebf5ec31ed119c9e19af23"},{"author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"change_message_id":"85a03bd057ce815b23bf8f0cde191f7013aeeb66","unresolved":false,"context_lines":[{"line_number":52,"context_line":"            \u0027(?P\u003cpfree\u003e\\S+?)\\s+?\u0027"},{"line_number":53,"context_line":"            \u0027(?P\u003cdevsize\u003e\\S+?)\\s+?\u0027"},{"line_number":54,"context_line":"            \u0027(?P\u003cuuid\u003e\\S+?)$\u0027"},{"line_number":55,"context_line":"        )"},{"line_number":56,"context_line":"        pvs \u003d []"},{"line_number":57,"context_line":"        for line in result[0].split(\u0027\\n\u0027):"},{"line_number":58,"context_line":"            pv \u003d {}"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F9PLE%3D","line":55,"in_reply_to":"AAAAWH%2F9PV4%3D","updated":"2014-04-07 18:47:02.000000000","message":"Actually, vg field can be empty, so array can be like [dev, vg, fmt...] or [dev, fmt...]. Of course we can count the number of fields, but for using regexp seem to be more reliable.","commit_id":"78e3072c67b27aca68ebf5ec31ed119c9e19af23"},{"author":{"_account_id":8003,"name":"Aleksandr Gordeev","email":"agordeev@mirantis.com","username":"agordeev"},"change_message_id":"51ef24b2b775fa0ad85151596f0a743f6f211060","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    def parse_m(self, s):"},{"line_number":24,"context_line":"        # Converts \u0027123.45m\u0027 string into 123 integer"},{"line_number":25,"context_line":"        # and raises exception if unit is not MiB"},{"line_number":26,"context_line":"        m \u003d re.search(\u0027^([0-9]+)\\.[0-9]{2}m\u0027, s)"},{"line_number":27,"context_line":"        if m:"},{"line_number":28,"context_line":"            return int(m.group(1))"},{"line_number":29,"context_line":"        raise ValueError(\u0027Cannot parse string: %s\u0027 % s)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWn%2F%2F7Nw%3D","line":26,"updated":"2014-04-08 13:22:18.000000000","message":"I might be wrong, but in another locale \"123.45m\" could be easily represented as \"123,45m\". So the search to be failed\n\nAlso, it might be better to convert \u0027123.45\u0027 to 124. The reason is to avoid space overcommitment","commit_id":"4d4332ae8d8721fc4335ef5e9b99b260ad0e747c"},{"author":{"_account_id":8003,"name":"Aleksandr Gordeev","email":"agordeev@mirantis.com","username":"agordeev"},"change_message_id":"50796adfa871458470cce5f43a854615d0239f89","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    def parse_m(self, s):"},{"line_number":24,"context_line":"        # Converts \u0027123.45m\u0027 string into 123 integer"},{"line_number":25,"context_line":"        # and raises exception if unit is not MiB"},{"line_number":26,"context_line":"        m \u003d re.search(\u0027^([0-9]+)\\.[0-9]{2}m\u0027, s)"},{"line_number":27,"context_line":"        if m:"},{"line_number":28,"context_line":"            return int(m.group(1))"},{"line_number":29,"context_line":"        raise ValueError(\u0027Cannot parse string: %s\u0027 % s)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWn%2F%2F68I%3D","line":26,"in_reply_to":"AAAAWn%2F%2F7Nw%3D","updated":"2014-04-08 13:48:46.000000000","message":"locale.localeconv()[\u0027decimal_point\u0027] to the rescue","commit_id":"4d4332ae8d8721fc4335ef5e9b99b260ad0e747c"},{"author":{"_account_id":8003,"name":"Aleksandr Gordeev","email":"agordeev@mirantis.com","username":"agordeev"},"change_message_id":"51ef24b2b775fa0ad85151596f0a743f6f211060","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def pvdisplay(self):"},{"line_number":44,"context_line":"        # unit m means MiB (powers of 2)"},{"line_number":45,"context_line":"        result \u003d utils.execute(\u0027pvdisplay\u0027, \u0027-C\u0027, \u0027--noheadings\u0027,"},{"line_number":46,"context_line":"            \u0027--units\u0027, \u0027m\u0027, \u0027-v\u0027, check_exit_code\u003d[0])"},{"line_number":47,"context_line":"        rex \u003d re.compile("},{"line_number":48,"context_line":"            \u0027^\\s+\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWn%2F%2F7VU%3D","line":45,"updated":"2014-04-08 13:22:18.000000000","message":"It\u0027s possible to show only required field and use other than space separator\n\nEg.:\n\n pvdisplay -C --noheading --units m --options pv_name,vg_name,pv_size,dev_size,pv_uuid --separator \u0027;\u0027\n\nSo it will produce the following output, which is easier to parse with split.\n\n  /dev/loop0;stack-volumes;10248.00m;10250.00m;RGLuLQ-Bngs-90q9-s4mt-ElNq-1BUl-ogqMlu\n  /dev/sda2;vg_r007;476744.00m;476748.00m;PJcqkk-9dSn-eZFk-7iTN-mxTX-okOl-MHHpLB\n\nI also frankly think if regexp usage can be avoided then it should be avoided.","commit_id":"4d4332ae8d8721fc4335ef5e9b99b260ad0e747c"},{"author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"change_message_id":"437457162ab2b5b1086fae16847dd868fc3996ff","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def pvdisplay(self):"},{"line_number":44,"context_line":"        # unit m means MiB (powers of 2)"},{"line_number":45,"context_line":"        result \u003d utils.execute(\u0027pvdisplay\u0027, \u0027-C\u0027, \u0027--noheadings\u0027,"},{"line_number":46,"context_line":"            \u0027--units\u0027, \u0027m\u0027, \u0027-v\u0027, check_exit_code\u003d[0])"},{"line_number":47,"context_line":"        rex \u003d re.compile("},{"line_number":48,"context_line":"            \u0027^\\s+\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWn%2F%2F69M%3D","line":45,"in_reply_to":"AAAAWn%2F%2F7VU%3D","updated":"2014-04-08 13:46:31.000000000","message":"Thank you very much, it is much more convenient","commit_id":"4d4332ae8d8721fc4335ef5e9b99b260ad0e747c"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"55b8cd0697bbd0976c79976cb1cf3b9b4271f53a","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    def parse_m(self, s):"},{"line_number":26,"context_line":"        # Converts \u0027123.45m\u0027 string into 124 integer"},{"line_number":27,"context_line":"        # and raises exception if unit is not MiB"},{"line_number":28,"context_line":"        m \u003d re.search(\u0027^([0-9.,]+?)m\u0027, s)"},{"line_number":29,"context_line":"        if m:"},{"line_number":30,"context_line":"            return int(math.ceil(locale.atof(m.group(1))))"},{"line_number":31,"context_line":"        raise ValueError(\u0027Cannot parse string: %s\u0027 % s)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWn%2F%2F4Lw%3D","line":28,"updated":"2014-04-08 19:36:19.000000000","message":"agordeev\u0027s comment on an earlier patchset is still relevant here:\n\nQuote:\nI might be wrong, but in another locale \"123.45m\" could be easily represented as \"123,45m\". So the search to be failed\nAlso, it might be better to convert \u0027123.45\u0027 to 124. The reason is to avoid space overcommitment\n\nlocale.localeconv()[\u0027decimal_point\u0027] to the rescue","commit_id":"a01f4935296b9fa1d70a4f8745dd37e3872e904e"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"55b8cd0697bbd0976c79976cb1cf3b9b4271f53a","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def pvdisplay(self):"},{"line_number":46,"context_line":"        # unit m means MiB (powers of 2)"},{"line_number":47,"context_line":"        result \u003d utils.execute(\u0027pvdisplay\u0027, \u0027-C\u0027, \u0027--noheading\u0027, \u0027--units\u0027,"},{"line_number":48,"context_line":"            \u0027m\u0027, \u0027--options\u0027, \u0027pv_name,vg_name,pv_size,dev_size,pv_uuid\u0027,"},{"line_number":49,"context_line":"            \u0027--separator\u0027, \u0027;\u0027, check_exit_code\u003d[0])"},{"line_number":50,"context_line":"        pvs \u003d []"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAWn%2F%2F4Ks%3D","line":47,"updated":"2014-04-08 19:36:19.000000000","message":"nit: this would be much easier to read if each option were on it\u0027s own line, like this:\n\n`\nresult \u003d utils.execute(\n             \u0027command\u0027,\n             \u0027option1\u0027,\n             \u0027option2\u0027)\n`\n\nWhat you did on line #70 is a good example of what I mean.","commit_id":"a01f4935296b9fa1d70a4f8745dd37e3872e904e"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"78ad3140372cc6e176d480c91d7215c9be955d28","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        # Converts \u0027123.45m\u0027 string into 124 integer"},{"line_number":27,"context_line":"        # and raises exception if unit is not MiB"},{"line_number":28,"context_line":"        m \u003d re.search(\u0027^([0-9]+([%s][0-9]+)?)m\u0027 %"},{"line_number":29,"context_line":"                      locale.localeconv()[\u0027decimal_point\u0027], s)"},{"line_number":30,"context_line":"        if m:"},{"line_number":31,"context_line":"            return int(math.ceil(locale.atof(m.group(1))))"},{"line_number":32,"context_line":"        raise ValueError(\u0027Cannot parse string: %s\u0027 % s)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWn%2F%2F30c%3D","line":29,"updated":"2014-04-08 20:16:23.000000000","message":"if locale.localeconf()[\u0027decimal_point\u0027] returns a \u0027.\u0027, it\u0027ll be added to your regexp unescaped. This is probably bad.\n\nWhy not split() on locale.localeconv()[\u0027decimal_point\u0027] and take the first item in the list?","commit_id":"04876d295af4eafc1b13d1fe0c132d0efb113b20"},{"author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"change_message_id":"d25135ab1448da7aba3bad48a21c72c560436de3","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        # Converts \u0027123.45m\u0027 string into 124 integer"},{"line_number":27,"context_line":"        # and raises exception if unit is not MiB"},{"line_number":28,"context_line":"        m \u003d re.search(\u0027^([0-9]+([%s][0-9]+)?)m\u0027 %"},{"line_number":29,"context_line":"                      locale.localeconv()[\u0027decimal_point\u0027], s)"},{"line_number":30,"context_line":"        if m:"},{"line_number":31,"context_line":"            return int(math.ceil(locale.atof(m.group(1))))"},{"line_number":32,"context_line":"        raise ValueError(\u0027Cannot parse string: %s\u0027 % s)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2F9bc%3D","line":29,"in_reply_to":"AAAAW3%2F%2F9gc%3D","updated":"2014-04-09 08:37:03.000000000","message":"I doubt that it is so principal to avoid using regexps","commit_id":"04876d295af4eafc1b13d1fe0c132d0efb113b20"},{"author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"change_message_id":"41595d49ce2a363b7388915ca34639892f9a7f73","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        # Converts \u0027123.45m\u0027 string into 124 integer"},{"line_number":27,"context_line":"        # and raises exception if unit is not MiB"},{"line_number":28,"context_line":"        m \u003d re.search(\u0027^([0-9]+([%s][0-9]+)?)m\u0027 %"},{"line_number":29,"context_line":"                      locale.localeconv()[\u0027decimal_point\u0027], s)"},{"line_number":30,"context_line":"        if m:"},{"line_number":31,"context_line":"            return int(math.ceil(locale.atof(m.group(1))))"},{"line_number":32,"context_line":"        raise ValueError(\u0027Cannot parse string: %s\u0027 % s)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWn%2F%2F3sU%3D","line":29,"in_reply_to":"AAAAWn%2F%2F30c%3D","updated":"2014-04-08 20:27:46.000000000","message":"If dot is in square brackets it\u0027s ok.\n\nI think using regexp is correct here because we can\u0027t be sure that input string has the correct unit. I mean for example \u0027123.00M\u0027 instead of \u0027123.00m\u0027. If someone changes pvdisplay method and uses another unit we will immediately know that thanks to using regexp.","commit_id":"04876d295af4eafc1b13d1fe0c132d0efb113b20"},{"author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"change_message_id":"a5e815c1267c70a7a1a8bd10f2bfbd550f8d532b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        # Converts \u0027123.45m\u0027 string into 124 integer"},{"line_number":27,"context_line":"        # and raises exception if unit is not MiB"},{"line_number":28,"context_line":"        m \u003d re.search(\u0027^([0-9]+([%s][0-9]+)?)m\u0027 %"},{"line_number":29,"context_line":"                      locale.localeconv()[\u0027decimal_point\u0027], s)"},{"line_number":30,"context_line":"        if m:"},{"line_number":31,"context_line":"            return int(math.ceil(locale.atof(m.group(1))))"},{"line_number":32,"context_line":"        raise ValueError(\u0027Cannot parse string: %s\u0027 % s)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWn%2F%2F3rA%3D","line":29,"in_reply_to":"AAAAWn%2F%2F3sU%3D","updated":"2014-04-08 20:31:42.000000000","message":"Another reason is that I want 123.00 to be converted into 123, but 123.01 into 124 (according to previous comment from agordeev). It is for avoiding overlaps. It is much easier to parse such a case using regexp.","commit_id":"04876d295af4eafc1b13d1fe0c132d0efb113b20"},{"author":{"_account_id":8003,"name":"Aleksandr Gordeev","email":"agordeev@mirantis.com","username":"agordeev"},"change_message_id":"df53e05ae49a43ccc391b85a07491e01914476b6","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        # Converts \u0027123.45m\u0027 string into 124 integer"},{"line_number":27,"context_line":"        # and raises exception if unit is not MiB"},{"line_number":28,"context_line":"        m \u003d re.search(\u0027^([0-9]+([%s][0-9]+)?)m\u0027 %"},{"line_number":29,"context_line":"                      locale.localeconv()[\u0027decimal_point\u0027], s)"},{"line_number":30,"context_line":"        if m:"},{"line_number":31,"context_line":"            return int(math.ceil(locale.atof(m.group(1))))"},{"line_number":32,"context_line":"        raise ValueError(\u0027Cannot parse string: %s\u0027 % s)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2F9gc%3D","line":29,"in_reply_to":"AAAAWn%2F%2F3sU%3D","updated":"2014-04-09 08:24:38.000000000","message":"I doubt if it\u0027s still possible to get \u0027123.00M\u0027 instead of \u0027123.00m\u0027 if you\u0027re enforcing displaying unit to \u0027m\u0027 explicitly by adding \u0027--units m\u0027 to pvdisplay.\n\nPlease use split by \u0027m\u0027","commit_id":"04876d295af4eafc1b13d1fe0c132d0efb113b20"}],"ironic_python_agent/tests/lvm_partitioner.py":[{"author":{"_account_id":8003,"name":"Aleksandr Gordeev","email":"agordeev@mirantis.com","username":"agordeev"},"change_message_id":"150000dbca49aaa8359eee88c747c80cdef33341","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import mock"},{"line_number":18,"context_line":"import testtools"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from ironic_python_agent import errors"},{"line_number":21,"context_line":"from ironic_python_agent import lvm_partitioner"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9SDQ%3D","line":18,"updated":"2014-04-07 12:47:19.000000000","message":"Not a long time ago, IPA tests had been switched to oslotest\n\nhttps://github.com/openstack/ironic-python-agent/commit/1a87ebfcce7be6e10bed23b64f87a0110e76a22b","commit_id":"0e853a850de3fce542ae3b1699ad82e8875a9935"}],"tox.ini":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"d6552354206bd0dbaad97d583305bb979afa1324","unresolved":false,"context_lines":[{"line_number":23,"context_line":"deps \u003d unittest2"},{"line_number":24,"context_line":"       -r{toxinidir}/requirements.txt"},{"line_number":25,"context_line":"       -r{toxinidir}/test-requirements.txt"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"[testenv:cover]"},{"line_number":28,"context_line":"setenv \u003d VIRTUAL_ENV\u003d{envdir}"},{"line_number":29,"context_line":"commands \u003d"}],"source_content_type":"text/x-properties","patch_set":4,"id":"AAAAWH%2F9PRU%3D","line":26,"updated":"2014-04-07 18:33:47.000000000","message":"What\u0027s the motivation behind this?","commit_id":"78e3072c67b27aca68ebf5ec31ed119c9e19af23"},{"author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"change_message_id":"d58da5923b72869a4ed9fa6dc7ea67db192cc7d1","unresolved":false,"context_lines":[{"line_number":23,"context_line":"deps \u003d unittest2"},{"line_number":24,"context_line":"       -r{toxinidir}/requirements.txt"},{"line_number":25,"context_line":"       -r{toxinidir}/test-requirements.txt"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"[testenv:cover]"},{"line_number":28,"context_line":"setenv \u003d VIRTUAL_ENV\u003d{envdir}"},{"line_number":29,"context_line":"commands \u003d"}],"source_content_type":"text/x-properties","patch_set":4,"id":"AAAAWH%2F9PNA%3D","line":26,"in_reply_to":"AAAAWH%2F9PRU%3D","updated":"2014-04-07 18:40:41.000000000","message":"It is just my attempt to fix py26 tests. Anyway, not succeeded. Will remove.","commit_id":"78e3072c67b27aca68ebf5ec31ed119c9e19af23"}]}
