)]}'
{"glanceclient/v2/images.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f1cf8067c0438c1d2a5f69cf0f4e90156ba9b41e","unresolved":false,"context_lines":[{"line_number":324,"context_line":"        headers \u003d {}"},{"line_number":325,"context_line":"        url \u003d \u0027/v2/images/%s/import\u0027 % image_id"},{"line_number":326,"context_line":"        data \u003d {\u0027method\u0027: {\u0027name\u0027: method}}"},{"line_number":327,"context_line":"        if stores:"},{"line_number":328,"context_line":"            data[\u0027stores\u0027] \u003d stores"},{"line_number":329,"context_line":"            if allow_failure:"},{"line_number":330,"context_line":"                data[\u0027all_stores_must_succeed\u0027] \u003d \u0027false\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"1fa4df85_d6ff1765","line":327,"updated":"2020-02-26 17:40:23.000000000","message":"We have protection when used on the command line, but for cases where the client is used as a lib to programmatically call this, I wonder if we should have an additional check, or even a warning, if both stores and all_stores are not None.\n\nNothing critical by any means, just maybe something to think about whether it is worth a follow up or not.","commit_id":"49ef97c559775ae1f70cb45aac0e7aa78423dec6"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"cd18c1a70ab46d167174bdd42a511c7834b59c17","unresolved":false,"context_lines":[{"line_number":324,"context_line":"        headers \u003d {}"},{"line_number":325,"context_line":"        url \u003d \u0027/v2/images/%s/import\u0027 % image_id"},{"line_number":326,"context_line":"        data \u003d {\u0027method\u0027: {\u0027name\u0027: method}}"},{"line_number":327,"context_line":"        if stores:"},{"line_number":328,"context_line":"            data[\u0027stores\u0027] \u003d stores"},{"line_number":329,"context_line":"            if allow_failure:"},{"line_number":330,"context_line":"                data[\u0027all_stores_must_succeed\u0027] \u003d \u0027false\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"1fa4df85_317b158d","line":327,"in_reply_to":"1fa4df85_b6ae1b2c","updated":"2020-02-26 18:04:06.000000000","message":"hmm-m Actuallyu I do see problem here. While we do have most of our protections just on shell level, this block of code will actually not construct everything in the request, so API would not catch this either.","commit_id":"49ef97c559775ae1f70cb45aac0e7aa78423dec6"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"4ef3dd289a995b1349a84dd8e8e1b319ce6d6cb1","unresolved":false,"context_lines":[{"line_number":324,"context_line":"        headers \u003d {}"},{"line_number":325,"context_line":"        url \u003d \u0027/v2/images/%s/import\u0027 % image_id"},{"line_number":326,"context_line":"        data \u003d {\u0027method\u0027: {\u0027name\u0027: method}}"},{"line_number":327,"context_line":"        if stores:"},{"line_number":328,"context_line":"            data[\u0027stores\u0027] \u003d stores"},{"line_number":329,"context_line":"            if allow_failure:"},{"line_number":330,"context_line":"                data[\u0027all_stores_must_succeed\u0027] \u003d \u0027false\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"1fa4df85_b6ae1b2c","line":327,"in_reply_to":"1fa4df85_d6d077cc","updated":"2020-02-26 17:51:04.000000000","message":"That\u0027s my point though. We DO have protection on shell.py. But that is for when this is used as a CLI. We may also want to protect here as well for cases where it is used as just a library.","commit_id":"49ef97c559775ae1f70cb45aac0e7aa78423dec6"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"43be743f3f24544d02ffce20815ab4fc34158a64","unresolved":false,"context_lines":[{"line_number":324,"context_line":"        headers \u003d {}"},{"line_number":325,"context_line":"        url \u003d \u0027/v2/images/%s/import\u0027 % image_id"},{"line_number":326,"context_line":"        data \u003d {\u0027method\u0027: {\u0027name\u0027: method}}"},{"line_number":327,"context_line":"        if stores:"},{"line_number":328,"context_line":"            data[\u0027stores\u0027] \u003d stores"},{"line_number":329,"context_line":"            if allow_failure:"},{"line_number":330,"context_line":"                data[\u0027all_stores_must_succeed\u0027] \u003d \u0027false\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"1fa4df85_d6d077cc","line":327,"in_reply_to":"1fa4df85_d6ff1765","updated":"2020-02-26 17:48:48.000000000","message":"I guess this check is added in shell.py","commit_id":"49ef97c559775ae1f70cb45aac0e7aa78423dec6"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"34eb549fc2d178a7c679260b6689a54a82604c70","unresolved":false,"context_lines":[{"line_number":330,"context_line":"                data[\u0027all_stores_must_succeed\u0027] \u003d \u0027false\u0027"},{"line_number":331,"context_line":"        if backend is not None:"},{"line_number":332,"context_line":"            headers[\u0027x-image-meta-store\u0027] \u003d backend"},{"line_number":333,"context_line":"        if all_stores:"},{"line_number":334,"context_line":"            data[\u0027all_stores\u0027] \u003d \u0027true\u0027"},{"line_number":335,"context_line":"            if allow_failure:"},{"line_number":336,"context_line":"                data[\u0027all_stores_must_succeed\u0027] \u003d \u0027false\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_310b158f","line":333,"updated":"2020-02-26 18:29:39.000000000","message":"There is no warning to a consumer of this that if they pass both stores and all_stores that stores will be silently ignored. But I think that\u0027s fine, I think it makes some sense (as much as conflicting arguments can make sense) that if they say all_stores they really do get all_stores.","commit_id":"a5cf0b2e74f2cdea54b271f3379107c8d19c0439"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"9bcac460c555c64799fe6547234e246fd326e9d6","unresolved":false,"context_lines":[{"line_number":330,"context_line":"                data[\u0027all_stores_must_succeed\u0027] \u003d \u0027false\u0027"},{"line_number":331,"context_line":"        if backend is not None:"},{"line_number":332,"context_line":"            headers[\u0027x-image-meta-store\u0027] \u003d backend"},{"line_number":333,"context_line":"        if all_stores:"},{"line_number":334,"context_line":"            data[\u0027all_stores\u0027] \u003d \u0027true\u0027"},{"line_number":335,"context_line":"            if allow_failure:"},{"line_number":336,"context_line":"                data[\u0027all_stores_must_succeed\u0027] \u003d \u0027false\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_91f9a981","line":333,"in_reply_to":"1fa4df85_310b158f","updated":"2020-02-26 18:30:21.000000000","message":"Oh, actually, I see they both will get passed but the API will reject it. That makes sense to me too.","commit_id":"a5cf0b2e74f2cdea54b271f3379107c8d19c0439"}],"glanceclient/v2/shell.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"056c1709f08cfdc0fd9b0ef242b2b2036b61d230","unresolved":false,"context_lines":[{"line_number":281,"context_line":"                            os_all_stores\u003dall_stores,"},{"line_number":282,"context_line":"                            os_allow_failure\u003dgetattr(args,"},{"line_number":283,"context_line":"                                                     \"os_allow_failure\","},{"line_number":284,"context_line":"                                                     None))"},{"line_number":285,"context_line":"        image \u003d gc.images.get(args.id)"},{"line_number":286,"context_line":"    finally:"},{"line_number":287,"context_line":"        utils.print_image(image)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_e89da46b","line":284,"range":{"start_line":284,"start_character":53,"end_line":284,"end_character":57},"updated":"2020-02-19 10:45:45.000000000","message":"Should this changed to True as similar to line","commit_id":"30e5b008200a5f820d29cde004bb42837a2f6d9f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"056c1709f08cfdc0fd9b0ef242b2b2036b61d230","unresolved":false,"context_lines":[{"line_number":238,"context_line":"            utils.exit(\"You cannot use --uri without specifying an import \""},{"line_number":239,"context_line":"                       \"method.\")"},{"line_number":240,"context_line":"    if args.import_method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":241,"context_line":"        if backend and not (file_name or using_stdin):"},{"line_number":242,"context_line":"            utils.exit(\"--store option should only be provided with --file \""},{"line_number":243,"context_line":"                       \"option or stdin for the glance-direct import method.\")"},{"line_number":244,"context_line":"        if args.uri:"},{"line_number":245,"context_line":"            utils.exit(\"You cannot specify a --uri with the glance-direct \""},{"line_number":246,"context_line":"                       \"import method.\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_e875a400","line":243,"range":{"start_line":241,"start_character":8,"end_line":243,"end_character":78},"updated":"2020-02-19 10:45:45.000000000","message":"similar to this we also need a validation to check --stores, --all-stores, --allow-failure should not be specified if --file is not specified.","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"6e40d25a49e3805040136f2fff51137353e4e42e","unresolved":false,"context_lines":[{"line_number":238,"context_line":"            utils.exit(\"You cannot use --uri without specifying an import \""},{"line_number":239,"context_line":"                       \"method.\")"},{"line_number":240,"context_line":"    if args.import_method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":241,"context_line":"        if backend and not (file_name or using_stdin):"},{"line_number":242,"context_line":"            utils.exit(\"--store option should only be provided with --file \""},{"line_number":243,"context_line":"                       \"option or stdin for the glance-direct import method.\")"},{"line_number":244,"context_line":"        if args.uri:"},{"line_number":245,"context_line":"            utils.exit(\"You cannot specify a --uri with the glance-direct \""},{"line_number":246,"context_line":"                       \"import method.\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_0153163d","line":243,"range":{"start_line":241,"start_character":8,"end_line":243,"end_character":78},"in_reply_to":"3fa7e38b_e875a400","updated":"2020-02-24 05:15:01.000000000","message":"Done","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"89b60f5ae4441a37875f1666846f33145776d426","unresolved":false,"context_lines":[{"line_number":238,"context_line":"            utils.exit(\"You cannot use --uri without specifying an import \""},{"line_number":239,"context_line":"                       \"method.\")"},{"line_number":240,"context_line":"    if args.import_method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":241,"context_line":"        if backend and not (file_name or using_stdin):"},{"line_number":242,"context_line":"            utils.exit(\"--store option should only be provided with --file \""},{"line_number":243,"context_line":"                       \"option or stdin for the glance-direct import method.\")"},{"line_number":244,"context_line":"        if args.uri:"},{"line_number":245,"context_line":"            utils.exit(\"You cannot specify a --uri with the glance-direct \""},{"line_number":246,"context_line":"                       \"import method.\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_7e4acaae","line":243,"range":{"start_line":241,"start_character":8,"end_line":243,"end_character":78},"in_reply_to":"3fa7e38b_e875a400","updated":"2020-02-19 11:24:51.000000000","message":"we probably should, yeah","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"056c1709f08cfdc0fd9b0ef242b2b2036b61d230","unresolved":false,"context_lines":[{"line_number":254,"context_line":"            utils.exit(\"You must specify a --file or provide data via stdin \""},{"line_number":255,"context_line":"                       \"for the glance-direct import method.\")"},{"line_number":256,"context_line":"    if args.import_method \u003d\u003d \u0027web-download\u0027:"},{"line_number":257,"context_line":"        if backend and not args.uri:"},{"line_number":258,"context_line":"            utils.exit(\"--store option should only be provided with --uri \""},{"line_number":259,"context_line":"                       \"option for the web-download import method.\")"},{"line_number":260,"context_line":"        if not args.uri:"},{"line_number":261,"context_line":"            utils.exit(\"URI is required for web-download import method. \""},{"line_number":262,"context_line":"                       \"Please use \u0027--uri \u003curi\u003e\u0027.\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_a87facdc","line":259,"range":{"start_line":257,"start_character":8,"end_line":259,"end_character":68},"updated":"2020-02-19 10:45:45.000000000","message":"similar to this we also need a validation to check --stores, --all-stores, --allow-failure should not be specified if --uri is not specified.","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"89b60f5ae4441a37875f1666846f33145776d426","unresolved":false,"context_lines":[{"line_number":254,"context_line":"            utils.exit(\"You must specify a --file or provide data via stdin \""},{"line_number":255,"context_line":"                       \"for the glance-direct import method.\")"},{"line_number":256,"context_line":"    if args.import_method \u003d\u003d \u0027web-download\u0027:"},{"line_number":257,"context_line":"        if backend and not args.uri:"},{"line_number":258,"context_line":"            utils.exit(\"--store option should only be provided with --uri \""},{"line_number":259,"context_line":"                       \"option for the web-download import method.\")"},{"line_number":260,"context_line":"        if not args.uri:"},{"line_number":261,"context_line":"            utils.exit(\"URI is required for web-download import method. \""},{"line_number":262,"context_line":"                       \"Please use \u0027--uri \u003curi\u003e\u0027.\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_be584289","line":259,"range":{"start_line":257,"start_character":8,"end_line":259,"end_character":68},"in_reply_to":"3fa7e38b_a87facdc","updated":"2020-02-19 11:24:51.000000000","message":"Ditto","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"6e40d25a49e3805040136f2fff51137353e4e42e","unresolved":false,"context_lines":[{"line_number":254,"context_line":"            utils.exit(\"You must specify a --file or provide data via stdin \""},{"line_number":255,"context_line":"                       \"for the glance-direct import method.\")"},{"line_number":256,"context_line":"    if args.import_method \u003d\u003d \u0027web-download\u0027:"},{"line_number":257,"context_line":"        if backend and not args.uri:"},{"line_number":258,"context_line":"            utils.exit(\"--store option should only be provided with --uri \""},{"line_number":259,"context_line":"                       \"option for the web-download import method.\")"},{"line_number":260,"context_line":"        if not args.uri:"},{"line_number":261,"context_line":"            utils.exit(\"URI is required for web-download import method. \""},{"line_number":262,"context_line":"                       \"Please use \u0027--uri \u003curi\u003e\u0027.\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_a151e233","line":259,"range":{"start_line":257,"start_character":8,"end_line":259,"end_character":68},"in_reply_to":"3fa7e38b_a87facdc","updated":"2020-02-24 05:15:01.000000000","message":"Done","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"056c1709f08cfdc0fd9b0ef242b2b2036b61d230","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                do_image_stage(gc, args)"},{"line_number":278,"context_line":"            args.from_create \u003d True"},{"line_number":279,"context_line":"            do_image_import(gc, args,"},{"line_number":280,"context_line":"                            stores\u003dstores,"},{"line_number":281,"context_line":"                            os_all_stores\u003dall_stores,"},{"line_number":282,"context_line":"                            os_allow_failure\u003dgetattr(args,"},{"line_number":283,"context_line":"                                                     \"os_allow_failure\","},{"line_number":284,"context_line":"                                                     None))"},{"line_number":285,"context_line":"        image \u003d gc.images.get(args.id)"},{"line_number":286,"context_line":"    finally:"},{"line_number":287,"context_line":"        utils.print_image(image)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_2893bc5b","line":284,"range":{"start_line":280,"start_character":28,"end_line":284,"end_character":58},"updated":"2020-02-19 10:45:45.000000000","message":"These needs to be defined at line # 675 and need to handle accordingly there.","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"6e40d25a49e3805040136f2fff51137353e4e42e","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                do_image_stage(gc, args)"},{"line_number":278,"context_line":"            args.from_create \u003d True"},{"line_number":279,"context_line":"            do_image_import(gc, args,"},{"line_number":280,"context_line":"                            stores\u003dstores,"},{"line_number":281,"context_line":"                            os_all_stores\u003dall_stores,"},{"line_number":282,"context_line":"                            os_allow_failure\u003dgetattr(args,"},{"line_number":283,"context_line":"                                                     \"os_allow_failure\","},{"line_number":284,"context_line":"                                                     None))"},{"line_number":285,"context_line":"        image \u003d gc.images.get(args.id)"},{"line_number":286,"context_line":"    finally:"},{"line_number":287,"context_line":"        utils.print_image(image)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_6129aaa0","line":284,"range":{"start_line":280,"start_character":28,"end_line":284,"end_character":58},"in_reply_to":"3fa7e38b_2893bc5b","updated":"2020-02-24 05:15:01.000000000","message":"Done","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"89b60f5ae4441a37875f1666846f33145776d426","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                do_image_stage(gc, args)"},{"line_number":278,"context_line":"            args.from_create \u003d True"},{"line_number":279,"context_line":"            do_image_import(gc, args,"},{"line_number":280,"context_line":"                            stores\u003dstores,"},{"line_number":281,"context_line":"                            os_all_stores\u003dall_stores,"},{"line_number":282,"context_line":"                            os_allow_failure\u003dgetattr(args,"},{"line_number":283,"context_line":"                                                     \"os_allow_failure\","},{"line_number":284,"context_line":"                                                     None))"},{"line_number":285,"context_line":"        image \u003d gc.images.get(args.id)"},{"line_number":286,"context_line":"    finally:"},{"line_number":287,"context_line":"        utils.print_image(image)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_de597e90","line":284,"range":{"start_line":280,"start_character":28,"end_line":284,"end_character":58},"in_reply_to":"3fa7e38b_2893bc5b","updated":"2020-02-19 11:24:51.000000000","message":"yeah this needs to be fixed.","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"056c1709f08cfdc0fd9b0ef242b2b2036b61d230","unresolved":false,"context_lines":[{"line_number":675,"context_line":"def do_image_import(gc, args):"},{"line_number":676,"context_line":"    \"\"\"Initiate the image import taskflow.\"\"\""},{"line_number":677,"context_line":"    backend \u003d None"},{"line_number":678,"context_line":"    stores \u003d getattr(args, \"stores\", None)"},{"line_number":679,"context_line":"    all_stores \u003d getattr(args, \"os_all_stores\", None)"},{"line_number":680,"context_line":"    if (args.store and (stores or all_stores)) or (stores and all_stores):"},{"line_number":681,"context_line":"        utils.exit(\"Only one of --store, --stores and --all-stores can be \""},{"line_number":682,"context_line":"                   \"provided\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_a8956c33","line":679,"range":{"start_line":678,"start_character":4,"end_line":679,"end_character":53},"updated":"2020-02-19 10:45:45.000000000","message":"After defining required parameters in method definition at line #675 this should be changed to something like;\n\n    if not stores:\n        stores \u003d getattr(args, \"stores\", None)\n    if not all_stores:\n        all_stores \u003d getattr(args, \"os_all_stores\", None)\n    if not allow_failure:\n        allow_failure \u003d getattr(args, \"os_allow_failure\", True)","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"6e40d25a49e3805040136f2fff51137353e4e42e","unresolved":false,"context_lines":[{"line_number":675,"context_line":"def do_image_import(gc, args):"},{"line_number":676,"context_line":"    \"\"\"Initiate the image import taskflow.\"\"\""},{"line_number":677,"context_line":"    backend \u003d None"},{"line_number":678,"context_line":"    stores \u003d getattr(args, \"stores\", None)"},{"line_number":679,"context_line":"    all_stores \u003d getattr(args, \"os_all_stores\", None)"},{"line_number":680,"context_line":"    if (args.store and (stores or all_stores)) or (stores and all_stores):"},{"line_number":681,"context_line":"        utils.exit(\"Only one of --store, --stores and --all-stores can be \""},{"line_number":682,"context_line":"                   \"provided\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_e1059a17","line":679,"range":{"start_line":678,"start_character":4,"end_line":679,"end_character":53},"in_reply_to":"3fa7e38b_a8956c33","updated":"2020-02-24 05:15:01.000000000","message":"Done it differently and more efficiently","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"056c1709f08cfdc0fd9b0ef242b2b2036b61d230","unresolved":false,"context_lines":[{"line_number":697,"context_line":"                               stores\u003dstores, all_stores\u003dall_stores,"},{"line_number":698,"context_line":"                               allow_failure\u003dgetattr(args,"},{"line_number":699,"context_line":"                                                     \"os_allow_failure\","},{"line_number":700,"context_line":"                                                     True))"},{"line_number":701,"context_line":"        return"},{"line_number":702,"context_line":""},{"line_number":703,"context_line":"    # do input validation"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_086fe061","line":700,"range":{"start_line":700,"start_character":53,"end_line":700,"end_character":57},"updated":"2020-02-19 10:45:45.000000000","message":"Should it be None as to be similar at line #284","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"89b60f5ae4441a37875f1666846f33145776d426","unresolved":false,"context_lines":[{"line_number":697,"context_line":"                               stores\u003dstores, all_stores\u003dall_stores,"},{"line_number":698,"context_line":"                               allow_failure\u003dgetattr(args,"},{"line_number":699,"context_line":"                                                     \"os_allow_failure\","},{"line_number":700,"context_line":"                                                     True))"},{"line_number":701,"context_line":"        return"},{"line_number":702,"context_line":""},{"line_number":703,"context_line":"    # do input validation"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_1ea4f6a3","line":700,"range":{"start_line":700,"start_character":53,"end_line":700,"end_character":57},"in_reply_to":"3fa7e38b_086fe061","updated":"2020-02-19 11:24:51.000000000","message":"I was actually looking for that as I thought I mistakenly put None there but couldn\u0027t find it. we _should_ not even need the default value for or the usage of getattr for these as it has default value so it will always be defined in the args. Will correct the L:284 to correlate this ank keep the getattr around just for the sake of consistency.","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"056c1709f08cfdc0fd9b0ef242b2b2036b61d230","unresolved":false,"context_lines":[{"line_number":737,"context_line":""},{"line_number":738,"context_line":"    # finally, do the import"},{"line_number":739,"context_line":"    gc.images.image_import(args.id, args.import_method, args.uri,"},{"line_number":740,"context_line":"                           backend\u003dbackend)"},{"line_number":741,"context_line":""},{"line_number":742,"context_line":"    image \u003d gc.images.get(args.id)"},{"line_number":743,"context_line":"    utils.print_image(image)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_9e19c677","line":740,"updated":"2020-02-19 10:45:45.000000000","message":"Need to pass stores, all-stores, allow-failure here as well","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"056c1709f08cfdc0fd9b0ef242b2b2036b61d230","unresolved":false,"context_lines":[{"line_number":737,"context_line":""},{"line_number":738,"context_line":"    # finally, do the import"},{"line_number":739,"context_line":"    gc.images.image_import(args.id, args.import_method, args.uri,"},{"line_number":740,"context_line":"                           backend\u003dbackend)"},{"line_number":741,"context_line":""},{"line_number":742,"context_line":"    image \u003d gc.images.get(args.id)"},{"line_number":743,"context_line":"    utils.print_image(image)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_7e308aeb","line":740,"range":{"start_line":740,"start_character":27,"end_line":740,"end_character":42},"updated":"2020-02-19 10:45:45.000000000","message":"Now we should get rid of this backend parameter as it will be not usable anymore.","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"89b60f5ae4441a37875f1666846f33145776d426","unresolved":false,"context_lines":[{"line_number":737,"context_line":""},{"line_number":738,"context_line":"    # finally, do the import"},{"line_number":739,"context_line":"    gc.images.image_import(args.id, args.import_method, args.uri,"},{"line_number":740,"context_line":"                           backend\u003dbackend)"},{"line_number":741,"context_line":""},{"line_number":742,"context_line":"    image \u003d gc.images.get(args.id)"},{"line_number":743,"context_line":"    utils.print_image(image)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_9e2c6601","line":740,"in_reply_to":"3fa7e38b_9e19c677","updated":"2020-02-19 11:24:51.000000000","message":"good catch","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"6e40d25a49e3805040136f2fff51137353e4e42e","unresolved":false,"context_lines":[{"line_number":737,"context_line":""},{"line_number":738,"context_line":"    # finally, do the import"},{"line_number":739,"context_line":"    gc.images.image_import(args.id, args.import_method, args.uri,"},{"line_number":740,"context_line":"                           backend\u003dbackend)"},{"line_number":741,"context_line":""},{"line_number":742,"context_line":"    image \u003d gc.images.get(args.id)"},{"line_number":743,"context_line":"    utils.print_image(image)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_2752e2db","line":740,"in_reply_to":"3fa7e38b_9e2c6601","updated":"2020-02-24 05:15:01.000000000","message":"Done","commit_id":"888e1f330554c643a21a643ebe1f44df53ccfe8f"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f168c67d7375c2140a3e0acf676317cbe20c7b69","unresolved":false,"context_lines":[{"line_number":160,"context_line":"           default\u003dNone,"},{"line_number":161,"context_line":"           dest\u003d\u0027os_all_stores\u0027,"},{"line_number":162,"context_line":"           help\u003d_(\u0027\"all-stores\" can be ued instead of \"stores\"-list to \u0027"},{"line_number":163,"context_line":"                  \u0027indicate that image should be imported all available \u0027"},{"line_number":164,"context_line":"                  \u0027stores.\u0027))"},{"line_number":165,"context_line":"@utils.arg(\u0027--allow-failure\u0027, type\u003dstrutils.bool_from_string,"},{"line_number":166,"context_line":"           metavar\u003d\u0027[True|False]\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_07633b1c","line":163,"range":{"start_line":163,"start_character":49,"end_line":163,"end_character":61},"updated":"2020-02-26 22:22:34.000000000","message":"nit: \"imported to all\" or \"imported into all\"","commit_id":"a5cf0b2e74f2cdea54b271f3379107c8d19c0439"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d309600e2bc062299925da35a3a3124f5a6fa3eb","unresolved":false,"context_lines":[{"line_number":160,"context_line":"           default\u003dNone,"},{"line_number":161,"context_line":"           dest\u003d\u0027os_all_stores\u0027,"},{"line_number":162,"context_line":"           help\u003d_(\u0027\"all-stores\" can be ued instead of \"stores\"-list to \u0027"},{"line_number":163,"context_line":"                  \u0027indicate that image should be imported all available \u0027"},{"line_number":164,"context_line":"                  \u0027stores.\u0027))"},{"line_number":165,"context_line":"@utils.arg(\u0027--allow-failure\u0027, type\u003dstrutils.bool_from_string,"},{"line_number":166,"context_line":"           metavar\u003d\u0027[True|False]\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_7fcf0fb0","line":163,"range":{"start_line":163,"start_character":49,"end_line":163,"end_character":61},"in_reply_to":"1fa4df85_07633b1c","updated":"2020-02-27 06:50:24.000000000","message":"Done","commit_id":"a5cf0b2e74f2cdea54b271f3379107c8d19c0439"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f168c67d7375c2140a3e0acf676317cbe20c7b69","unresolved":false,"context_lines":[{"line_number":229,"context_line":"    elif args.store:"},{"line_number":230,"context_line":"        backend \u003d args.store"},{"line_number":231,"context_line":"        # determine if backend is valid"},{"line_number":232,"context_line":"        _validate_backend(backend, gc)"},{"line_number":233,"context_line":"    elif stores:"},{"line_number":234,"context_line":"        stores \u003d str(stores).split(\u0027,\u0027)"},{"line_number":235,"context_line":"        for store in stores:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_cbda0d16","line":232,"updated":"2020-02-26 22:22:34.000000000","message":"See comment at line 309.","commit_id":"a5cf0b2e74f2cdea54b271f3379107c8d19c0439"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f168c67d7375c2140a3e0acf676317cbe20c7b69","unresolved":false,"context_lines":[{"line_number":242,"context_line":"            utils.exit(\"You cannot use --uri without specifying an import \""},{"line_number":243,"context_line":"                       \"method.\")"},{"line_number":244,"context_line":"    if args.import_method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":245,"context_line":"        if backend and not (file_name or using_stdin):"},{"line_number":246,"context_line":"            utils.exit(\"--store option should only be provided with --file \""},{"line_number":247,"context_line":"                       \"option or stdin for the glance-direct import method.\")"},{"line_number":248,"context_line":"        if stores and not (file_name or using_stdin):"},{"line_number":249,"context_line":"            utils.exit(\"--stores option should only be provided with --file \""},{"line_number":250,"context_line":"                       \"option or stdin for the glance-direct import method.\")"},{"line_number":251,"context_line":"        if all_stores and not (file_name or using_stdin):"},{"line_number":252,"context_line":"            utils.exit(\"--all-stores option should only be provided with \""},{"line_number":253,"context_line":"                       \"--file option or stdin for the glance-direct import \""},{"line_number":254,"context_line":"                       \"method.\")"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        if args.uri:"},{"line_number":257,"context_line":"            utils.exit(\"You cannot specify a --uri with the glance-direct \""}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_4b0ffde0","line":254,"range":{"start_line":245,"start_character":0,"end_line":254,"end_character":33},"updated":"2020-02-26 22:22:34.000000000","message":"I\u0027m missing something here.  glance-direct MUST have either a file or stdin regardless of whether backend, stores, or all_stores is specified -- and won\u0027t that be caught by lines 259-267?  I can\u0027t figure out why this block is needed.","commit_id":"a5cf0b2e74f2cdea54b271f3379107c8d19c0439"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"25e9afa5a3ab3bda2060bfdfc16d29a8247a00b0","unresolved":false,"context_lines":[{"line_number":242,"context_line":"            utils.exit(\"You cannot use --uri without specifying an import \""},{"line_number":243,"context_line":"                       \"method.\")"},{"line_number":244,"context_line":"    if args.import_method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":245,"context_line":"        if backend and not (file_name or using_stdin):"},{"line_number":246,"context_line":"            utils.exit(\"--store option should only be provided with --file \""},{"line_number":247,"context_line":"                       \"option or stdin for the glance-direct import method.\")"},{"line_number":248,"context_line":"        if stores and not (file_name or using_stdin):"},{"line_number":249,"context_line":"            utils.exit(\"--stores option should only be provided with --file \""},{"line_number":250,"context_line":"                       \"option or stdin for the glance-direct import method.\")"},{"line_number":251,"context_line":"        if all_stores and not (file_name or using_stdin):"},{"line_number":252,"context_line":"            utils.exit(\"--all-stores option should only be provided with \""},{"line_number":253,"context_line":"                       \"--file option or stdin for the glance-direct import \""},{"line_number":254,"context_line":"                       \"method.\")"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        if args.uri:"},{"line_number":257,"context_line":"            utils.exit(\"You cannot specify a --uri with the glance-direct \""}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_54ea3a75","line":254,"range":{"start_line":245,"start_character":0,"end_line":254,"end_character":33},"in_reply_to":"1fa4df85_4b0ffde0","updated":"2020-02-27 05:11:10.000000000","message":"That makes sense, but as you see still we have this check for backend (if --store is specified) I have added it for --stores and --all-stores. IMO it should be explicit check.\n\n\nThe check at line 259-267 will be used if none of the --store, --stores or --all-stores is specified.","commit_id":"a5cf0b2e74f2cdea54b271f3379107c8d19c0439"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"fbbb80e8d897d500fa669659ea444a6e100f07bb","unresolved":false,"context_lines":[{"line_number":242,"context_line":"            utils.exit(\"You cannot use --uri without specifying an import \""},{"line_number":243,"context_line":"                       \"method.\")"},{"line_number":244,"context_line":"    if args.import_method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":245,"context_line":"        if backend and not (file_name or using_stdin):"},{"line_number":246,"context_line":"            utils.exit(\"--store option should only be provided with --file \""},{"line_number":247,"context_line":"                       \"option or stdin for the glance-direct import method.\")"},{"line_number":248,"context_line":"        if stores and not (file_name or using_stdin):"},{"line_number":249,"context_line":"            utils.exit(\"--stores option should only be provided with --file \""},{"line_number":250,"context_line":"                       \"option or stdin for the glance-direct import method.\")"},{"line_number":251,"context_line":"        if all_stores and not (file_name or using_stdin):"},{"line_number":252,"context_line":"            utils.exit(\"--all-stores option should only be provided with \""},{"line_number":253,"context_line":"                       \"--file option or stdin for the glance-direct import \""},{"line_number":254,"context_line":"                       \"method.\")"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        if args.uri:"},{"line_number":257,"context_line":"            utils.exit(\"You cannot specify a --uri with the glance-direct \""}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_d792a74b","line":254,"range":{"start_line":245,"start_character":0,"end_line":254,"end_character":33},"in_reply_to":"1fa4df85_54ea3a75","updated":"2020-02-27 14:14:47.000000000","message":"I\u0027m not going to insist on removal, but these checks don\u0027t really add any more information to the user -- regardless of whether of what you\u0027re doing, you need to have some sort of input, which is what the messages below say.","commit_id":"a5cf0b2e74f2cdea54b271f3379107c8d19c0439"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f168c67d7375c2140a3e0acf676317cbe20c7b69","unresolved":false,"context_lines":[{"line_number":266,"context_line":"            utils.exit(\"You must specify a --file or provide data via stdin \""},{"line_number":267,"context_line":"                       \"for the glance-direct import method.\")"},{"line_number":268,"context_line":"    if args.import_method \u003d\u003d \u0027web-download\u0027:"},{"line_number":269,"context_line":"        if backend and not args.uri:"},{"line_number":270,"context_line":"            utils.exit(\"--store option should only be provided with --uri \""},{"line_number":271,"context_line":"                       \"option for the web-download import method.\")"},{"line_number":272,"context_line":"        if stores and not args.uri:"},{"line_number":273,"context_line":"            utils.exit(\"--stores option should only be provided with --uri \""},{"line_number":274,"context_line":"                       \"option for the web-download import method.\")"},{"line_number":275,"context_line":"        if all_stores and not args.uri:"},{"line_number":276,"context_line":"            utils.exit(\"--all-stores option should only be provided with \""},{"line_number":277,"context_line":"                       \"--uri option for the web-download import method.\")"},{"line_number":278,"context_line":"        if not args.uri:"},{"line_number":279,"context_line":"            utils.exit(\"URI is required for web-download import method. \""},{"line_number":280,"context_line":"                       \"Please use \u0027--uri \u003curi\u003e\u0027.\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_8bd3b538","line":277,"range":{"start_line":269,"start_character":0,"end_line":277,"end_character":74},"updated":"2020-02-26 22:22:34.000000000","message":"same question as above: why isn\u0027t the check at line 278 sufficient for all 3 of these cases?","commit_id":"a5cf0b2e74f2cdea54b271f3379107c8d19c0439"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"25e9afa5a3ab3bda2060bfdfc16d29a8247a00b0","unresolved":false,"context_lines":[{"line_number":266,"context_line":"            utils.exit(\"You must specify a --file or provide data via stdin \""},{"line_number":267,"context_line":"                       \"for the glance-direct import method.\")"},{"line_number":268,"context_line":"    if args.import_method \u003d\u003d \u0027web-download\u0027:"},{"line_number":269,"context_line":"        if backend and not args.uri:"},{"line_number":270,"context_line":"            utils.exit(\"--store option should only be provided with --uri \""},{"line_number":271,"context_line":"                       \"option for the web-download import method.\")"},{"line_number":272,"context_line":"        if stores and not args.uri:"},{"line_number":273,"context_line":"            utils.exit(\"--stores option should only be provided with --uri \""},{"line_number":274,"context_line":"                       \"option for the web-download import method.\")"},{"line_number":275,"context_line":"        if all_stores and not args.uri:"},{"line_number":276,"context_line":"            utils.exit(\"--all-stores option should only be provided with \""},{"line_number":277,"context_line":"                       \"--uri option for the web-download import method.\")"},{"line_number":278,"context_line":"        if not args.uri:"},{"line_number":279,"context_line":"            utils.exit(\"URI is required for web-download import method. \""},{"line_number":280,"context_line":"                       \"Please use \u0027--uri \u003curi\u003e\u0027.\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_1404c249","line":277,"range":{"start_line":269,"start_character":0,"end_line":277,"end_character":74},"in_reply_to":"1fa4df85_8bd3b538","updated":"2020-02-27 05:11:10.000000000","message":"ditto","commit_id":"a5cf0b2e74f2cdea54b271f3379107c8d19c0439"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f168c67d7375c2140a3e0acf676317cbe20c7b69","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        enabled_backends \u003d gc.images.get_stores_info().get(\u0027stores\u0027)"},{"line_number":307,"context_line":"    except exc.HTTPNotFound:"},{"line_number":308,"context_line":"        # NOTE(abhishekk): To maintain backward compatibility"},{"line_number":309,"context_line":"        return"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    if backend:"},{"line_number":312,"context_line":"        valid_backend \u003d False"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_6b875911","line":309,"range":{"start_line":309,"start_character":8,"end_line":309,"end_character":14},"updated":"2020-02-26 22:22:34.000000000","message":"The 404 means that multistore isn\u0027t enabled in the target glance, but if we\u0027re in this function, that means that the user has specified a --store \u003cstorename\u003e argument ... so should\u0027t we be calling utils.exit with some suitable message here?","commit_id":"a5cf0b2e74f2cdea54b271f3379107c8d19c0439"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1a00b3c6be0090283f5475d27c2110e6335d82f0","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        enabled_backends \u003d gc.images.get_stores_info().get(\u0027stores\u0027)"},{"line_number":307,"context_line":"    except exc.HTTPNotFound:"},{"line_number":308,"context_line":"        # NOTE(abhishekk): To maintain backward compatibility"},{"line_number":309,"context_line":"        return"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    if backend:"},{"line_number":312,"context_line":"        valid_backend \u003d False"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_6a5aeaf3","line":309,"range":{"start_line":309,"start_character":8,"end_line":309,"end_character":14},"in_reply_to":"1fa4df85_57f477cf","updated":"2020-02-27 14:58:33.000000000","message":"It will ignore the store parameter.","commit_id":"a5cf0b2e74f2cdea54b271f3379107c8d19c0439"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f23661ad531393f39673b9efb8447e5b9c32fa1f","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        enabled_backends \u003d gc.images.get_stores_info().get(\u0027stores\u0027)"},{"line_number":307,"context_line":"    except exc.HTTPNotFound:"},{"line_number":308,"context_line":"        # NOTE(abhishekk): To maintain backward compatibility"},{"line_number":309,"context_line":"        return"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    if backend:"},{"line_number":312,"context_line":"        valid_backend \u003d False"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_a3b9ede9","line":309,"range":{"start_line":309,"start_character":8,"end_line":309,"end_character":14},"in_reply_to":"1fa4df85_6a5aeaf3","updated":"2020-02-27 17:44:19.000000000","message":"OK, then this is fine.","commit_id":"a5cf0b2e74f2cdea54b271f3379107c8d19c0439"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"25e9afa5a3ab3bda2060bfdfc16d29a8247a00b0","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        enabled_backends \u003d gc.images.get_stores_info().get(\u0027stores\u0027)"},{"line_number":307,"context_line":"    except exc.HTTPNotFound:"},{"line_number":308,"context_line":"        # NOTE(abhishekk): To maintain backward compatibility"},{"line_number":309,"context_line":"        return"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    if backend:"},{"line_number":312,"context_line":"        valid_backend \u003d False"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_74a2d64d","line":309,"range":{"start_line":309,"start_character":8,"end_line":309,"end_character":14},"in_reply_to":"1fa4df85_6b875911","updated":"2020-02-27 05:11:10.000000000","message":"As far as I remember we keep this for backward compatibility. If multiple stores is not enabled and even by mistake if user specifies --store then it should not fail.","commit_id":"a5cf0b2e74f2cdea54b271f3379107c8d19c0439"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"fbbb80e8d897d500fa669659ea444a6e100f07bb","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        enabled_backends \u003d gc.images.get_stores_info().get(\u0027stores\u0027)"},{"line_number":307,"context_line":"    except exc.HTTPNotFound:"},{"line_number":308,"context_line":"        # NOTE(abhishekk): To maintain backward compatibility"},{"line_number":309,"context_line":"        return"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    if backend:"},{"line_number":312,"context_line":"        valid_backend \u003d False"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_57f477cf","line":309,"range":{"start_line":309,"start_character":8,"end_line":309,"end_character":14},"in_reply_to":"1fa4df85_74a2d64d","updated":"2020-02-27 14:14:47.000000000","message":"Except what will happen at the API layer when the request includes a store? (I don\u0027t remember.)","commit_id":"a5cf0b2e74f2cdea54b271f3379107c8d19c0439"}]}
