)]}'
{"oslo/vmware/objects/datastore.py":[{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"d8a27a063d24b0eee77a557a4cb67e2ae05b284f","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        the datastore is mounted."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        :param: session: session"},{"line_number":79,"context_line":"        :return: list of HostSystem managed objects"},{"line_number":80,"context_line":"        \"\"\""},{"line_number":81,"context_line":"        hosts \u003d []"},{"line_number":82,"context_line":"        host_mounts \u003d vim_util.get_object_property(session.vim,"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_d0b7c038","line":79,"updated":"2014-07-23 21:42:18.000000000","message":"managed objects -\u003e manage object references","commit_id":"1261bbaf07dfd02c2c8d5a85b8c55ea3577e4f38"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"1dc68ed879a37b7451899b417f03a3de986a6300","unresolved":false,"context_lines":[{"line_number":93,"context_line":"      a single space."},{"line_number":94,"context_line":"    \"\"\""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    VMDK_EXTENSION \u003d \"vmdk\""},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __init__(self, datastore_name, *paths):"},{"line_number":99,"context_line":"        if datastore_name is None or datastore_name \u003d\u003d \u0027\u0027:"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_2b115c53","line":96,"updated":"2014-07-24 12:05:55.000000000","message":"This can be removed.","commit_id":"bd70e7252c0e3398e9634bb2f1ffa7c849a7784a"},{"author":{"_account_id":8759,"name":"Arnaud Legendre","email":"arnaudleg@gmail.com","username":"arnaud"},"change_message_id":"19a0dc7904e74220d12dc05bd24c14fbe8dd6c96","unresolved":false,"context_lines":[{"line_number":93,"context_line":"      a single space."},{"line_number":94,"context_line":"    \"\"\""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    VMDK_EXTENSION \u003d \"vmdk\""},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __init__(self, datastore_name, *paths):"},{"line_number":99,"context_line":"        if datastore_name is None or datastore_name \u003d\u003d \u0027\u0027:"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_4cc7ad11","line":96,"in_reply_to":"baada198_2b115c53","updated":"2014-07-30 21:36:16.000000000","message":"Done","commit_id":"bd70e7252c0e3398e9634bb2f1ffa7c849a7784a"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"1dc68ed879a37b7451899b417f03a3de986a6300","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __init__(self, datastore_name, *paths):"},{"line_number":99,"context_line":"        if datastore_name is None or datastore_name \u003d\u003d \u0027\u0027:"},{"line_number":100,"context_line":"            raise ValueError(_(\"datastore name empty\"))"},{"line_number":101,"context_line":"        self._datastore_name \u003d datastore_name"},{"line_number":102,"context_line":"        self._rel_path \u003d \u0027\u0027"},{"line_number":103,"context_line":"        if paths:"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_cb2700b4","line":100,"updated":"2014-07-24 12:05:55.000000000","message":"Datastore name cannot be empty?","commit_id":"bd70e7252c0e3398e9634bb2f1ffa7c849a7784a"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"b8b12f6ef3367b6972d3cd20fde0027df9134ed1","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __init__(self, datastore_name, *paths):"},{"line_number":99,"context_line":"        if datastore_name is None or datastore_name \u003d\u003d \u0027\u0027:"},{"line_number":100,"context_line":"            raise ValueError(_(\"datastore name empty\"))"},{"line_number":101,"context_line":"        self._datastore_name \u003d datastore_name"},{"line_number":102,"context_line":"        self._rel_path \u003d \u0027\u0027"},{"line_number":103,"context_line":"        if paths:"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_a68bbd67","line":100,"in_reply_to":"baada198_95918154","updated":"2014-07-25 07:35:59.000000000","message":"I agree.\nActually I meant rephrasing the error message.","commit_id":"bd70e7252c0e3398e9634bb2f1ffa7c849a7784a"},{"author":{"_account_id":8759,"name":"Arnaud Legendre","email":"arnaudleg@gmail.com","username":"arnaud"},"change_message_id":"19a0dc7904e74220d12dc05bd24c14fbe8dd6c96","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __init__(self, datastore_name, *paths):"},{"line_number":99,"context_line":"        if datastore_name is None or datastore_name \u003d\u003d \u0027\u0027:"},{"line_number":100,"context_line":"            raise ValueError(_(\"datastore name empty\"))"},{"line_number":101,"context_line":"        self._datastore_name \u003d datastore_name"},{"line_number":102,"context_line":"        self._rel_path \u003d \u0027\u0027"},{"line_number":103,"context_line":"        if paths:"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_6ce551a3","line":100,"in_reply_to":"baada198_a68bbd67","updated":"2014-07-30 21:36:16.000000000","message":"Done","commit_id":"bd70e7252c0e3398e9634bb2f1ffa7c849a7784a"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"efc244d0bf13a716cbef125435546402215865c0","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __init__(self, datastore_name, *paths):"},{"line_number":99,"context_line":"        if datastore_name is None or datastore_name \u003d\u003d \u0027\u0027:"},{"line_number":100,"context_line":"            raise ValueError(_(\"datastore name empty\"))"},{"line_number":101,"context_line":"        self._datastore_name \u003d datastore_name"},{"line_number":102,"context_line":"        self._rel_path \u003d \u0027\u0027"},{"line_number":103,"context_line":"        if paths:"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_95918154","line":100,"in_reply_to":"baada198_cb2700b4","updated":"2014-07-25 05:42:08.000000000","message":"It\u0027s true that form is allowed in many places on the server, but unless there is a scenario where the openstack code need to use it, I think it is better to impose the constraint that datastore name has to be non-empty.","commit_id":"bd70e7252c0e3398e9634bb2f1ffa7c849a7784a"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"1dc68ed879a37b7451899b417f03a3de986a6300","unresolved":false,"context_lines":[{"line_number":131,"context_line":"    def rel_path(self):"},{"line_number":132,"context_line":"        return self._rel_path"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    def join(self, *paths):"},{"line_number":135,"context_line":"        if paths:"},{"line_number":136,"context_line":"            if None in paths:"},{"line_number":137,"context_line":"                raise ValueError(_(\"path component cannot be None\"))"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_cb38e0a1","line":134,"updated":"2014-07-24 12:05:55.000000000","message":"Please provide doc comment for this method.","commit_id":"bd70e7252c0e3398e9634bb2f1ffa7c849a7784a"},{"author":{"_account_id":8759,"name":"Arnaud Legendre","email":"arnaudleg@gmail.com","username":"arnaud"},"change_message_id":"19a0dc7904e74220d12dc05bd24c14fbe8dd6c96","unresolved":false,"context_lines":[{"line_number":131,"context_line":"    def rel_path(self):"},{"line_number":132,"context_line":"        return self._rel_path"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    def join(self, *paths):"},{"line_number":135,"context_line":"        if paths:"},{"line_number":136,"context_line":"            if None in paths:"},{"line_number":137,"context_line":"                raise ValueError(_(\"path component cannot be None\"))"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_67a80a8d","line":134,"in_reply_to":"baada198_cb38e0a1","updated":"2014-07-30 21:36:16.000000000","message":"Done","commit_id":"bd70e7252c0e3398e9634bb2f1ffa7c849a7784a"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"1dc68ed879a37b7451899b417f03a3de986a6300","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            if None in paths:"},{"line_number":137,"context_line":"                raise ValueError(_(\"path component cannot be None\"))"},{"line_number":138,"context_line":"            return DatastorePath(self.datastore,"},{"line_number":139,"context_line":"                                 posixpath.join(self._rel_path, *paths))"},{"line_number":140,"context_line":"        return self"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def __eq__(self, other):"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_0be9f8b6","line":139,"updated":"2014-07-24 12:05:55.000000000","message":"There is join in __init__.\nreturn DatastorePath(self.datastore, self._rel_path, *paths)","commit_id":"bd70e7252c0e3398e9634bb2f1ffa7c849a7784a"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"efc244d0bf13a716cbef125435546402215865c0","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            if None in paths:"},{"line_number":137,"context_line":"                raise ValueError(_(\"path component cannot be None\"))"},{"line_number":138,"context_line":"            return DatastorePath(self.datastore,"},{"line_number":139,"context_line":"                                 posixpath.join(self._rel_path, *paths))"},{"line_number":140,"context_line":"        return self"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def __eq__(self, other):"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_95e34104","line":139,"in_reply_to":"baada198_0be9f8b6","updated":"2014-07-25 05:42:08.000000000","message":"yep, of course","commit_id":"bd70e7252c0e3398e9634bb2f1ffa7c849a7784a"},{"author":{"_account_id":8759,"name":"Arnaud Legendre","email":"arnaudleg@gmail.com","username":"arnaud"},"change_message_id":"19a0dc7904e74220d12dc05bd24c14fbe8dd6c96","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            if None in paths:"},{"line_number":137,"context_line":"                raise ValueError(_(\"path component cannot be None\"))"},{"line_number":138,"context_line":"            return DatastorePath(self.datastore,"},{"line_number":139,"context_line":"                                 posixpath.join(self._rel_path, *paths))"},{"line_number":140,"context_line":"        return self"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def __eq__(self, other):"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_cc03bd0f","line":139,"in_reply_to":"baada198_95e34104","updated":"2014-07-30 21:36:16.000000000","message":"Done","commit_id":"bd70e7252c0e3398e9634bb2f1ffa7c849a7784a"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"1dc68ed879a37b7451899b417f03a3de986a6300","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    def parse(cls, datastore_path):"},{"line_number":149,"context_line":"        \"\"\"Constructs a DatastorePath object given a datastore path string.\"\"\""},{"line_number":150,"context_line":"        if not datastore_path:"},{"line_number":151,"context_line":"            raise ValueError(_(\"datastore path empty\"))"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        spl \u003d datastore_path.split(\u0027[\u0027, 1)[1].split(\u0027]\u0027, 1)"},{"line_number":154,"context_line":"        path \u003d \"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_8b4268a9","line":151,"updated":"2014-07-24 12:05:55.000000000","message":"Datastore path cannot be empty?","commit_id":"bd70e7252c0e3398e9634bb2f1ffa7c849a7784a"},{"author":{"_account_id":8759,"name":"Arnaud Legendre","email":"arnaudleg@gmail.com","username":"arnaud"},"change_message_id":"19a0dc7904e74220d12dc05bd24c14fbe8dd6c96","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    def parse(cls, datastore_path):"},{"line_number":149,"context_line":"        \"\"\"Constructs a DatastorePath object given a datastore path string.\"\"\""},{"line_number":150,"context_line":"        if not datastore_path:"},{"line_number":151,"context_line":"            raise ValueError(_(\"datastore path empty\"))"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        spl \u003d datastore_path.split(\u0027[\u0027, 1)[1].split(\u0027]\u0027, 1)"},{"line_number":154,"context_line":"        path \u003d \"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_0c8bf5c0","line":151,"in_reply_to":"baada198_8b4268a9","updated":"2014-07-30 21:36:16.000000000","message":"Done","commit_id":"bd70e7252c0e3398e9634bb2f1ffa7c849a7784a"}]}
