)]}'
{"paunch/runner.py":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"ac5836a6a4062a85b0139e5482c1ddd090439811","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def image_exist(self, name, quiet\u003dFalse):"},{"line_number":93,"context_line":"        # the command only exists in podman."},{"line_number":94,"context_line":"        if self.cont_cmd \u003d\u003d \u0027podman\u0027:"},{"line_number":95,"context_line":"            cmd \u003d [\u0027podman\u0027, \u0027image\u0027, \u0027exists\u0027, name]"},{"line_number":96,"context_line":"            (cmd_stdout, cmd_stderr, returncode) \u003d self.execute("},{"line_number":97,"context_line":"                cmd, self.log, quiet)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_6f8cfcd6","line":94,"updated":"2019-06-25 10:07:49.000000000","message":"I think you need to put this code into the PodmanRunner class [1] instead of use a condition in the BaseRunner class.\n\nIn other words if you have specific treatment for Podman and Docker then use specific dedicated classes (PodmanRunner/DockerRunner)\n\n[1] https://github.com/openstack/paunch/blob/master/paunch/runner.py#L284","commit_id":"ed21d4f6276a2cd892ab70bcefddd9d2e0f774f0"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"e2c3a02f9615b89193fa792442080101bbeb8742","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def image_exist(self, name, quiet\u003dFalse):"},{"line_number":93,"context_line":"        # the command only exists in podman."},{"line_number":94,"context_line":"        if self.cont_cmd \u003d\u003d \u0027podman\u0027:"},{"line_number":95,"context_line":"            cmd \u003d [\u0027podman\u0027, \u0027image\u0027, \u0027exists\u0027, name]"},{"line_number":96,"context_line":"            (cmd_stdout, cmd_stderr, returncode) \u003d self.execute("},{"line_number":97,"context_line":"                cmd, self.log, quiet)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_65c3bd58","line":94,"in_reply_to":"9fb8cfa7_6f8cfcd6","updated":"2019-06-25 12:13:34.000000000","message":"Done","commit_id":"ed21d4f6276a2cd892ab70bcefddd9d2e0f774f0"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"ac5836a6a4062a85b0139e5482c1ddd090439811","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            (cmd_stdout, cmd_stderr, returncode) \u003d self.execute("},{"line_number":97,"context_line":"                cmd, self.log, quiet)"},{"line_number":98,"context_line":"            return True if returncode \u003d\u003d 0 else False"},{"line_number":99,"context_line":"        else:"},{"line_number":100,"context_line":"            self.log.warning(\"image_exist isn\u0027t supported \""},{"line_number":101,"context_line":"                             \"by %s\" % self.cont_cmd)"},{"line_number":102,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_0fbf8061","line":99,"updated":"2019-06-25 10:07:49.000000000","message":"Same comment, I think you need to move this code to the DockerRunner class by overriding `image_exist`","commit_id":"ed21d4f6276a2cd892ab70bcefddd9d2e0f774f0"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"e2c3a02f9615b89193fa792442080101bbeb8742","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            (cmd_stdout, cmd_stderr, returncode) \u003d self.execute("},{"line_number":97,"context_line":"                cmd, self.log, quiet)"},{"line_number":98,"context_line":"            return True if returncode \u003d\u003d 0 else False"},{"line_number":99,"context_line":"        else:"},{"line_number":100,"context_line":"            self.log.warning(\"image_exist isn\u0027t supported \""},{"line_number":101,"context_line":"                             \"by %s\" % self.cont_cmd)"},{"line_number":102,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_45c6b96a","line":99,"in_reply_to":"9fb8cfa7_0fbf8061","updated":"2019-06-25 12:13:34.000000000","message":"Done","commit_id":"ed21d4f6276a2cd892ab70bcefddd9d2e0f774f0"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"edf6c79abdde6c500cb9def19e8bb7508b609814","unresolved":false,"context_lines":[{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    def image_exist(self, name, quiet\u003dFalse):"},{"line_number":342,"context_line":"        cmd \u003d [\u0027podman\u0027, \u0027image\u0027, \u0027exists\u0027, name]"},{"line_number":343,"context_line":"        (cmd_stdout, cmd_stderr, returncode) \u003d self.execute("},{"line_number":344,"context_line":"            cmd, self.log, quiet)"},{"line_number":345,"context_line":"        return True if returncode \u003d\u003d 0 else False"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_2906ffcf","line":343,"range":{"start_line":343,"start_character":9,"end_line":343,"end_character":31},"updated":"2019-06-25 12:50:07.000000000","message":"if you don\u0027t take care about `cmd_stdout` and `cmd_stderr` by convention we prefer to use `_`, that prevent linter (flake8, etc...) to warn on non used variables\n\nSo something like this is enough:\n```\n_, _, returncode \u003d self.execute(cmd, self.log, quiet)\n```","commit_id":"bd32de1f209e13fd275ae8b96b6489c6a1102f66"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"73d0f8764d0ab820bdae8d30c14d4de42a572781","unresolved":false,"context_lines":[{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    def image_exist(self, name, quiet\u003dFalse):"},{"line_number":342,"context_line":"        cmd \u003d [\u0027podman\u0027, \u0027image\u0027, \u0027exists\u0027, name]"},{"line_number":343,"context_line":"        (cmd_stdout, cmd_stderr, returncode) \u003d self.execute("},{"line_number":344,"context_line":"            cmd, self.log, quiet)"},{"line_number":345,"context_line":"        return True if returncode \u003d\u003d 0 else False"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_18ea5f0e","line":343,"range":{"start_line":343,"start_character":9,"end_line":343,"end_character":31},"in_reply_to":"9fb8cfa7_2906ffcf","updated":"2019-06-25 17:10:11.000000000","message":"Done","commit_id":"bd32de1f209e13fd275ae8b96b6489c6a1102f66"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"84ced891b2fce7e22b9bd28441438c5d61611ccc","unresolved":false,"context_lines":[{"line_number":342,"context_line":"        cmd \u003d [\u0027podman\u0027, \u0027image\u0027, \u0027exists\u0027, name]"},{"line_number":343,"context_line":"        (cmd_stdout, cmd_stderr, returncode) \u003d self.execute("},{"line_number":344,"context_line":"            cmd, self.log, quiet)"},{"line_number":345,"context_line":"        return True if returncode \u003d\u003d 0 else False"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_850ef138","line":345,"range":{"start_line":345,"start_character":8,"end_line":345,"end_character":49},"updated":"2019-06-25 12:36:48.000000000","message":"return returncode \u003d\u003d 0","commit_id":"bd32de1f209e13fd275ae8b96b6489c6a1102f66"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"4774c3e0aeaa90d8436a05c54b82d133424b0b0e","unresolved":false,"context_lines":[{"line_number":342,"context_line":"        cmd \u003d [\u0027podman\u0027, \u0027image\u0027, \u0027exists\u0027, name]"},{"line_number":343,"context_line":"        (cmd_stdout, cmd_stderr, returncode) \u003d self.execute("},{"line_number":344,"context_line":"            cmd, self.log, quiet)"},{"line_number":345,"context_line":"        return True if returncode \u003d\u003d 0 else False"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_838b4466","line":345,"range":{"start_line":345,"start_character":8,"end_line":345,"end_character":49},"in_reply_to":"9fb8cfa7_788b5b67","updated":"2019-06-25 18:06:05.000000000","message":"`return returncode \u003d\u003d 0` will return a boolean of the comparison.\n\nif `returncode` is equal to 0 it will return `True` else `False`.\n\nIn other words it\u0027s equal to your actual code but in a more pythonic way but without using a ternary comparison.","commit_id":"bd32de1f209e13fd275ae8b96b6489c6a1102f66"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"8d1382d1ca9fd0562f14b2e006deb07a071ecb38","unresolved":false,"context_lines":[{"line_number":342,"context_line":"        cmd \u003d [\u0027podman\u0027, \u0027image\u0027, \u0027exists\u0027, name]"},{"line_number":343,"context_line":"        (cmd_stdout, cmd_stderr, returncode) \u003d self.execute("},{"line_number":344,"context_line":"            cmd, self.log, quiet)"},{"line_number":345,"context_line":"        return True if returncode \u003d\u003d 0 else False"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_0d2531c2","line":345,"range":{"start_line":345,"start_character":8,"end_line":345,"end_character":49},"in_reply_to":"9fb8cfa7_838b4466","updated":"2019-06-26 13:41:30.000000000","message":"thanks!","commit_id":"bd32de1f209e13fd275ae8b96b6489c6a1102f66"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"73d0f8764d0ab820bdae8d30c14d4de42a572781","unresolved":false,"context_lines":[{"line_number":342,"context_line":"        cmd \u003d [\u0027podman\u0027, \u0027image\u0027, \u0027exists\u0027, name]"},{"line_number":343,"context_line":"        (cmd_stdout, cmd_stderr, returncode) \u003d self.execute("},{"line_number":344,"context_line":"            cmd, self.log, quiet)"},{"line_number":345,"context_line":"        return True if returncode \u003d\u003d 0 else False"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_788b5b67","line":345,"range":{"start_line":345,"start_character":8,"end_line":345,"end_character":49},"in_reply_to":"9fb8cfa7_850ef138","updated":"2019-06-25 17:10:11.000000000","message":"? not sure I understand whar you mean.\n\nWe return true if returncode is 0 otherwise False.","commit_id":"bd32de1f209e13fd275ae8b96b6489c6a1102f66"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"b1183767c8e68665f151e4912f1ed5c1d81dc9e7","unresolved":false,"context_lines":[{"line_number":341,"context_line":"    def image_exist(self, name, quiet\u003dFalse):"},{"line_number":342,"context_line":"        cmd \u003d [\u0027podman\u0027, \u0027image\u0027, \u0027exists\u0027, name]"},{"line_number":343,"context_line":"        (_, _, returncode) \u003d self.execute(cmd, self.log, quiet)"},{"line_number":344,"context_line":"        return True if returncode \u003d\u003d 0 else False"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_834ee435","line":344,"updated":"2019-06-25 18:09:29.000000000","message":"Cedric comment is right, you need to replace this code by using:\n```\nreturn returncode \u003d\u003d 0\n```\n\nSee my previous explanaition on patch set 3","commit_id":"a7a6d823abf7ae6112684e3253f5849059aaf855"}]}
