)]}'
{"cinder/cmd/manage.py":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"0d02825ee55faff454e4a12d95cd7cb046e8a9fb","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        sys.exit(1 if ran else 0)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    def _update_attachment_entry(self, ctxt, attachment):"},{"line_number":297,"context_line":"        for v in db.volume_get_all(ctxt):"},{"line_number":298,"context_line":"            if v[\u0027id\u0027] \u003d\u003d attachment[\u0027volume_id\u0027]:"},{"line_number":299,"context_line":"                db.volume_attachment_update(ctxt, attachment[\u0027id\u0027],"},{"line_number":300,"context_line":"                                            {\u0027project_id\u0027:"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_3174c534","line":297,"range":{"start_line":297,"start_character":20,"end_line":297,"end_character":34},"updated":"2016-12-11 18:49:26.000000000","message":"Why not simply call \u0027volume_get\u0027 here with \u0027attachment[\u0027volume_id\u0027]?","commit_id":"8b3854b3584ea9c0e8814d5d26f30264a3e6cf21"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"c23a11dab07fcb257bae226667414022f1c27f40","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        sys.exit(1 if ran else 0)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    def _update_attachment_entry(self, ctxt, attachment):"},{"line_number":297,"context_line":"        for v in db.volume_get_all(ctxt):"},{"line_number":298,"context_line":"            if v[\u0027id\u0027] \u003d\u003d attachment[\u0027volume_id\u0027]:"},{"line_number":299,"context_line":"                db.volume_attachment_update(ctxt, attachment[\u0027id\u0027],"},{"line_number":300,"context_line":"                                            {\u0027project_id\u0027:"}],"source_content_type":"text/x-python","patch_set":15,"id":"1a6eadb0_f499e420","line":297,"range":{"start_line":297,"start_character":20,"end_line":297,"end_character":34},"in_reply_to":"3a71b18c_3174c534","updated":"2016-12-13 23:51:51.000000000","message":"Done","commit_id":"8b3854b3584ea9c0e8814d5d26f30264a3e6cf21"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"0d02825ee55faff454e4a12d95cd7cb046e8a9fb","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":307,"context_line":"        attachments \u003d db.volume_attachment_get_all(ctxt)"},{"line_number":308,"context_line":"        for a in attachments:"},{"line_number":309,"context_line":"            print(\"Chek/Update attachment: \", a[\u0027id\u0027])"},{"line_number":310,"context_line":"            if not a[\u0027project_id\u0027]:"},{"line_number":311,"context_line":"                project_id \u003d self._update_attachment_entry(ctxt, a)"},{"line_number":312,"context_line":"                if not project_id:"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_11942941","line":309,"range":{"start_line":309,"start_character":19,"end_line":309,"end_character":23},"updated":"2016-12-11 18:49:26.000000000","message":"s/Chek/Check/","commit_id":"8b3854b3584ea9c0e8814d5d26f30264a3e6cf21"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"c23a11dab07fcb257bae226667414022f1c27f40","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":307,"context_line":"        attachments \u003d db.volume_attachment_get_all(ctxt)"},{"line_number":308,"context_line":"        for a in attachments:"},{"line_number":309,"context_line":"            print(\"Chek/Update attachment: \", a[\u0027id\u0027])"},{"line_number":310,"context_line":"            if not a[\u0027project_id\u0027]:"},{"line_number":311,"context_line":"                project_id \u003d self._update_attachment_entry(ctxt, a)"},{"line_number":312,"context_line":"                if not project_id:"}],"source_content_type":"text/x-python","patch_set":15,"id":"1a6eadb0_149f4004","line":309,"range":{"start_line":309,"start_character":19,"end_line":309,"end_character":23},"in_reply_to":"3a71b18c_11942941","updated":"2016-12-13 23:51:51.000000000","message":"Done","commit_id":"8b3854b3584ea9c0e8814d5d26f30264a3e6cf21"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"0d02825ee55faff454e4a12d95cd7cb046e8a9fb","unresolved":false,"context_lines":[{"line_number":311,"context_line":"                project_id \u003d self._update_attachment_entry(ctxt, a)"},{"line_number":312,"context_line":"                if not project_id:"},{"line_number":313,"context_line":"                    print(_(\"Failed to find/update project_id for \""},{"line_number":314,"context_line":"                            \"attachemnt: %(attach_id)s\") %"},{"line_number":315,"context_line":"                          {\u0027attach_id\u0027: a[\u0027id\u0027]})"},{"line_number":316,"context_line":"                else:"},{"line_number":317,"context_line":"                    print(_(\"Succesuflly added project_id: %(prjct_id)s \""}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_918e792c","line":314,"range":{"start_line":314,"start_character":29,"end_line":314,"end_character":39},"updated":"2016-12-11 18:49:26.000000000","message":"s/attachemnt/attachment/","commit_id":"8b3854b3584ea9c0e8814d5d26f30264a3e6cf21"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"c23a11dab07fcb257bae226667414022f1c27f40","unresolved":false,"context_lines":[{"line_number":311,"context_line":"                project_id \u003d self._update_attachment_entry(ctxt, a)"},{"line_number":312,"context_line":"                if not project_id:"},{"line_number":313,"context_line":"                    print(_(\"Failed to find/update project_id for \""},{"line_number":314,"context_line":"                            \"attachemnt: %(attach_id)s\") %"},{"line_number":315,"context_line":"                          {\u0027attach_id\u0027: a[\u0027id\u0027]})"},{"line_number":316,"context_line":"                else:"},{"line_number":317,"context_line":"                    print(_(\"Succesuflly added project_id: %(prjct_id)s \""}],"source_content_type":"text/x-python","patch_set":15,"id":"1a6eadb0_949350fa","line":314,"range":{"start_line":314,"start_character":29,"end_line":314,"end_character":39},"in_reply_to":"3a71b18c_918e792c","updated":"2016-12-13 23:51:51.000000000","message":"Done","commit_id":"8b3854b3584ea9c0e8814d5d26f30264a3e6cf21"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"0d02825ee55faff454e4a12d95cd7cb046e8a9fb","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                            \"attachemnt: %(attach_id)s\") %"},{"line_number":315,"context_line":"                          {\u0027attach_id\u0027: a[\u0027id\u0027]})"},{"line_number":316,"context_line":"                else:"},{"line_number":317,"context_line":"                    print(_(\"Succesuflly added project_id: %(prjct_id)s \""},{"line_number":318,"context_line":"                            \"to Attachemnt with ID: %(attach_id)s\") %"},{"line_number":319,"context_line":"                          {\u0027prjct_id\u0027: project_id, \u0027attach_id\u0027: a[\u0027id\u0027]})"},{"line_number":320,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_7189dd25","line":317,"range":{"start_line":317,"start_character":29,"end_line":317,"end_character":40},"updated":"2016-12-11 18:49:26.000000000","message":"s/Successuflly/Successfully/","commit_id":"8b3854b3584ea9c0e8814d5d26f30264a3e6cf21"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"c23a11dab07fcb257bae226667414022f1c27f40","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                            \"attachemnt: %(attach_id)s\") %"},{"line_number":315,"context_line":"                          {\u0027attach_id\u0027: a[\u0027id\u0027]})"},{"line_number":316,"context_line":"                else:"},{"line_number":317,"context_line":"                    print(_(\"Succesuflly added project_id: %(prjct_id)s \""},{"line_number":318,"context_line":"                            \"to Attachemnt with ID: %(attach_id)s\") %"},{"line_number":319,"context_line":"                          {\u0027prjct_id\u0027: project_id, \u0027attach_id\u0027: a[\u0027id\u0027]})"},{"line_number":320,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"1a6eadb0_b4904cee","line":317,"range":{"start_line":317,"start_character":29,"end_line":317,"end_character":40},"in_reply_to":"3a71b18c_7189dd25","updated":"2016-12-13 23:51:51.000000000","message":"Done","commit_id":"8b3854b3584ea9c0e8814d5d26f30264a3e6cf21"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"0d02825ee55faff454e4a12d95cd7cb046e8a9fb","unresolved":false,"context_lines":[{"line_number":315,"context_line":"                          {\u0027attach_id\u0027: a[\u0027id\u0027]})"},{"line_number":316,"context_line":"                else:"},{"line_number":317,"context_line":"                    print(_(\"Succesuflly added project_id: %(prjct_id)s \""},{"line_number":318,"context_line":"                            \"to Attachemnt with ID: %(attach_id)s\") %"},{"line_number":319,"context_line":"                          {\u0027prjct_id\u0027: project_id, \u0027attach_id\u0027: a[\u0027id\u0027]})"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_519a216f","line":318,"range":{"start_line":318,"start_character":32,"end_line":318,"end_character":42},"updated":"2016-12-11 18:49:26.000000000","message":"s/Attachemnt/Attachment/","commit_id":"8b3854b3584ea9c0e8814d5d26f30264a3e6cf21"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"c23a11dab07fcb257bae226667414022f1c27f40","unresolved":false,"context_lines":[{"line_number":315,"context_line":"                          {\u0027attach_id\u0027: a[\u0027id\u0027]})"},{"line_number":316,"context_line":"                else:"},{"line_number":317,"context_line":"                    print(_(\"Succesuflly added project_id: %(prjct_id)s \""},{"line_number":318,"context_line":"                            \"to Attachemnt with ID: %(attach_id)s\") %"},{"line_number":319,"context_line":"                          {\u0027prjct_id\u0027: project_id, \u0027attach_id\u0027: a[\u0027id\u0027]})"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"1a6eadb0_d4bb0874","line":318,"range":{"start_line":318,"start_character":32,"end_line":318,"end_character":42},"in_reply_to":"3a71b18c_519a216f","updated":"2016-12-13 23:51:51.000000000","message":"Done","commit_id":"8b3854b3584ea9c0e8814d5d26f30264a3e6cf21"}],"cinder/db/api.py":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"0d02825ee55faff454e4a12d95cd7cb046e8a9fb","unresolved":false,"context_lines":[{"line_number":336,"context_line":"    return IMPL.volume_attachment_update(context, attachment_id, values)"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"def volume_attachment_get(context, attachment_id, session\u003dNone):"},{"line_number":340,"context_line":"    return IMPL.volume_attachment_get(context, attachment_id, session)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_d1b2b1e4","side":"PARENT","line":339,"range":{"start_line":339,"start_character":50,"end_line":339,"end_character":62},"updated":"2016-12-11 18:49:26.000000000","message":"Why did you move this to the other call?","commit_id":"f568d09543b8e44b712e0565ca62845f1cc6f911"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"988672b40c5b3ccaf26b978418179d57cd13863b","unresolved":false,"context_lines":[{"line_number":336,"context_line":"    return IMPL.volume_attachment_update(context, attachment_id, values)"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"def volume_attachment_get(context, attachment_id, session\u003dNone):"},{"line_number":340,"context_line":"    return IMPL.volume_attachment_get(context, attachment_id, session)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"1a6eadb0_619ce1c0","side":"PARENT","line":339,"range":{"start_line":339,"start_character":50,"end_line":339,"end_character":62},"in_reply_to":"1a6eadb0_d494e8e9","updated":"2016-12-14 12:48:31.000000000","message":"Thanks for clarifying, I asked this mainly for my own education here as opposed to having arguments against it.\n\nBy reading the further DB comments in this patch I think it would be better to open a wishlist bug, if it does not exist yet, and do the cleanup/rationalization separately from this activity.","commit_id":"f568d09543b8e44b712e0565ca62845f1cc6f911"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"c23a11dab07fcb257bae226667414022f1c27f40","unresolved":false,"context_lines":[{"line_number":336,"context_line":"    return IMPL.volume_attachment_update(context, attachment_id, values)"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"def volume_attachment_get(context, attachment_id, session\u003dNone):"},{"line_number":340,"context_line":"    return IMPL.volume_attachment_get(context, attachment_id, session)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"1a6eadb0_d494e8e9","side":"PARENT","line":339,"range":{"start_line":339,"start_character":50,"end_line":339,"end_character":62},"in_reply_to":"3a71b18c_d1b2b1e4","updated":"2016-12-13 23:51:51.000000000","message":"I pulled that out just because we weren\u0027t using it anywhere, and while trying to debug the session stuff or the joinedload I thought it would be good to. be consistent with some of the other resources in the DB.  If ther\u0027es an argument as to why we shouldn\u0027t do this I\u0027m certainly happy to change things back around, but currrently I tried to rewrite most of these gets to be more in line with the changes we\u0027ve already made elsewhere.","commit_id":"f568d09543b8e44b712e0565ca62845f1cc6f911"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"0d02825ee55faff454e4a12d95cd7cb046e8a9fb","unresolved":false,"context_lines":[{"line_number":368,"context_line":"def volume_attachment_get_all_by_project(context, project_id, filters\u003dNone,"},{"line_number":369,"context_line":"                                         marker\u003dNone, limit\u003dNone, offset\u003dNone,"},{"line_number":370,"context_line":"                                         sort_keys\u003dNone, sort_dirs\u003dNone):"},{"line_number":371,"context_line":"    return IMPL.volume_attachments_get_all_by_project(context, project_id,"},{"line_number":372,"context_line":"                                                      filters, marker, limit,"},{"line_number":373,"context_line":"                                                      offset, sort_keys,"},{"line_number":374,"context_line":"                                                      sort_dirs)"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a71b18c_91bcb9bc","line":371,"range":{"start_line":371,"start_character":23,"end_line":371,"end_character":34},"updated":"2016-12-11 18:49:26.000000000","message":"s/attachments/attachment/","commit_id":"8b3854b3584ea9c0e8814d5d26f30264a3e6cf21"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"87c65586c2a524cd6391aee1f2dba509c800c13f","unresolved":false,"context_lines":[{"line_number":368,"context_line":"def volume_attachment_get_all_by_project(context, project_id, filters\u003dNone,"},{"line_number":369,"context_line":"                                         marker\u003dNone, limit\u003dNone, offset\u003dNone,"},{"line_number":370,"context_line":"                                         sort_keys\u003dNone, sort_dirs\u003dNone):"},{"line_number":371,"context_line":"    return IMPL.volume_attachments_get_all_by_project(context, project_id,"},{"line_number":372,"context_line":"                                                      filters, marker, limit,"},{"line_number":373,"context_line":"                                                      offset, sort_keys,"},{"line_number":374,"context_line":"                                                      sort_dirs)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1a6eadb0_e7c0af52","line":371,"range":{"start_line":371,"start_character":23,"end_line":371,"end_character":34},"in_reply_to":"1a6eadb0_7474f4ce","updated":"2016-12-15 21:25:51.000000000","message":"Marked done, but there isn\u0027t a newer patchset. Do you have something that needs to be pushed up yet?","commit_id":"8b3854b3584ea9c0e8814d5d26f30264a3e6cf21"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"c23a11dab07fcb257bae226667414022f1c27f40","unresolved":false,"context_lines":[{"line_number":368,"context_line":"def volume_attachment_get_all_by_project(context, project_id, filters\u003dNone,"},{"line_number":369,"context_line":"                                         marker\u003dNone, limit\u003dNone, offset\u003dNone,"},{"line_number":370,"context_line":"                                         sort_keys\u003dNone, sort_dirs\u003dNone):"},{"line_number":371,"context_line":"    return IMPL.volume_attachments_get_all_by_project(context, project_id,"},{"line_number":372,"context_line":"                                                      filters, marker, limit,"},{"line_number":373,"context_line":"                                                      offset, sort_keys,"},{"line_number":374,"context_line":"                                                      sort_dirs)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1a6eadb0_7474f4ce","line":371,"range":{"start_line":371,"start_character":23,"end_line":371,"end_character":34},"in_reply_to":"3a71b18c_91bcb9bc","updated":"2016-12-13 23:51:51.000000000","message":"Done","commit_id":"8b3854b3584ea9c0e8814d5d26f30264a3e6cf21"}],"cinder/db/sqlalchemy/api.py":[{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"fe0f691e1779df62ec60984d39b567d3739b1062","unresolved":false,"context_lines":[{"line_number":1720,"context_line":"def _attachment_get(context, attachment_id, session\u003dNone, read_deleted\u003dFalse,"},{"line_number":1721,"context_line":"                    project_only\u003dTrue):"},{"line_number":1722,"context_line":"    result \u003d model_query(context, models.VolumeAttachment, session\u003dsession,"},{"line_number":1723,"context_line":"                         project_only\u003dproject_only,"},{"line_number":1724,"context_line":"                         read_deleted\u003dread_deleted).\\"},{"line_number":1725,"context_line":"        filter_by(id\u003dattachment_id).\\"},{"line_number":1726,"context_line":"        first()"},{"line_number":1727,"context_line":""},{"line_number":1728,"context_line":"    if not result:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_358ed578","line":1725,"range":{"start_line":1723,"start_character":4,"end_line":1725,"end_character":37},"updated":"2016-10-12 01:33:14.000000000","message":"any possible to replace the backslash[1] ?\n\n[1] http://docs.openstack.org/developer/hacking/","commit_id":"92be638266047bf2250bde550505886e2fc0af37"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"d77bf8adc92eac786b5faf77147b52e81b016b28","unresolved":false,"context_lines":[{"line_number":1720,"context_line":"def _attachment_get(context, attachment_id, session\u003dNone, read_deleted\u003dFalse,"},{"line_number":1721,"context_line":"                    project_only\u003dTrue):"},{"line_number":1722,"context_line":"    result \u003d model_query(context, models.VolumeAttachment, session\u003dsession,"},{"line_number":1723,"context_line":"                         project_only\u003dproject_only,"},{"line_number":1724,"context_line":"                         read_deleted\u003dread_deleted).\\"},{"line_number":1725,"context_line":"        filter_by(id\u003dattachment_id).\\"},{"line_number":1726,"context_line":"        first()"},{"line_number":1727,"context_line":""},{"line_number":1728,"context_line":"    if not result:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_c8309beb","line":1725,"range":{"start_line":1723,"start_character":4,"end_line":1725,"end_character":37},"in_reply_to":"fa6399be_358ed578","updated":"2016-10-12 04:26:39.000000000","message":"That\u0027s my least favorite hacking recommendation, IMHO it tends to make the code more difficult to read.  More importantly though, pep8 will fail if I break on \u0027.\u0027\n\nThe good thing though is that I can condense this down to fit without using the continuations.  I\u0027d still argue that it is actually less readable, but it follows the hacking recommendation so good enough I suppose.","commit_id":"92be638266047bf2250bde550505886e2fc0af37"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"f0d5455a9ce30d706319364267588995dc0bcbfb","unresolved":false,"context_lines":[{"line_number":1720,"context_line":"def _attachment_get(context, attachment_id, session\u003dNone, read_deleted\u003dFalse,"},{"line_number":1721,"context_line":"                    project_only\u003dTrue):"},{"line_number":1722,"context_line":"    result \u003d model_query(context, models.VolumeAttachment, session\u003dsession,"},{"line_number":1723,"context_line":"                         project_only\u003dproject_only,"},{"line_number":1724,"context_line":"                         read_deleted\u003dread_deleted).\\"},{"line_number":1725,"context_line":"        filter_by(id\u003dattachment_id).\\"},{"line_number":1726,"context_line":"        first()"},{"line_number":1727,"context_line":""},{"line_number":1728,"context_line":"    if not result:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_7603f042","line":1725,"range":{"start_line":1723,"start_character":4,"end_line":1725,"end_character":37},"in_reply_to":"fa6399be_c8309beb","updated":"2016-10-12 06:20:26.000000000","message":"seems reasonable, maybe I misunderstood the purpose of hacking recommendation when I used the word \u0027possible\u0027 rather than \u0027better\u0027","commit_id":"92be638266047bf2250bde550505886e2fc0af37"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"fe0f691e1779df62ec60984d39b567d3739b1062","unresolved":false,"context_lines":[{"line_number":1764,"context_line":"    query \u003d _attachment_get_query("},{"line_number":1765,"context_line":"        context,"},{"line_number":1766,"context_line":"        session\u003dsession).filter_by(volume_id\u003dvolume_id)"},{"line_number":1767,"context_line":"    if filters:"},{"line_number":1768,"context_line":"        query \u003d _process_attachment_filters(query, filters)"},{"line_number":1769,"context_line":"        if query is None:"},{"line_number":1770,"context_line":"            return []"},{"line_number":1771,"context_line":"    return query.all()"},{"line_number":1772,"context_line":""},{"line_number":1773,"context_line":""},{"line_number":1774,"context_line":"@require_context"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_75e20dd7","line":1771,"range":{"start_line":1767,"start_character":3,"end_line":1771,"end_character":22},"updated":"2016-10-12 01:33:14.000000000","message":"as the  method \u0027_process_attachment_filters\u0027 called in several different places and is defined \u0027private\u0027,I\u0027d like to put the argument\u0027s check only inside of the method","commit_id":"92be638266047bf2250bde550505886e2fc0af37"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"d77bf8adc92eac786b5faf77147b52e81b016b28","unresolved":false,"context_lines":[{"line_number":1764,"context_line":"    query \u003d _attachment_get_query("},{"line_number":1765,"context_line":"        context,"},{"line_number":1766,"context_line":"        session\u003dsession).filter_by(volume_id\u003dvolume_id)"},{"line_number":1767,"context_line":"    if filters:"},{"line_number":1768,"context_line":"        query \u003d _process_attachment_filters(query, filters)"},{"line_number":1769,"context_line":"        if query is None:"},{"line_number":1770,"context_line":"            return []"},{"line_number":1771,"context_line":"    return query.all()"},{"line_number":1772,"context_line":""},{"line_number":1773,"context_line":""},{"line_number":1774,"context_line":"@require_context"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_a81e0761","line":1771,"range":{"start_line":1767,"start_character":3,"end_line":1771,"end_character":22},"in_reply_to":"fa6399be_75e20dd7","updated":"2016-10-12 04:26:39.000000000","message":"You mean combine the section from line #1767 to #1770 into the _attachment_get_query method?\n\nThat\u0027s a good idea, IIRC though part of the reason it\u0027s broken out like this is due to how the PAGINATION_HELPERS are set up.  I could be wrong though, I\u0027ll have a look and see if I can do something like that and still have Pagination work correctly.","commit_id":"92be638266047bf2250bde550505886e2fc0af37"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"f0d5455a9ce30d706319364267588995dc0bcbfb","unresolved":false,"context_lines":[{"line_number":1764,"context_line":"    query \u003d _attachment_get_query("},{"line_number":1765,"context_line":"        context,"},{"line_number":1766,"context_line":"        session\u003dsession).filter_by(volume_id\u003dvolume_id)"},{"line_number":1767,"context_line":"    if filters:"},{"line_number":1768,"context_line":"        query \u003d _process_attachment_filters(query, filters)"},{"line_number":1769,"context_line":"        if query is None:"},{"line_number":1770,"context_line":"            return []"},{"line_number":1771,"context_line":"    return query.all()"},{"line_number":1772,"context_line":""},{"line_number":1773,"context_line":""},{"line_number":1774,"context_line":"@require_context"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_d6459cb3","line":1771,"range":{"start_line":1767,"start_character":3,"end_line":1771,"end_character":22},"in_reply_to":"fa6399be_a81e0761","updated":"2016-10-12 06:20:26.000000000","message":"yes,you are right~, if the return codes here can not be moved inside to the function, it\u0027s better to keep the code unchanged.","commit_id":"92be638266047bf2250bde550505886e2fc0af37"}],"cinder/db/sqlalchemy/migrate_repo/versions/085_add_project_id_to_attachment.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"f385ecc1d58174249522a6261a9f1ada4084733e","unresolved":false,"context_lines":[{"line_number":13,"context_line":"from sqlalchemy import Column, MetaData, String, Table"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"def upgrade(migrate_engine):"},{"line_number":17,"context_line":"    \"\"\"Add project_id to the volume_attachment table.\"\"\""},{"line_number":18,"context_line":"    meta \u003d MetaData()"},{"line_number":19,"context_line":"    meta.bind \u003d migrate_engine"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    attachments \u003d Table(\u0027volume_attachment\u0027, meta, autoload\u003dTrue)"},{"line_number":22,"context_line":"    project_id \u003d Column(\u0027project_id\u0027, String(length\u003d255))"},{"line_number":23,"context_line":"    attachments.create_column(project_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a77a97e_6e0dfe36","line":23,"range":{"start_line":16,"start_character":0,"end_line":23,"end_character":41},"updated":"2016-11-21 15:58:15.000000000","message":"Do we need to duplicate this info in another table? Can\u0027t we just get it through join with `volume` table [1]?\n\n[1] https://github.com/openstack/cinder/blob/325f99a64aeb3e7a768904781d854c19bb540580/cinder/db/sqlalchemy/models.py#L341-L345","commit_id":"cc429206ebb2ee0eea53561bcb461e31fbe87f36"}],"cinder/db/sqlalchemy/migrate_repo/versions/086_add_project_id_to_attachment.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"0cb6cff6217c0225dc4f5e8c6b4cc19ac4b10ba3","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    attachments \u003d Table(\u0027volume_attachment\u0027, meta, autoload\u003dTrue)"},{"line_number":22,"context_line":"    project_id \u003d Column(\u0027project_id\u0027, String(length\u003d255))"},{"line_number":23,"context_line":"    attachments.create_column(project_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a77a97e_17713d44","line":23,"updated":"2016-11-18 17:16:48.000000000","message":"what about existing attachments?  They won\u0027t have anything populated for the project_id?","commit_id":"5f5f3711ead00d9c3af762c01be4e3d364b49f05"}]}
