)]}'
{"doc/source/glancemetadefcatalogapi.rst":[{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"c788c1c1dffd01999ee6d8979694c1a081c30a2d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"      Unless required by applicable law or agreed to in writing, software"},{"line_number":12,"context_line":"      distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":13,"context_line":"      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or"},{"line_number":14,"context_line":"      implied. "},{"line_number":15,"context_line":"      See the License for the specific language governing permissions and"},{"line_number":16,"context_line":"      limitations under the License."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":81,"id":"1abeadc6_781d7472","line":14,"updated":"2014-08-29 20:55:14.000000000","message":"ws left over , can  you please remove in a separate patch?","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"}],"glance/api/authorization.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"09646f455fbf43c03376ffa0245481bed72f9d08","unresolved":false,"context_lines":[{"line_number":496,"context_line":"        message \u003d _(\"You are not permitted to delete this namespace.\")"},{"line_number":497,"context_line":"        raise exception.Forbidden(message)"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"    def save(self):"},{"line_number":500,"context_line":"        message \u003d _(\"You are not permitted to update this namespace.\")"},{"line_number":501,"context_line":"        raise exception.Forbidden(message)"},{"line_number":502,"context_line":""}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_0ac0c64e","line":499,"updated":"2014-08-29 07:42:35.000000000","message":"I see \u0027save\u0027 is a NamespaceRepo function, but Namespace (domain and proxy) has no this function. So seems we need to move this logic to MetadefNamespaceRepoProxy?","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6dfa2d5acc2f0f00802e2362164143596f651c9c","unresolved":false,"context_lines":[{"line_number":496,"context_line":"        message \u003d _(\"You are not permitted to delete this namespace.\")"},{"line_number":497,"context_line":"        raise exception.Forbidden(message)"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"    def save(self):"},{"line_number":500,"context_line":"        message \u003d _(\"You are not permitted to update this namespace.\")"},{"line_number":501,"context_line":"        raise exception.Forbidden(message)"},{"line_number":502,"context_line":""}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_354dd13e","line":499,"in_reply_to":"1abeadc6_0ac0c64e","updated":"2014-08-29 14:24:10.000000000","message":"save and remove are in parent class of MetadefNamespaceRepoProxy which is glance.domain.proxy.MetadefNamespaceRepo Line # 259(save) and #244(remove)\n\nwhich is similar to what Task does in \nglance.domain.proxy.TaskRepo - Line #60 and #63","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"9a8d383a7a9d50b6579e1cbb12440dfdf01f65f9","unresolved":false,"context_lines":[{"line_number":496,"context_line":"        message \u003d _(\"You are not permitted to delete this namespace.\")"},{"line_number":497,"context_line":"        raise exception.Forbidden(message)"},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"    def save(self):"},{"line_number":500,"context_line":"        message \u003d _(\"You are not permitted to update this namespace.\")"},{"line_number":501,"context_line":"        raise exception.Forbidden(message)"},{"line_number":502,"context_line":""}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_afe6edad","line":499,"in_reply_to":"1abeadc6_354dd13e","updated":"2014-08-29 15:44:32.000000000","message":"will look at Image as base to model after","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"09646f455fbf43c03376ffa0245481bed72f9d08","unresolved":false,"context_lines":[{"line_number":547,"context_line":"        return [proxy_namespace(self.context, namespace) for"},{"line_number":548,"context_line":"                namespace in namespaces]"},{"line_number":549,"context_line":""},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"#Metadef Object classes"},{"line_number":552,"context_line":"def is_object_mutable(context, object):"},{"line_number":553,"context_line":"    \"\"\"Return True if the object is mutable in this context.\"\"\""}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_0a37e6ff","line":550,"updated":"2014-08-29 07:42:35.000000000","message":"imho, remove*() and add() should be hooked as well at here, for example line #144.\n\nsame idea for other md entities at below.","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6dfa2d5acc2f0f00802e2362164143596f651c9c","unresolved":false,"context_lines":[{"line_number":547,"context_line":"        return [proxy_namespace(self.context, namespace) for"},{"line_number":548,"context_line":"                namespace in namespaces]"},{"line_number":549,"context_line":""},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"#Metadef Object classes"},{"line_number":552,"context_line":"def is_object_mutable(context, object):"},{"line_number":553,"context_line":"    \"\"\"Return True if the object is mutable in this context.\"\"\""}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_d50addd0","line":550,"in_reply_to":"1abeadc6_0a37e6ff","updated":"2014-08-29 14:24:10.000000000","message":"Same as above. Following similar to TaskRepo","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"9a8d383a7a9d50b6579e1cbb12440dfdf01f65f9","unresolved":false,"context_lines":[{"line_number":547,"context_line":"        return [proxy_namespace(self.context, namespace) for"},{"line_number":548,"context_line":"                namespace in namespaces]"},{"line_number":549,"context_line":""},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"#Metadef Object classes"},{"line_number":552,"context_line":"def is_object_mutable(context, object):"},{"line_number":553,"context_line":"    \"\"\"Return True if the object is mutable in this context.\"\"\""}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_cf132963","line":550,"in_reply_to":"1abeadc6_d50addd0","updated":"2014-08-29 15:44:32.000000000","message":"Will do","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"09646f455fbf43c03376ffa0245481bed72f9d08","unresolved":false,"context_lines":[{"line_number":585,"context_line":"        message \u003d _(\"You are not permitted to delete this object.\")"},{"line_number":586,"context_line":"        raise exception.Forbidden(message)"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def save(self):"},{"line_number":589,"context_line":"        message \u003d _(\"You are not permitted to update this object.\")"},{"line_number":590,"context_line":"        raise exception.Forbidden(message)"},{"line_number":591,"context_line":""}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_6a7e9a1a","line":588,"updated":"2014-08-29 07:42:35.000000000","message":"ditto","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"9a8d383a7a9d50b6579e1cbb12440dfdf01f65f9","unresolved":false,"context_lines":[{"line_number":585,"context_line":"        message \u003d _(\"You are not permitted to delete this object.\")"},{"line_number":586,"context_line":"        raise exception.Forbidden(message)"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def save(self):"},{"line_number":589,"context_line":"        message \u003d _(\"You are not permitted to update this object.\")"},{"line_number":590,"context_line":"        raise exception.Forbidden(message)"},{"line_number":591,"context_line":""}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_126aa619","line":588,"in_reply_to":"1abeadc6_55f6cdd7","updated":"2014-08-29 15:44:32.000000000","message":"Will do","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6dfa2d5acc2f0f00802e2362164143596f651c9c","unresolved":false,"context_lines":[{"line_number":585,"context_line":"        message \u003d _(\"You are not permitted to delete this object.\")"},{"line_number":586,"context_line":"        raise exception.Forbidden(message)"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"    def save(self):"},{"line_number":589,"context_line":"        message \u003d _(\"You are not permitted to update this object.\")"},{"line_number":590,"context_line":"        raise exception.Forbidden(message)"},{"line_number":591,"context_line":""}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_55f6cdd7","line":588,"in_reply_to":"1abeadc6_6a7e9a1a","updated":"2014-08-29 14:24:10.000000000","message":"Same as above. Following similar to TaskRepo","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"09646f455fbf43c03376ffa0245481bed72f9d08","unresolved":false,"context_lines":[{"line_number":757,"context_line":"        message \u003d _(\"You are not permitted to delete this property.\")"},{"line_number":758,"context_line":"        raise exception.Forbidden(message)"},{"line_number":759,"context_line":""},{"line_number":760,"context_line":"    def save(self):"},{"line_number":761,"context_line":"        message \u003d _(\"You are not permitted to update this property.\")"},{"line_number":762,"context_line":"        raise exception.Forbidden(message)"},{"line_number":763,"context_line":""}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_aac27231","line":760,"updated":"2014-08-29 07:42:35.000000000","message":"ditto","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6dfa2d5acc2f0f00802e2362164143596f651c9c","unresolved":false,"context_lines":[{"line_number":757,"context_line":"        message \u003d _(\"You are not permitted to delete this property.\")"},{"line_number":758,"context_line":"        raise exception.Forbidden(message)"},{"line_number":759,"context_line":""},{"line_number":760,"context_line":"    def save(self):"},{"line_number":761,"context_line":"        message \u003d _(\"You are not permitted to update this property.\")"},{"line_number":762,"context_line":"        raise exception.Forbidden(message)"},{"line_number":763,"context_line":""}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_d531fda2","line":760,"in_reply_to":"1abeadc6_aac27231","updated":"2014-08-29 14:24:10.000000000","message":"Same as above. Following similar to TaskRepo","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"}],"glance/api/policy.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"09646f455fbf43c03376ffa0245481bed72f9d08","unresolved":false,"context_lines":[{"line_number":419,"context_line":""},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"#Metadef Namespace classes"},{"line_number":422,"context_line":"class MetadefNamespaceProxy(glance.domain.proxy.MetadefNamespace):"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"    def __init__(self, namespace, context, policy):"},{"line_number":425,"context_line":"        self.namespace_input \u003d namespace"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_0d9b8018","line":422,"updated":"2014-08-29 07:42:35.000000000","message":"same question as line #527","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6dfa2d5acc2f0f00802e2362164143596f651c9c","unresolved":false,"context_lines":[{"line_number":419,"context_line":""},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"#Metadef Namespace classes"},{"line_number":422,"context_line":"class MetadefNamespaceProxy(glance.domain.proxy.MetadefNamespace):"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"    def __init__(self, namespace, context, policy):"},{"line_number":425,"context_line":"        self.namespace_input \u003d namespace"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_55924d57","line":422,"in_reply_to":"1abeadc6_0d9b8018","updated":"2014-08-29 14:24:10.000000000","message":"Same as above. Following similar to TaskProxy (Line 348).","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"09646f455fbf43c03376ffa0245481bed72f9d08","unresolved":false,"context_lines":[{"line_number":455,"context_line":"    def add(self, namespace):"},{"line_number":456,"context_line":"        self.policy.enforce(self.context, \u0027add_metadef_namespace\u0027, {})"},{"line_number":457,"context_line":"        return super(MetadefNamespaceRepoProxy, self).add(namespace)"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"class MetadefNamespaceFactoryProxy("},{"line_number":461,"context_line":"        glance.domain.proxy.MetadefNamespaceFactory):"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_0d7aa087","line":458,"updated":"2014-08-29 07:42:35.000000000","message":"so why not gives a chance to allow operator set policy for \u0027remove\u0027 op, e.g. \u0027delete_metadef_namespace\u0027, \u0027delete_metadef_object\u0027, \u0027delete_metadef_property\u0027 and \u0027delete_metadef_resourcetype\u0027?","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6dfa2d5acc2f0f00802e2362164143596f651c9c","unresolved":false,"context_lines":[{"line_number":455,"context_line":"    def add(self, namespace):"},{"line_number":456,"context_line":"        self.policy.enforce(self.context, \u0027add_metadef_namespace\u0027, {})"},{"line_number":457,"context_line":"        return super(MetadefNamespaceRepoProxy, self).add(namespace)"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"class MetadefNamespaceFactoryProxy("},{"line_number":461,"context_line":"        glance.domain.proxy.MetadefNamespaceFactory):"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_f580b9f8","line":458,"in_reply_to":"1abeadc6_0d7aa087","updated":"2014-08-29 14:24:10.000000000","message":"Will do","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"09646f455fbf43c03376ffa0245481bed72f9d08","unresolved":false,"context_lines":[{"line_number":457,"context_line":"        return super(MetadefNamespaceRepoProxy, self).add(namespace)"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"class MetadefNamespaceFactoryProxy("},{"line_number":461,"context_line":"        glance.domain.proxy.MetadefNamespaceFactory):"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"    def __init__(self, meta_namespace_factory, context, policy):"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_4d6f38fc","line":460,"updated":"2014-08-29 07:42:35.000000000","message":"same question as following","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6dfa2d5acc2f0f00802e2362164143596f651c9c","unresolved":false,"context_lines":[{"line_number":457,"context_line":"        return super(MetadefNamespaceRepoProxy, self).add(namespace)"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"class MetadefNamespaceFactoryProxy("},{"line_number":461,"context_line":"        glance.domain.proxy.MetadefNamespaceFactory):"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"    def __init__(self, meta_namespace_factory, context, policy):"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_956f855f","line":460,"in_reply_to":"1abeadc6_4d6f38fc","updated":"2014-08-29 14:24:10.000000000","message":"Same as above. Following similar to TaskFactoryProxy (Line 408).","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"09646f455fbf43c03376ffa0245481bed72f9d08","unresolved":false,"context_lines":[{"line_number":472,"context_line":""},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"#Metadef Object classes"},{"line_number":475,"context_line":"class MetadefObjectProxy(glance.domain.proxy.MetadefObject):"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def __init__(self, meta_object, context, policy):"},{"line_number":478,"context_line":"        self.meta_object \u003d meta_object"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_4dead874","line":475,"updated":"2014-08-29 07:42:35.000000000","message":"same question as following","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6dfa2d5acc2f0f00802e2362164143596f651c9c","unresolved":false,"context_lines":[{"line_number":472,"context_line":""},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"#Metadef Object classes"},{"line_number":475,"context_line":"class MetadefObjectProxy(glance.domain.proxy.MetadefObject):"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def __init__(self, meta_object, context, policy):"},{"line_number":478,"context_line":"        self.meta_object \u003d meta_object"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_35a5d1a1","line":475,"in_reply_to":"1abeadc6_4dead874","updated":"2014-08-29 14:24:10.000000000","message":"Same as above. Following similar to TaskProxy (Line 348).","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"09646f455fbf43c03376ffa0245481bed72f9d08","unresolved":false,"context_lines":[{"line_number":510,"context_line":"        return super(MetadefObjectRepoProxy, self).add(meta_object)"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"class MetadefObjectFactoryProxy(glance.domain.proxy.MetadefObjectFactory):"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"    def __init__(self, meta_object_factory, context, policy):"},{"line_number":516,"context_line":"        self.meta_object_factory \u003d meta_object_factory"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_2de75cad","line":513,"updated":"2014-08-29 07:42:35.000000000","message":"same question as following","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6dfa2d5acc2f0f00802e2362164143596f651c9c","unresolved":false,"context_lines":[{"line_number":510,"context_line":"        return super(MetadefObjectRepoProxy, self).add(meta_object)"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"class MetadefObjectFactoryProxy(glance.domain.proxy.MetadefObjectFactory):"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"    def __init__(self, meta_object_factory, context, policy):"},{"line_number":516,"context_line":"        self.meta_object_factory \u003d meta_object_factory"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_55c7ad44","line":513,"in_reply_to":"1abeadc6_2de75cad","updated":"2014-08-29 14:24:10.000000000","message":"Same as above. Following similar to TaskFactoryProxy (Line 408).","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"09646f455fbf43c03376ffa0245481bed72f9d08","unresolved":false,"context_lines":[{"line_number":524,"context_line":""},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"#Metadef ResourceType classes"},{"line_number":527,"context_line":"class MetadefResourceTypeProxy(glance.domain.proxy.MetadefResourceType):"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"    def __init__(self, meta_resource_type, context, policy):"},{"line_number":530,"context_line":"        self.meta_resource_type \u003d meta_resource_type"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_ed2d64ff","line":527,"updated":"2014-08-29 07:42:35.000000000","message":"so do we really need this class? actually there is no any logic for this entity in policy layer. if so, seems we can move factory proxies policy layer provided out from domain (gateway.py) directly, imho.","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"16f0912b1be4bdd6501a99bf1d9e93b079513562","unresolved":false,"context_lines":[{"line_number":524,"context_line":""},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"#Metadef ResourceType classes"},{"line_number":527,"context_line":"class MetadefResourceTypeProxy(glance.domain.proxy.MetadefResourceType):"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"    def __init__(self, meta_resource_type, context, policy):"},{"line_number":530,"context_line":"        self.meta_resource_type \u003d meta_resource_type"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_754f446b","line":527,"in_reply_to":"1abeadc6_d5a65dc0","updated":"2014-08-29 16:05:25.000000000","message":"Sometime keep \"consistent\" is fine but i\u0027m not sure it\u0027s required when you proposed a new/dedicated function.\n\nI see this kind of hooks on Factory objects (and domain object proxy which related, like this) are redundant: no real hook logic in code and potential  performance affect, imo. but if i miss anything pls let me know, thanks.","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6dfa2d5acc2f0f00802e2362164143596f651c9c","unresolved":false,"context_lines":[{"line_number":524,"context_line":""},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"#Metadef ResourceType classes"},{"line_number":527,"context_line":"class MetadefResourceTypeProxy(glance.domain.proxy.MetadefResourceType):"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"    def __init__(self, meta_resource_type, context, policy):"},{"line_number":530,"context_line":"        self.meta_resource_type \u003d meta_resource_type"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_d5a65dc0","line":527,"in_reply_to":"1abeadc6_ed2d64ff","updated":"2014-08-29 14:24:10.000000000","message":"Same as above. Following similar to TaskProxy (Line 348).","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"09646f455fbf43c03376ffa0245481bed72f9d08","unresolved":false,"context_lines":[{"line_number":556,"context_line":"        return super(MetadefResourceTypeRepoProxy, self).add(resource_type)"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"class MetadefResourceTypeFactoryProxy("},{"line_number":560,"context_line":"        glance.domain.proxy.MetadefResourceTypeFactory):"},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"    def __init__(self, resource_type_factory, context, policy):"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_4dd3b8d4","line":559,"updated":"2014-08-29 07:42:35.000000000","message":"ditto, same question","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6dfa2d5acc2f0f00802e2362164143596f651c9c","unresolved":false,"context_lines":[{"line_number":556,"context_line":"        return super(MetadefResourceTypeRepoProxy, self).add(resource_type)"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"class MetadefResourceTypeFactoryProxy("},{"line_number":560,"context_line":"        glance.domain.proxy.MetadefResourceTypeFactory):"},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"    def __init__(self, resource_type_factory, context, policy):"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_d5e2ddd3","line":559,"in_reply_to":"1abeadc6_4dd3b8d4","updated":"2014-08-29 14:24:10.000000000","message":"Same as above. Following similar to TaskFactoryProxy (Line 408).","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"09646f455fbf43c03376ffa0245481bed72f9d08","unresolved":false,"context_lines":[{"line_number":613,"context_line":"            namespace_property)"},{"line_number":614,"context_line":""},{"line_number":615,"context_line":""},{"line_number":616,"context_line":"class MetadefPropertyFactoryProxy(glance.domain.proxy.MetadefPropertyFactory):"},{"line_number":617,"context_line":""},{"line_number":618,"context_line":"    def __init__(self, namespace_property_factory, context, policy):"},{"line_number":619,"context_line":"        self.namespace_property_factory \u003d namespace_property_factory"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_4db81875","line":616,"updated":"2014-08-29 07:42:35.000000000","message":"ditto, same question","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6dfa2d5acc2f0f00802e2362164143596f651c9c","unresolved":false,"context_lines":[{"line_number":613,"context_line":"            namespace_property)"},{"line_number":614,"context_line":""},{"line_number":615,"context_line":""},{"line_number":616,"context_line":"class MetadefPropertyFactoryProxy(glance.domain.proxy.MetadefPropertyFactory):"},{"line_number":617,"context_line":""},{"line_number":618,"context_line":"    def __init__(self, namespace_property_factory, context, policy):"},{"line_number":619,"context_line":"        self.namespace_property_factory \u003d namespace_property_factory"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_f5e519dc","line":616,"in_reply_to":"1abeadc6_4db81875","updated":"2014-08-29 14:24:10.000000000","message":"Same as above. Following similar to TaskFactoryProxy (Line 408).","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"}],"glance/api/v2/metadata_objects.py":[{"author":{"_account_id":8759,"name":"Arnaud Legendre","email":"arnaudleg@gmail.com","username":"arnaud"},"change_message_id":"a0d35e20652ae08710e54dddd4252d3233c4cdca","unresolved":false,"context_lines":[{"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."},{"line_number":5,"context_line":"# You may obtain a copy of the License at"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":8,"context_line":"#"},{"line_number":9,"context_line":"# Unless required by applicable law or agreed to in writing, software"}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_32cbc7a5","line":6,"updated":"2014-08-06 17:06:56.000000000","message":"please rename file to metadef_objects","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"3b61d9436b1c1209edaa9b5f6b60678b0b63143d","unresolved":false,"context_lines":[{"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."},{"line_number":5,"context_line":"# You may obtain a copy of the License at"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":8,"context_line":"#"},{"line_number":9,"context_line":"# Unless required by applicable law or agreed to in writing, software"}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_7b2b507c","line":6,"in_reply_to":"baada198_32cbc7a5","updated":"2014-08-06 23:29:25.000000000","message":"Done","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"51ca123d4f09df66aa3af3a366fecc7abdf1ab1b","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"CONF \u003d cfg.CONF"},{"line_number":44,"context_line":"CONF.import_opt(\u0027disk_formats\u0027, \u0027glance.common.config\u0027, group\u003d\u0027image_format\u0027)"},{"line_number":45,"context_line":"CONF.import_opt(\u0027container_formats\u0027, \u0027glance.common.config\u0027,"},{"line_number":46,"context_line":"                group\u003d\u0027image_format\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_e0d6dac3","line":45,"updated":"2014-08-06 17:37:02.000000000","message":"are these 2 CONFs needed in this file?","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"3b61d9436b1c1209edaa9b5f6b60678b0b63143d","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"CONF \u003d cfg.CONF"},{"line_number":44,"context_line":"CONF.import_opt(\u0027disk_formats\u0027, \u0027glance.common.config\u0027, group\u003d\u0027image_format\u0027)"},{"line_number":45,"context_line":"CONF.import_opt(\u0027container_formats\u0027, \u0027glance.common.config\u0027,"},{"line_number":46,"context_line":"                group\u003d\u0027image_format\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_b5409a60","line":45,"in_reply_to":"baada198_e0d6dac3","updated":"2014-08-06 23:29:25.000000000","message":"Done. Not required.","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"}],"glance/api/v2/metadata_tags.py":[{"author":{"_account_id":8759,"name":"Arnaud Legendre","email":"arnaudleg@gmail.com","username":"arnaud"},"change_message_id":"a0d35e20652ae08710e54dddd4252d3233c4cdca","unresolved":false,"context_lines":[{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"# Unless required by applicable law or agreed to in writing, software"},{"line_number":8,"context_line":"# distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":9,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or"},{"line_number":10,"context_line":"# implied."}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_b2b6f723","line":7,"updated":"2014-08-06 17:06:56.000000000","message":"please rename to metadef_tags","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"3b61d9436b1c1209edaa9b5f6b60678b0b63143d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"# Unless required by applicable law or agreed to in writing, software"},{"line_number":8,"context_line":"# distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":9,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or"},{"line_number":10,"context_line":"# implied."}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_7b42703c","line":7,"in_reply_to":"baada198_b2b6f723","updated":"2014-08-06 23:29:25.000000000","message":"Done","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"51ca123d4f09df66aa3af3a366fecc7abdf1ab1b","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        self.notifier \u003d notifier or glance.notifier.Notifier()"},{"line_number":45,"context_line":"        self.objects \u003d dict()"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @utils.mutating"},{"line_number":48,"context_line":"    def create(self, req, namespace, tag):"},{"line_number":49,"context_line":"        self.db_api.metadata_tag_create(req.context, namespace, tag.to_dict())"},{"line_number":50,"context_line":"        return tag"}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_c09e3606","line":47,"updated":"2014-08-06 17:37:02.000000000","message":"Can you please confirm if this decorator is necessary for utils?","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"}],"glance/api/v2/metadef_namespaces.py":[{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":149,"context_line":"            self._cleanup_namespace(ns_repo, namespace, namespace_created)"},{"line_number":150,"context_line":"            msg \u003d (_LE(\"Forbidden to create namespace. Reason: %(reason)s\")"},{"line_number":151,"context_line":"                   % {\u0027reason\u0027: utils.exception_to_str(e)})"},{"line_number":152,"context_line":"            LOG.error(msg)"},{"line_number":153,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg)"},{"line_number":154,"context_line":"        except exception.NotFound as e:"},{"line_number":155,"context_line":"            self._cleanup_namespace(ns_repo, namespace, namespace_created)"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_1ed228d2","line":152,"updated":"2014-08-27 09:23:47.000000000","message":"How about logging this as WARNING?\nI don\u0027t think forbidden creation is aligned with rest of our ERROR level logging.","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":149,"context_line":"            self._cleanup_namespace(ns_repo, namespace, namespace_created)"},{"line_number":150,"context_line":"            msg \u003d (_LE(\"Forbidden to create namespace. Reason: %(reason)s\")"},{"line_number":151,"context_line":"                   % {\u0027reason\u0027: utils.exception_to_str(e)})"},{"line_number":152,"context_line":"            LOG.error(msg)"},{"line_number":153,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg)"},{"line_number":154,"context_line":"        except exception.NotFound as e:"},{"line_number":155,"context_line":"            self._cleanup_namespace(ns_repo, namespace, namespace_created)"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_260a6826","line":152,"in_reply_to":"1abeadc6_1ed228d2","updated":"2014-08-27 19:26:58.000000000","message":"Removed logging here to keep it consistent with other exceptions like NotFound and Duplicate. The error message will be logged only once where its thrown originally.","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                namespace_repo.remove(namespace_obj)"},{"line_number":184,"context_line":"                msg \u003d (_LW(\"Cleaned up namespace %(namespace)s \") %"},{"line_number":185,"context_line":"                       {\u0027namespace\u0027: namespace.namespace})"},{"line_number":186,"context_line":"                LOG.error(msg)"},{"line_number":187,"context_line":"            except exception:"},{"line_number":188,"context_line":"                msg \u003d (_LE(\"Failed to delete namespace %(namespace)s \") %"},{"line_number":189,"context_line":"                       {\u0027namespace\u0027: namespace.namespace})"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_fe63ac3e","line":186,"updated":"2014-08-27 09:23:47.000000000","message":"This should probably be LOG.info() and translated with _LI() or even no translation and logged as DEBUG?","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                namespace_repo.remove(namespace_obj)"},{"line_number":184,"context_line":"                msg \u003d (_LW(\"Cleaned up namespace %(namespace)s \") %"},{"line_number":185,"context_line":"                       {\u0027namespace\u0027: namespace.namespace})"},{"line_number":186,"context_line":"                LOG.error(msg)"},{"line_number":187,"context_line":"            except exception:"},{"line_number":188,"context_line":"                msg \u003d (_LE(\"Failed to delete namespace %(namespace)s \") %"},{"line_number":189,"context_line":"                       {\u0027namespace\u0027: namespace.namespace})"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_692ef18d","line":186,"in_reply_to":"1abeadc6_fe63ac3e","updated":"2014-08-27 19:26:58.000000000","message":"You are right. Debug is probably the best way here.","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":236,"context_line":"        except exception.NotFound as e:"},{"line_number":237,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":238,"context_line":"        except Exception as e:"},{"line_number":239,"context_line":"            LOG.error(e)"},{"line_number":240,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":241,"context_line":"        return namespace_detail"},{"line_number":242,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_febf2c5e","line":239,"updated":"2014-08-27 09:23:47.000000000","message":"Please use utils.exception_to_str here","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":236,"context_line":"        except exception.NotFound as e:"},{"line_number":237,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":238,"context_line":"        except Exception as e:"},{"line_number":239,"context_line":"            LOG.error(e)"},{"line_number":240,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":241,"context_line":"        return namespace_detail"},{"line_number":242,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_e943e110","line":239,"in_reply_to":"1abeadc6_febf2c5e","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        except exception.Duplicate as e:"},{"line_number":264,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.msg)"},{"line_number":265,"context_line":"        except Exception as e:"},{"line_number":266,"context_line":"            LOG.error(e)"},{"line_number":267,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":268,"context_line":"        return Namespace.to_wsme_model(updated_namespace,"},{"line_number":269,"context_line":"                                       get_namespace_href(updated_namespace),"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_be8e94ce","line":266,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        except exception.Duplicate as e:"},{"line_number":264,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.msg)"},{"line_number":265,"context_line":"        except Exception as e:"},{"line_number":266,"context_line":"            LOG.error(e)"},{"line_number":267,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":268,"context_line":"        return Namespace.to_wsme_model(updated_namespace,"},{"line_number":269,"context_line":"                                       get_namespace_href(updated_namespace),"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_094c9d41","line":266,"in_reply_to":"1abeadc6_be8e94ce","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":283,"context_line":"            LOG.error(msg)"},{"line_number":284,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":285,"context_line":"        except Exception as e:"},{"line_number":286,"context_line":"            LOG.error(e)"},{"line_number":287,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"    def delete_objects(self, req, namespace):"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_3e48c486","line":286,"updated":"2014-08-27 09:23:47.000000000","message":"ditto","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":283,"context_line":"            LOG.error(msg)"},{"line_number":284,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":285,"context_line":"        except Exception as e:"},{"line_number":286,"context_line":"            LOG.error(e)"},{"line_number":287,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"    def delete_objects(self, req, namespace):"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_8906edcc","line":286,"in_reply_to":"1abeadc6_3e48c486","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":300,"context_line":"            LOG.error(msg)"},{"line_number":301,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":302,"context_line":"        except Exception as e:"},{"line_number":303,"context_line":"            LOG.error(e)"},{"line_number":304,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"    def delete_properties(self, req, namespace):"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_de31900c","line":303,"updated":"2014-08-27 09:23:47.000000000","message":"ditto","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":300,"context_line":"            LOG.error(msg)"},{"line_number":301,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":302,"context_line":"        except Exception as e:"},{"line_number":303,"context_line":"            LOG.error(e)"},{"line_number":304,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"    def delete_properties(self, req, namespace):"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_c90c65ef","line":303,"in_reply_to":"1abeadc6_de31900c","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":317,"context_line":"            LOG.error(msg)"},{"line_number":318,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":319,"context_line":"        except Exception as e:"},{"line_number":320,"context_line":"            LOG.error(e)"},{"line_number":321,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    def _prefix_property_name(self, namespace_detail, user_resource_type):"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_be013408","line":320,"updated":"2014-08-27 09:23:47.000000000","message":"ditto","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":317,"context_line":"            LOG.error(msg)"},{"line_number":318,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":319,"context_line":"        except Exception as e:"},{"line_number":320,"context_line":"            LOG.error(e)"},{"line_number":321,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    def _prefix_property_name(self, namespace_detail, user_resource_type):"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_29f799d4","line":320,"in_reply_to":"1abeadc6_be013408","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":369,"context_line":"            if key in image:"},{"line_number":370,"context_line":"                msg \u003d _(\"Attribute \u0027%s\u0027 is read-only.\") % key"},{"line_number":371,"context_line":"                raise webob.exc.HTTPForbidden(explanation\u003d"},{"line_number":372,"context_line":"                                              utils.exception_to_str(msg))"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    def index(self, request):"},{"line_number":375,"context_line":"        params \u003d request.params.copy()"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_61962196","line":372,"updated":"2014-08-27 09:23:47.000000000","message":"I don\u0027t think we need this exception_to_string here as the msg is not exception but a string.","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":369,"context_line":"            if key in image:"},{"line_number":370,"context_line":"                msg \u003d _(\"Attribute \u0027%s\u0027 is read-only.\") % key"},{"line_number":371,"context_line":"                raise webob.exc.HTTPForbidden(explanation\u003d"},{"line_number":372,"context_line":"                                              utils.exception_to_str(msg))"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    def index(self, request):"},{"line_number":375,"context_line":"        params \u003d request.params.copy()"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_49ee95ee","line":372,"in_reply_to":"1abeadc6_61962196","updated":"2014-08-27 19:26:58.000000000","message":"I agree with you. I think you should put a review comment on v2\\images.py(Line 309)  from where i used this pattern :)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"}],"glance/api/v2/metadef_objects.py":[{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        except exception.Forbidden as e:"},{"line_number":62,"context_line":"            msg \u003d (_LE(\"Forbidden to create metadef object. Reason:%(reason)s\")"},{"line_number":63,"context_line":"                   % {\u0027reason\u0027: utils.exception_to_str(e)})"},{"line_number":64,"context_line":"            LOG.error(msg)"},{"line_number":65,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg)"},{"line_number":66,"context_line":"        except exception.NotFound as e:"},{"line_number":67,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_415cc5ed","line":64,"updated":"2014-08-27 09:23:47.000000000","message":"I\u0027d prefer WARNING here as well for forbidden creation.","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        except exception.Forbidden as e:"},{"line_number":62,"context_line":"            msg \u003d (_LE(\"Forbidden to create metadef object. Reason:%(reason)s\")"},{"line_number":63,"context_line":"                   % {\u0027reason\u0027: utils.exception_to_str(e)})"},{"line_number":64,"context_line":"            LOG.error(msg)"},{"line_number":65,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg)"},{"line_number":66,"context_line":"        except exception.NotFound as e:"},{"line_number":67,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_c9a8e58e","line":64,"in_reply_to":"1abeadc6_415cc5ed","updated":"2014-08-27 19:26:58.000000000","message":"Remove the message(Same as metadef_namespaces.py) to keep it consistent with other exception logging.","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        except exception.Duplicate as e:"},{"line_number":69,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.msg)"},{"line_number":70,"context_line":"        except Exception as e:"},{"line_number":71,"context_line":"            LOG.error(e)"},{"line_number":72,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":73,"context_line":"        return MetadefObject.to_wsme_model("},{"line_number":74,"context_line":"            new_meta_object,"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_e105d1c2","line":71,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto utils.exception_to_str(e)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        except exception.Duplicate as e:"},{"line_number":69,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.msg)"},{"line_number":70,"context_line":"        except Exception as e:"},{"line_number":71,"context_line":"            LOG.error(e)"},{"line_number":72,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":73,"context_line":"        return MetadefObject.to_wsme_model("},{"line_number":74,"context_line":"            new_meta_object,"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_c9e465e2","line":71,"in_reply_to":"1abeadc6_e105d1c2","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        except exception.NotFound as e:"},{"line_number":96,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":97,"context_line":"        except Exception as e:"},{"line_number":98,"context_line":"            LOG.error(e)"},{"line_number":99,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":100,"context_line":"        return metadef_objects"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_2110a900","line":98,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto utils.exception_to_str(e)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        except exception.NotFound as e:"},{"line_number":96,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":97,"context_line":"        except Exception as e:"},{"line_number":98,"context_line":"            LOG.error(e)"},{"line_number":99,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":100,"context_line":"        return metadef_objects"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_e9e921b8","line":98,"in_reply_to":"1abeadc6_2110a900","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        except exception.NotFound as e:"},{"line_number":114,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":115,"context_line":"        except Exception as e:"},{"line_number":116,"context_line":"            LOG.error(e)"},{"line_number":117,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def update(self, req, metadata_object, namespace, object_name):"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_a103d9b6","line":116,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto utils.exception_to_str(e)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        except exception.NotFound as e:"},{"line_number":114,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":115,"context_line":"        except Exception as e:"},{"line_number":116,"context_line":"            LOG.error(e)"},{"line_number":117,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def update(self, req, metadata_object, namespace, object_name):"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_09d2ddff","line":116,"in_reply_to":"1abeadc6_a103d9b6","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        except exception.Duplicate as e:"},{"line_number":137,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.msg)"},{"line_number":138,"context_line":"        except Exception as e:"},{"line_number":139,"context_line":"            LOG.error(e)"},{"line_number":140,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":141,"context_line":"        return MetadefObject.to_wsme_model("},{"line_number":142,"context_line":"            updated_metadata_obj,"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_c1fe15ae","line":139,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto utils.exception_to_str(e)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        except exception.Duplicate as e:"},{"line_number":137,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.msg)"},{"line_number":138,"context_line":"        except Exception as e:"},{"line_number":139,"context_line":"            LOG.error(e)"},{"line_number":140,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":141,"context_line":"        return MetadefObject.to_wsme_model("},{"line_number":142,"context_line":"            updated_metadata_obj,"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_49d8551e","line":139,"in_reply_to":"1abeadc6_c1fe15ae","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            LOG.error(msg)"},{"line_number":158,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":159,"context_line":"        except Exception as e:"},{"line_number":160,"context_line":"            LOG.error(e)"},{"line_number":161,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_6120e149","line":160,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto utils.exception_to_str(e)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            LOG.error(msg)"},{"line_number":158,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":159,"context_line":"        except Exception as e:"},{"line_number":160,"context_line":"            LOG.error(e)"},{"line_number":161,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_69d511e4","line":160,"in_reply_to":"1abeadc6_6120e149","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":294,"context_line":"            if key in image:"},{"line_number":295,"context_line":"                msg \u003d _(\"Attribute \u0027%s\u0027 is read-only.\") % key"},{"line_number":296,"context_line":"                raise webob.exc.HTTPForbidden(explanation\u003d"},{"line_number":297,"context_line":"                                              utils.exception_to_str(msg))"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"class ResponseSerializer(wsgi.JSONResponseSerializer):"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_a19f595e","line":297,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto, no need for utils.exception_to_str()","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":294,"context_line":"            if key in image:"},{"line_number":295,"context_line":"                msg \u003d _(\"Attribute \u0027%s\u0027 is read-only.\") % key"},{"line_number":296,"context_line":"                raise webob.exc.HTTPForbidden(explanation\u003d"},{"line_number":297,"context_line":"                                              utils.exception_to_str(msg))"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"class ResponseSerializer(wsgi.JSONResponseSerializer):"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_c9fb8579","line":297,"in_reply_to":"1abeadc6_a19f595e","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"}],"glance/api/v2/metadef_properties.py":[{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        except exception.NotFound as e:"},{"line_number":77,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":78,"context_line":"        except Exception as e:"},{"line_number":79,"context_line":"            LOG.error(e)"},{"line_number":80,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":81,"context_line":"        return namespace_properties"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_a176793c","line":79,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto utils.exception_to_str(e)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        except exception.NotFound as e:"},{"line_number":77,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":78,"context_line":"        except Exception as e:"},{"line_number":79,"context_line":"            LOG.error(e)"},{"line_number":80,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":81,"context_line":"        return namespace_properties"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_69ec31bc","line":79,"in_reply_to":"1abeadc6_a176793c","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        except exception.NotFound as e:"},{"line_number":91,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":92,"context_line":"        except Exception as e:"},{"line_number":93,"context_line":"            LOG.error(e)"},{"line_number":94,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":95,"context_line":"        return property"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_21e8a9b3","line":93,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto utils.exception_to_str(e)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        except exception.NotFound as e:"},{"line_number":91,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":92,"context_line":"        except Exception as e:"},{"line_number":93,"context_line":"            LOG.error(e)"},{"line_number":94,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":95,"context_line":"        return property"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_892c2d04","line":93,"in_reply_to":"1abeadc6_21e8a9b3","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        except exception.Duplicate as e:"},{"line_number":112,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.msg)"},{"line_number":113,"context_line":"        except Exception as e:"},{"line_number":114,"context_line":"            LOG.error(e)"},{"line_number":115,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":116,"context_line":"        return self._to_model(new_property_type)"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_41ebe5af","line":114,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto utils.exception_to_str(e)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        except exception.Duplicate as e:"},{"line_number":112,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.msg)"},{"line_number":113,"context_line":"        except Exception as e:"},{"line_number":114,"context_line":"            LOG.error(e)"},{"line_number":115,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":116,"context_line":"        return self._to_model(new_property_type)"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_293dd92b","line":114,"in_reply_to":"1abeadc6_41ebe5af","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        except exception.Duplicate as e:"},{"line_number":130,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.msg)"},{"line_number":131,"context_line":"        except Exception as e:"},{"line_number":132,"context_line":"            LOG.error(e)"},{"line_number":133,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":134,"context_line":"        return self._to_model(updated_property_type)"},{"line_number":135,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_41020570","line":132,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto utils.exception_to_str(e)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        except exception.Duplicate as e:"},{"line_number":130,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.msg)"},{"line_number":131,"context_line":"        except Exception as e:"},{"line_number":132,"context_line":"            LOG.error(e)"},{"line_number":133,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":134,"context_line":"        return self._to_model(updated_property_type)"},{"line_number":135,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_494695c1","line":132,"in_reply_to":"1abeadc6_41020570","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":147,"context_line":"            LOG.error(msg)"},{"line_number":148,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":149,"context_line":"        except Exception as e:"},{"line_number":150,"context_line":"            LOG.error(e)"},{"line_number":151,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_a1f2f997","line":150,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto utils.exception_to_str(e)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":147,"context_line":"            LOG.error(msg)"},{"line_number":148,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":149,"context_line":"        except Exception as e:"},{"line_number":150,"context_line":"            LOG.error(e)"},{"line_number":151,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_694351af","line":150,"in_reply_to":"1abeadc6_a1f2f997","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            if key in image:"},{"line_number":172,"context_line":"                msg \u003d _(\"Attribute \u0027%s\u0027 is read-only.\") % key"},{"line_number":173,"context_line":"                raise webob.exc.HTTPForbidden(explanation\u003d"},{"line_number":174,"context_line":"                                              utils.exception_to_str(msg))"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def create(self, request):"},{"line_number":177,"context_line":"        body \u003d self._get_request_body(request)"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_813a5d32","line":174,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto, no need for utils.exception_to_str","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            if key in image:"},{"line_number":172,"context_line":"                msg \u003d _(\"Attribute \u0027%s\u0027 is read-only.\") % key"},{"line_number":173,"context_line":"                raise webob.exc.HTTPForbidden(explanation\u003d"},{"line_number":174,"context_line":"                                              utils.exception_to_str(msg))"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def create(self, request):"},{"line_number":177,"context_line":"        body \u003d self._get_request_body(request)"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_89134db7","line":174,"in_reply_to":"1abeadc6_813a5d32","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"}],"glance/api/v2/metadef_resource_types.py":[{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"460aa24530e1dd14dbb1f7f7391d1cdc24f86a2d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    def index(self, req):"},{"line_number":49,"context_line":"        resource_types \u003d self.show(req, None)"},{"line_number":50,"context_line":"        return [resource_type.name for resource_type in"},{"line_number":51,"context_line":"                resource_types.resource_types]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def show(self, req, namespace):"},{"line_number":54,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":44,"id":"baada198_6de3d33a","line":51,"updated":"2014-08-12 23:28:08.000000000","message":"I\u0027m suggesting a change in this API.  I noticed while connecting up UI to Glance that the difference between GET for a namespace and list returns a different format.  Get is a list of full resource types.  List is just a list of names.\n\nExample: \nget body: \n{u\u0027resource_types\u0027: [{u\u0027name\u0027: u\u0027OS::Glance::Image\u0027}]}\n\nlist body: \n[u\u0027OS::Glance::Image\u0027, u\u0027OS::Cinder::Volume\u0027, u\u0027OS::Nova::Flavor\u0027, u\u0027OS::Nova::Aggregate\u0027, u\u0027OS::Nova::Instance\u0027]\n\nI know the original reasoning was that a resource type associated with a namespace has extra data (like prefix).  However, I had to reformat the output in order to use it the same in Horizon, which is an irritant when using the API. Additionally, I\u0027m thinking that if in the future we want to add extra information to the list output that we\u0027re stuck.  Because a list of strings doesn\u0027t allow more fields to come through without breaking existing clients.\n\nSo, how about changing list to be same format (list of dicts)","commit_id":"3f9e805686af94b646c26099f0b6307c9d6d2bc1"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        except exception.NotFound as e:"},{"line_number":64,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":65,"context_line":"        except Exception as e:"},{"line_number":66,"context_line":"            LOG.error(e)"},{"line_number":67,"context_line":"            raise webob.exc.HTTPInternalServerError(e)"},{"line_number":68,"context_line":"        return resource_types"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_814fbdbd","line":66,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto utils.exception_to_str(e)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        except exception.NotFound as e:"},{"line_number":64,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":65,"context_line":"        except Exception as e:"},{"line_number":66,"context_line":"            LOG.error(e)"},{"line_number":67,"context_line":"            raise webob.exc.HTTPInternalServerError(e)"},{"line_number":68,"context_line":"        return resource_types"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_491db5bd","line":66,"in_reply_to":"1abeadc6_814fbdbd","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        except exception.NotFound as e:"},{"line_number":84,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":85,"context_line":"        except Exception as e:"},{"line_number":86,"context_line":"            LOG.error(e)"},{"line_number":87,"context_line":"            raise webob.exc.HTTPInternalServerError(e)"},{"line_number":88,"context_line":"        return resource_types"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_e1c79110","line":86,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto utils.exception_to_str(e)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        except exception.NotFound as e:"},{"line_number":84,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":85,"context_line":"        except Exception as e:"},{"line_number":86,"context_line":"            LOG.error(e)"},{"line_number":87,"context_line":"            raise webob.exc.HTTPInternalServerError(e)"},{"line_number":88,"context_line":"        return resource_types"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_691a71c7","line":86,"in_reply_to":"1abeadc6_e1c79110","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        except exception.Forbidden as e:"},{"line_number":100,"context_line":"            msg \u003d (_LE(\"Forbidden to create resource type. Reason: %(\""},{"line_number":101,"context_line":"                       \"reason)s\") % {\u0027reason\u0027: utils.exception_to_str(e)})"},{"line_number":102,"context_line":"            LOG.error(msg)"},{"line_number":103,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg)"},{"line_number":104,"context_line":"        except exception.NotFound as e:"},{"line_number":105,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_01f2cd6e","line":102,"updated":"2014-08-27 09:23:47.000000000","message":"Again I think ERROR is too high logging level for forbidden","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        except exception.Forbidden as e:"},{"line_number":100,"context_line":"            msg \u003d (_LE(\"Forbidden to create resource type. Reason: %(\""},{"line_number":101,"context_line":"                       \"reason)s\") % {\u0027reason\u0027: utils.exception_to_str(e)})"},{"line_number":102,"context_line":"            LOG.error(msg)"},{"line_number":103,"context_line":"            raise webob.exc.HTTPForbidden(explanation\u003de.msg)"},{"line_number":104,"context_line":"        except exception.NotFound as e:"},{"line_number":105,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.msg)"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_c980e5c1","line":102,"in_reply_to":"1abeadc6_01f2cd6e","updated":"2014-08-27 19:26:58.000000000","message":"Removed the error logging to keep it consistent with other errors.","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        except exception.Duplicate as e:"},{"line_number":107,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.msg)"},{"line_number":108,"context_line":"        except Exception as e:"},{"line_number":109,"context_line":"            LOG.error(e)"},{"line_number":110,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":111,"context_line":"        return ResourceTypeAssociation.to_wsme_model(new_resource_type)"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_81d6ddc1","line":109,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto utils.exception_to_str(e)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        except exception.Duplicate as e:"},{"line_number":107,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.msg)"},{"line_number":108,"context_line":"        except Exception as e:"},{"line_number":109,"context_line":"            LOG.error(e)"},{"line_number":110,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":111,"context_line":"        return ResourceTypeAssociation.to_wsme_model(new_resource_type)"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_e985a1cf","line":109,"in_reply_to":"1abeadc6_81d6ddc1","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            LOG.error(msg)"},{"line_number":133,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":134,"context_line":"        except Exception as e:"},{"line_number":135,"context_line":"            LOG.error(e)"},{"line_number":136,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_a1fcb93f","line":135,"updated":"2014-08-27 09:23:47.000000000","message":"Ditto utils.exception_to_str(e)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            LOG.error(msg)"},{"line_number":133,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":134,"context_line":"        except Exception as e:"},{"line_number":135,"context_line":"            LOG.error(e)"},{"line_number":136,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_096e5d2f","line":135,"in_reply_to":"1abeadc6_a1fcb93f","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            if key in image:"},{"line_number":157,"context_line":"                msg \u003d _(\"Attribute \u0027%s\u0027 is read-only.\") % key"},{"line_number":158,"context_line":"                raise webob.exc.HTTPForbidden(explanation\u003d"},{"line_number":159,"context_line":"                                              utils.exception_to_str(msg))"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    def create(self, request):"},{"line_number":162,"context_line":"        body \u003d self._get_request_body(request)"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_6189c1c9","line":159,"updated":"2014-08-27 09:23:47.000000000","message":"ditto","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            if key in image:"},{"line_number":157,"context_line":"                msg \u003d _(\"Attribute \u0027%s\u0027 is read-only.\") % key"},{"line_number":158,"context_line":"                raise webob.exc.HTTPForbidden(explanation\u003d"},{"line_number":159,"context_line":"                                              utils.exception_to_str(msg))"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    def create(self, request):"},{"line_number":162,"context_line":"        body \u003d self._get_request_body(request)"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_296b191f","line":159,"in_reply_to":"1abeadc6_6189c1c9","updated":"2014-08-27 19:26:58.000000000","message":"Done","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"c51ccd5c95b70f3de67b78ed07a7beaed611f564","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"class RequestDeserializer(wsgi.JSONRequestDeserializer):"},{"line_number":137,"context_line":"    _disallowed_properties \u003d [\u0027created_at\u0027, \u0027updated_at\u0027]"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def __init__(self, schema\u003dNone):"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_f759a6fd","line":136,"updated":"2014-08-29 14:46:58.000000000","message":"if we use wsme to marshall/unmarshall, do we really still need JSONResponseSerializer at here?","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"16f0912b1be4bdd6501a99bf1d9e93b079513562","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"class RequestDeserializer(wsgi.JSONRequestDeserializer):"},{"line_number":137,"context_line":"    _disallowed_properties \u003d [\u0027created_at\u0027, \u0027updated_at\u0027]"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def __init__(self, schema\u003dNone):"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_1548d02b","line":136,"in_reply_to":"1abeadc6_ab2ee240","updated":"2014-08-29 16:05:25.000000000","message":"can you tell me more about your idea? thanks.","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b49767da13f1df8fd60106dfd69a19d36adfde4","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            raise webob.exc.HTTPInternalServerError()"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"class RequestDeserializer(wsgi.JSONRequestDeserializer):"},{"line_number":137,"context_line":"    _disallowed_properties \u003d [\u0027created_at\u0027, \u0027updated_at\u0027]"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def __init__(self, schema\u003dNone):"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_ab2ee240","line":136,"in_reply_to":"1abeadc6_f759a6fd","updated":"2014-08-29 14:59:45.000000000","message":"Yes, IMHO it looks clean to separate the WSME serialization/deserialization along with validation logic from controller processing logic above.","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"c51ccd5c95b70f3de67b78ed07a7beaed611f564","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        return output[\u0027body\u0027]"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    @classmethod"},{"line_number":151,"context_line":"    def _check_allowed(cls, image):"},{"line_number":152,"context_line":"        for key in cls._disallowed_properties:"},{"line_number":153,"context_line":"            if key in image:"},{"line_number":154,"context_line":"                msg \u003d _(\"Attribute \u0027%s\u0027 is read-only.\") % key"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_b7656e46","line":151,"updated":"2014-08-29 14:46:58.000000000","message":"s/image/resrouce_type","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b49767da13f1df8fd60106dfd69a19d36adfde4","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        return output[\u0027body\u0027]"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    @classmethod"},{"line_number":151,"context_line":"    def _check_allowed(cls, image):"},{"line_number":152,"context_line":"        for key in cls._disallowed_properties:"},{"line_number":153,"context_line":"            if key in image:"},{"line_number":154,"context_line":"                msg \u003d _(\"Attribute \u0027%s\u0027 is read-only.\") % key"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_cbd87e55","line":151,"in_reply_to":"1abeadc6_b7656e46","updated":"2014-08-29 14:59:45.000000000","message":"Will do","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"c51ccd5c95b70f3de67b78ed07a7beaed611f564","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        return dict(resource_type\u003dresource_type)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"class ResponseSerializer(wsgi.JSONResponseSerializer):"},{"line_number":169,"context_line":"    def __init__(self, schema\u003dNone):"},{"line_number":170,"context_line":"        super(ResponseSerializer, self).__init__()"},{"line_number":171,"context_line":"        self.schema \u003d schema"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_17746266","line":168,"updated":"2014-08-29 14:46:58.000000000","message":"ditto","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b49767da13f1df8fd60106dfd69a19d36adfde4","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        return dict(resource_type\u003dresource_type)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"class ResponseSerializer(wsgi.JSONResponseSerializer):"},{"line_number":169,"context_line":"    def __init__(self, schema\u003dNone):"},{"line_number":170,"context_line":"        super(ResponseSerializer, self).__init__()"},{"line_number":171,"context_line":"        self.schema \u003d schema"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_6b9daa65","line":168,"in_reply_to":"1abeadc6_17746266","updated":"2014-08-29 14:59:45.000000000","message":"Same as above.","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"}],"glance/api/v2/model/metadata_object.py":[{"author":{"_account_id":8759,"name":"Arnaud Legendre","email":"arnaudleg@gmail.com","username":"arnaud"},"change_message_id":"a0d35e20652ae08710e54dddd4252d3233c4cdca","unresolved":false,"context_lines":[{"line_number":5,"context_line":"# You may obtain a copy of the License at"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":8,"context_line":"#"},{"line_number":9,"context_line":"# Unless required by applicable law or agreed to in writing, software"},{"line_number":10,"context_line":"# distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":11,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or"}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_52e2fb02","line":8,"updated":"2014-08-06 17:06:56.000000000","message":"please rename to glance/api/v2/model/metadef_object.py","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"3b61d9436b1c1209edaa9b5f6b60678b0b63143d","unresolved":false,"context_lines":[{"line_number":5,"context_line":"# You may obtain a copy of the License at"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":8,"context_line":"#"},{"line_number":9,"context_line":"# Unless required by applicable law or agreed to in writing, software"},{"line_number":10,"context_line":"# distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":11,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or"}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_bb7328b2","line":8,"in_reply_to":"baada198_52e2fb02","updated":"2014-08-06 23:29:25.000000000","message":"Done","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"}],"glance/api/v2/model/metadef_resource_type.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"c51ccd5c95b70f3de67b78ed07a7beaed611f564","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    #Not using datetime since time format has to be"},{"line_number":28,"context_line":"    #in glance.openstack.common.timeutils.isotime() format"},{"line_number":29,"context_line":"    created_at \u003d wsme.wsattr(types.text, mandatory\u003dFalse)"},{"line_number":30,"context_line":"    updated_at \u003d wsme.wsattr(types.text, mandatory\u003dFalse)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def __init__(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_f7de063d","line":29,"updated":"2014-08-29 14:46:58.000000000","message":"mandatory\u003dTrue? not sure.\n\nhave same thinking for \u0027created_at\u0027 field of other wsme entities.","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"16f0912b1be4bdd6501a99bf1d9e93b079513562","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    #Not using datetime since time format has to be"},{"line_number":28,"context_line":"    #in glance.openstack.common.timeutils.isotime() format"},{"line_number":29,"context_line":"    created_at \u003d wsme.wsattr(types.text, mandatory\u003dFalse)"},{"line_number":30,"context_line":"    updated_at \u003d wsme.wsattr(types.text, mandatory\u003dFalse)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def __init__(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_f5e8b4e3","line":29,"in_reply_to":"1abeadc6_8bd4c6e9","updated":"2014-08-29 16:05:25.000000000","message":"ok, gotta. thanks for explanation.","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b49767da13f1df8fd60106dfd69a19d36adfde4","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    #Not using datetime since time format has to be"},{"line_number":28,"context_line":"    #in glance.openstack.common.timeutils.isotime() format"},{"line_number":29,"context_line":"    created_at \u003d wsme.wsattr(types.text, mandatory\u003dFalse)"},{"line_number":30,"context_line":"    updated_at \u003d wsme.wsattr(types.text, mandatory\u003dFalse)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def __init__(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_8bd4c6e9","line":29,"in_reply_to":"1abeadc6_f7de063d","updated":"2014-08-29 14:59:45.000000000","message":"Making it mandatory\u003dTrue will make it required field in the input of resource_type creation also which we don\u0027t want user to specify.\n\nmandatory field applies to both input and output in WSME unless we create separate input and output object model.","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"}],"glance/api/v2/model/namespace.py":[{"author":{"_account_id":8759,"name":"Arnaud Legendre","email":"arnaudleg@gmail.com","username":"arnaud"},"change_message_id":"a0d35e20652ae08710e54dddd4252d3233c4cdca","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    namespace \u003d wsme.wsattr(types.text, mandatory\u003dTrue)"},{"line_number":36,"context_line":"    display_name \u003d wsme.wsattr(types.text, mandatory\u003dFalse)"},{"line_number":37,"context_line":"    description \u003d wsme.wsattr(types.text, mandatory\u003dFalse)"},{"line_number":38,"context_line":"    visibility \u003d wsme.wsattr(types.text, mandatory\u003dFalse)"},{"line_number":39,"context_line":"    protected \u003d wsme.wsattr(bool, mandatory\u003dFalse)"},{"line_number":40,"context_line":"    owner \u003d wsme.wsattr(types.text, mandatory\u003dFalse)"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_12b083fc","line":38,"updated":"2014-08-06 17:06:56.000000000","message":"please rename glance/api/v2/model/metadef_namespace.py","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"3b61d9436b1c1209edaa9b5f6b60678b0b63143d","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    namespace \u003d wsme.wsattr(types.text, mandatory\u003dTrue)"},{"line_number":36,"context_line":"    display_name \u003d wsme.wsattr(types.text, mandatory\u003dFalse)"},{"line_number":37,"context_line":"    description \u003d wsme.wsattr(types.text, mandatory\u003dFalse)"},{"line_number":38,"context_line":"    visibility \u003d wsme.wsattr(types.text, mandatory\u003dFalse)"},{"line_number":39,"context_line":"    protected \u003d wsme.wsattr(bool, mandatory\u003dFalse)"},{"line_number":40,"context_line":"    owner \u003d wsme.wsattr(types.text, mandatory\u003dFalse)"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_db6a9cb4","line":38,"in_reply_to":"baada198_12b083fc","updated":"2014-08-06 23:29:25.000000000","message":"Done","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"}],"glance/api/v2/model/property_type.py":[{"author":{"_account_id":8759,"name":"Arnaud Legendre","email":"arnaudleg@gmail.com","username":"arnaud"},"change_message_id":"a0d35e20652ae08710e54dddd4252d3233c4cdca","unresolved":false,"context_lines":[{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":8,"context_line":"#"},{"line_number":9,"context_line":"# Unless required by applicable law or agreed to in writing, software"},{"line_number":10,"context_line":"# distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":11,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or"},{"line_number":12,"context_line":"# implied."}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_b246f7a5","line":9,"updated":"2014-08-06 17:06:56.000000000","message":"please rename to model/metadef_property_type.py","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"3b61d9436b1c1209edaa9b5f6b60678b0b63143d","unresolved":false,"context_lines":[{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":8,"context_line":"#"},{"line_number":9,"context_line":"# Unless required by applicable law or agreed to in writing, software"},{"line_number":10,"context_line":"# distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":11,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or"},{"line_number":12,"context_line":"# implied."}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_fb6da0cc","line":9,"in_reply_to":"baada198_b246f7a5","updated":"2014-08-06 23:29:25.000000000","message":"Done","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"}],"glance/api/v2/model/resource_type.py":[{"author":{"_account_id":8759,"name":"Arnaud Legendre","email":"arnaudleg@gmail.com","username":"arnaud"},"change_message_id":"a0d35e20652ae08710e54dddd4252d3233c4cdca","unresolved":false,"context_lines":[{"line_number":7,"context_line":"#    http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":8,"context_line":"#"},{"line_number":9,"context_line":"# Unless required by applicable law or agreed to in writing, software"},{"line_number":10,"context_line":"# distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":11,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or"},{"line_number":12,"context_line":"# implied."},{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_5284bbb1","line":10,"updated":"2014-08-06 17:06:56.000000000","message":"please rename to model/metadef_resource_type.py","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"3b61d9436b1c1209edaa9b5f6b60678b0b63143d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"#    http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":8,"context_line":"#"},{"line_number":9,"context_line":"# Unless required by applicable law or agreed to in writing, software"},{"line_number":10,"context_line":"# distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":11,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or"},{"line_number":12,"context_line":"# implied."},{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_3b5f1812","line":10,"in_reply_to":"baada198_5284bbb1","updated":"2014-08-06 23:29:25.000000000","message":"Done","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"}],"glance/common/wsme_utils.py":[{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        my_dict \u003d {}"},{"line_number":27,"context_line":"        for attribute in self._wsme_attributes:"},{"line_number":28,"context_line":"            value \u003d getattr(self, attribute.name)"},{"line_number":29,"context_line":"            if value !\u003d wsme_types.Unset:"},{"line_number":30,"context_line":"                my_dict.update({attribute.name: value})"},{"line_number":31,"context_line":"        return my_dict"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_3ccb6ca6","line":29,"updated":"2014-08-27 09:23:47.000000000","message":"Please for consistency,\nif value is not ...","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        my_dict \u003d {}"},{"line_number":27,"context_line":"        for attribute in self._wsme_attributes:"},{"line_number":28,"context_line":"            value \u003d getattr(self, attribute.name)"},{"line_number":29,"context_line":"            if value !\u003d wsme_types.Unset:"},{"line_number":30,"context_line":"                my_dict.update({attribute.name: value})"},{"line_number":31,"context_line":"        return my_dict"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_e93da1de","line":29,"in_reply_to":"1abeadc6_3ccb6ca6","updated":"2014-08-27 19:26:58.000000000","message":"I guess object equality and identity gives the same result in this case.","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def _get_value(obj):"},{"line_number":68,"context_line":"    if obj !\u003d wsme_types.Unset:"},{"line_number":69,"context_line":"        return obj"},{"line_number":70,"context_line":"    else:"},{"line_number":71,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_7cc40492","line":68,"updated":"2014-08-27 09:23:47.000000000","message":"Please for consistency,\nif obj is not ...","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def _get_value(obj):"},{"line_number":68,"context_line":"    if obj !\u003d wsme_types.Unset:"},{"line_number":69,"context_line":"        return obj"},{"line_number":70,"context_line":"    else:"},{"line_number":71,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_c90f0538","line":68,"in_reply_to":"1abeadc6_7cc40492","updated":"2014-08-27 19:26:58.000000000","message":"I guess object equality and identity gives the same result in this case.","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"}],"glance/db/__init__.py":[{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0bfd4899f33bd915d0114e919eb0d3ed558b77f1","unresolved":false,"context_lines":[{"line_number":32,"context_line":"from wsme.rest.json import fromjson"},{"line_number":33,"context_line":"from wsme.rest.json import tojson"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"CONF \u003d cfg.CONF"},{"line_number":38,"context_line":"CONF.import_opt(\u0027image_size_cap\u0027, \u0027glance.common.config\u0027)"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_3c9a8c63","line":35,"updated":"2014-08-27 09:23:47.000000000","message":"Not used.","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"2becb0f2764e5a3b2265bfb3493b39e068e96b4f","unresolved":false,"context_lines":[{"line_number":32,"context_line":"from wsme.rest.json import fromjson"},{"line_number":33,"context_line":"from wsme.rest.json import tojson"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"CONF \u003d cfg.CONF"},{"line_number":38,"context_line":"CONF.import_opt(\u0027image_size_cap\u0027, \u0027glance.common.config\u0027)"}],"source_content_type":"text/x-python","patch_set":73,"id":"1abeadc6_8c00bb02","line":35,"in_reply_to":"1abeadc6_3c9a8c63","updated":"2014-08-27 19:26:58.000000000","message":"Removed. You are getting better than pep8 at catching unused variables :)","commit_id":"bd04e360fd495a7dd430c6a555f5e1114c73ddf5"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"c51ccd5c95b70f3de67b78ed07a7beaed611f564","unresolved":false,"context_lines":[{"line_number":629,"context_line":"        )"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"    def list(self, filters\u003dNone):"},{"line_number":632,"context_line":"        namespace \u003d filters[\u0027namespace\u0027]"},{"line_number":633,"context_line":"        if namespace:"},{"line_number":634,"context_line":"            namespace_entity \u003d self.meta_namespace_repo.get(namespace)"},{"line_number":635,"context_line":"            db_resource_types \u003d ("}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_eca0fd43","line":632,"updated":"2014-08-29 14:46:58.000000000","message":"need to make sure filters var is not none.","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"16f0912b1be4bdd6501a99bf1d9e93b079513562","unresolved":false,"context_lines":[{"line_number":629,"context_line":"        )"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"    def list(self, filters\u003dNone):"},{"line_number":632,"context_line":"        namespace \u003d filters[\u0027namespace\u0027]"},{"line_number":633,"context_line":"        if namespace:"},{"line_number":634,"context_line":"            namespace_entity \u003d self.meta_namespace_repo.get(namespace)"},{"line_number":635,"context_line":"            db_resource_types \u003d ("}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_9594e037","line":632,"in_reply_to":"1abeadc6_8bebe6a2","updated":"2014-08-29 16:05:25.000000000","message":"pls take care other places for this case in the file.","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"8b49767da13f1df8fd60106dfd69a19d36adfde4","unresolved":false,"context_lines":[{"line_number":629,"context_line":"        )"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"    def list(self, filters\u003dNone):"},{"line_number":632,"context_line":"        namespace \u003d filters[\u0027namespace\u0027]"},{"line_number":633,"context_line":"        if namespace:"},{"line_number":634,"context_line":"            namespace_entity \u003d self.meta_namespace_repo.get(namespace)"},{"line_number":635,"context_line":"            db_resource_types \u003d ("}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_8bebe6a2","line":632,"in_reply_to":"1abeadc6_eca0fd43","updated":"2014-08-29 14:59:45.000000000","message":"Will do","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"}],"glance/domain/__init__.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"09646f455fbf43c03376ffa0245481bed72f9d08","unresolved":false,"context_lines":[{"line_number":514,"context_line":"            name,"},{"line_number":515,"context_line":"            created_at,"},{"line_number":516,"context_line":"            updated_at,"},{"line_number":517,"context_line":"            kwargs.get(\u0027required\u0027),"},{"line_number":518,"context_line":"            kwargs.get(\u0027description\u0027),"},{"line_number":519,"context_line":"            kwargs.get(\u0027properties\u0027)"},{"line_number":520,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_600ec03c","line":517,"updated":"2014-08-29 07:42:35.000000000","message":"use this: kwargs.get(\u0027required\u0027) or False  ?","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6dfa2d5acc2f0f00802e2362164143596f651c9c","unresolved":false,"context_lines":[{"line_number":514,"context_line":"            name,"},{"line_number":515,"context_line":"            created_at,"},{"line_number":516,"context_line":"            updated_at,"},{"line_number":517,"context_line":"            kwargs.get(\u0027required\u0027),"},{"line_number":518,"context_line":"            kwargs.get(\u0027description\u0027),"},{"line_number":519,"context_line":"            kwargs.get(\u0027properties\u0027)"},{"line_number":520,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_3a793ec8","line":517,"in_reply_to":"1abeadc6_600ec03c","updated":"2014-08-29 14:24:10.000000000","message":"will do","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"}],"glance/domain/proxy.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"09646f455fbf43c03376ffa0245481bed72f9d08","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        return self.namespace_proxy_helper.proxy(namespace_obj)"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    def add(self, namespace):"},{"line_number":237,"context_line":"        self.base.add(self.namespace_proxy_helper.unproxy(namespace))"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    def list(self, *args, **kwargs):"},{"line_number":240,"context_line":"        namespaces \u003d self.base.list(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_00326ca6","line":237,"updated":"2014-08-29 07:42:35.000000000","message":"return self.base.add(..) ? e.g. line #95.\n\nsame idea for other md repo proxies","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"6dfa2d5acc2f0f00802e2362164143596f651c9c","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        return self.namespace_proxy_helper.proxy(namespace_obj)"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    def add(self, namespace):"},{"line_number":237,"context_line":"        self.base.add(self.namespace_proxy_helper.unproxy(namespace))"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    def list(self, *args, **kwargs):"},{"line_number":240,"context_line":"        namespaces \u003d self.base.list(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":81,"id":"1abeadc6_d579fd93","line":237,"in_reply_to":"1abeadc6_00326ca6","updated":"2014-08-29 14:24:10.000000000","message":"Same as above. Following similar to TaskRepo (line # 58)","commit_id":"dc6dbb6574830ceef303e64ae5e25b695af090b8"}],"glance/tests/functional/v2/test_metadata_objects.py":[{"author":{"_account_id":8759,"name":"Arnaud Legendre","email":"arnaudleg@gmail.com","username":"arnaud"},"change_message_id":"a0d35e20652ae08710e54dddd4252d3233c4cdca","unresolved":false,"context_lines":[{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":8,"context_line":"#"},{"line_number":9,"context_line":"# Unless required by applicable law or agreed to in writing, software"},{"line_number":10,"context_line":"# distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":11,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or"},{"line_number":12,"context_line":"# implied."}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_b2dd17e0","line":9,"updated":"2014-08-06 17:06:56.000000000","message":"test_metadef_objects.py","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"3b61d9436b1c1209edaa9b5f6b60678b0b63143d","unresolved":false,"context_lines":[{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":8,"context_line":"#"},{"line_number":9,"context_line":"# Unless required by applicable law or agreed to in writing, software"},{"line_number":10,"context_line":"# distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":11,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or"},{"line_number":12,"context_line":"# implied."}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_fba4c008","line":9,"in_reply_to":"baada198_b2dd17e0","updated":"2014-08-06 23:29:25.000000000","message":"Done","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"}],"glance/tests/functional/v2/test_namespaces.py":[{"author":{"_account_id":8759,"name":"Arnaud Legendre","email":"arnaudleg@gmail.com","username":"arnaud"},"change_message_id":"a0d35e20652ae08710e54dddd4252d3233c4cdca","unresolved":false,"context_lines":[{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":8,"context_line":"#"},{"line_number":9,"context_line":"# Unless required by applicable law or agreed to in writing, software"},{"line_number":10,"context_line":"# distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":11,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or"},{"line_number":12,"context_line":"# implied."}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_52fd9b3b","line":9,"updated":"2014-08-06 17:06:56.000000000","message":"test_metadef_namespace.py","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"3b61d9436b1c1209edaa9b5f6b60678b0b63143d","unresolved":false,"context_lines":[{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":8,"context_line":"#"},{"line_number":9,"context_line":"# Unless required by applicable law or agreed to in writing, software"},{"line_number":10,"context_line":"# distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":11,"context_line":"# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or"},{"line_number":12,"context_line":"# implied."}],"source_content_type":"text/x-python","patch_set":23,"id":"baada198_3ba6380e","line":9,"in_reply_to":"baada198_52fd9b3b","updated":"2014-08-06 23:29:25.000000000","message":"Done","commit_id":"16c81a91bee90cf8a1d92fbfdc6545d35c8782e7"}]}
