)]}'
{"diskimage_builder/config.py":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"949691921512cd29c06ad5c1896ff55e623678c2","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    pass"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"ConfigProp \u003d namedtuple(\u0027ConfigProp\u0027, (\u0027name\u0027, \u0027default\u0027, \u0027type\u0027, \u0027choices\u0027,"},{"line_number":26,"context_line":"                                       \u0027nargs\u0027, \u0027help\u0027))"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bf659307_b76f26c4","line":25,"updated":"2018-03-26 04:05:10.000000000","message":"This feels like an odd datastructure for this, but I guess the main reason is that you can\u0027t leave any field out when defining it?\n\ndefinintely wants sphinx docs added for the fields and values, etc","commit_id":"29656fe442723ecd45b0967232f88a2a733fef39"},{"author":{"_account_id":10035,"name":"greghaynes","email":"greg@greghaynes.net","username":"greghaynes"},"change_message_id":"87bb8d65f3588288c585f2fd63f952e22e27cbbf","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    pass"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"ConfigProp \u003d namedtuple(\u0027ConfigProp\u0027, (\u0027name\u0027, \u0027default\u0027, \u0027type\u0027, \u0027choices\u0027,"},{"line_number":26,"context_line":"                                       \u0027nargs\u0027, \u0027help\u0027))"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bf659307_b6a60453","line":25,"in_reply_to":"bf659307_b76f26c4","updated":"2018-04-10 04:21:43.000000000","message":"The idea is these need to be used by argument parsing (both old and new) and config file definitions so I need some kind of base data structure to build everything off of.\n\nAgreed on the sphinx docs","commit_id":"29656fe442723ecd45b0967232f88a2a733fef39"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"2de4c023628c01b86ce9c968957f09c37904da57","unresolved":false,"context_lines":[{"line_number":29,"context_line":"class Config(object):"},{"line_number":30,"context_line":"    _props \u003d {"},{"line_number":31,"context_line":"        \u0027arch\u0027: ConfigProp(\u0027arch\u0027, \u0027amd64\u0027, str,"},{"line_number":32,"context_line":"                           (\u0027i386\u0027, \u0027amd64\u0027, \u0027armhf\u0027, \u0027arm64\u0027), 1,"},{"line_number":33,"context_line":"                           \u0027architecture of the image\u0027),"},{"line_number":34,"context_line":"        \u0027image-size\u0027: ConfigProp(\u0027image-size\u0027, None, int, None, 1,"},{"line_number":35,"context_line":"                                 \u0027image size in GB\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf659307_85a12597","line":32,"updated":"2018-03-29 03:09:27.000000000","message":"You\u0027re missing ppc64le and ppc64el ;p","commit_id":"29656fe442723ecd45b0967232f88a2a733fef39"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"2de4c023628c01b86ce9c968957f09c37904da57","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    def from_args(cls, args):"},{"line_number":68,"context_line":"        kwargs \u003d {}"},{"line_number":69,"context_line":"        for prop in cls.property_names():"},{"line_number":70,"context_line":"            prop \u003d prop.replace(\u0027-\u0027, \u0027_\u0027)"},{"line_number":71,"context_line":"            kwargs[prop] \u003d getattr(args, prop)"},{"line_number":72,"context_line":"        return cls(**kwargs)"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bf659307_a5fd496f","line":70,"updated":"2018-03-29 03:09:27.000000000","message":"If you added py\u003dTrue to the property_names() call isn\u0027t this unneeded?","commit_id":"29656fe442723ecd45b0967232f88a2a733fef39"},{"author":{"_account_id":10035,"name":"greghaynes","email":"greg@greghaynes.net","username":"greghaynes"},"change_message_id":"87bb8d65f3588288c585f2fd63f952e22e27cbbf","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    def from_args(cls, args):"},{"line_number":68,"context_line":"        kwargs \u003d {}"},{"line_number":69,"context_line":"        for prop in cls.property_names():"},{"line_number":70,"context_line":"            prop \u003d prop.replace(\u0027-\u0027, \u0027_\u0027)"},{"line_number":71,"context_line":"            kwargs[prop] \u003d getattr(args, prop)"},{"line_number":72,"context_line":"        return cls(**kwargs)"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bf659307_3649948a","line":70,"in_reply_to":"bf659307_a5fd496f","updated":"2018-04-10 04:21:43.000000000","message":"ah, yep","commit_id":"29656fe442723ecd45b0967232f88a2a733fef39"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"2de4c023628c01b86ce9c968957f09c37904da57","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            name \u003d prop.name"},{"line_number":80,"context_line":"            if py:"},{"line_number":81,"context_line":"                name \u003d name.replace(\u0027-\u0027, \u0027_\u0027)"},{"line_number":82,"context_line":"            try:"},{"line_number":83,"context_line":"                ret[name] \u003d overrides[prop.name]"},{"line_number":84,"context_line":"            except KeyError:"},{"line_number":85,"context_line":"                ret[name] \u003d prop.default"},{"line_number":86,"context_line":"        return ret"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def __init__(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf659307_853da52c","line":85,"range":{"start_line":82,"start_character":0,"end_line":85,"end_character":40},"updated":"2018-03-29 03:09:27.000000000","message":"Isn\u0027t this just:\n\n ret[name] \u003d overrides.get(prop.name, prop.default)\n\n?","commit_id":"29656fe442723ecd45b0967232f88a2a733fef39"},{"author":{"_account_id":21741,"name":"Andreas Florath","email":"andreas@florath.net","username":"florath"},"change_message_id":"d629fd35a7d4fcf18bfbd9627e0704eced70a91d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    _props \u003d {"},{"line_number":49,"context_line":"        \u0027arch\u0027: ConfigProp(\u0027arch\u0027, \u0027amd64\u0027, str, consts.ARCHS, 1,"},{"line_number":50,"context_line":"                           \u0027architecture of the image\u0027),"},{"line_number":51,"context_line":"        \u0027image-size\u0027: ConfigProp(\u0027image-size\u0027, None, int, None, 1,"},{"line_number":52,"context_line":"                                 \u0027image size in GB\u0027),"},{"line_number":53,"context_line":"        \u0027output-format\u0027: ConfigProp(\u0027output-format\u0027, [\u0027qcow2\u0027], str,"},{"line_number":54,"context_line":"                                    (\u0027qcow2\u0027, \u0027tar\u0027, \u0027tgz\u0027, \u0027squashfs\u0027, \u0027vhd\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_87c4b760","line":51,"updated":"2018-04-21 06:23:03.000000000","message":"These kind of parameters moved to the block device layer and IMHO these should not be repeated here. (image size of which image?)","commit_id":"513e8d009ab4f6f3342a6bfaff62bcdf6ac1f626"},{"author":{"_account_id":10035,"name":"greghaynes","email":"greg@greghaynes.net","username":"greghaynes"},"change_message_id":"b82e7010e991739023b8993683696d7f3809e70b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    _props \u003d {"},{"line_number":49,"context_line":"        \u0027arch\u0027: ConfigProp(\u0027arch\u0027, \u0027amd64\u0027, str, consts.ARCHS, 1,"},{"line_number":50,"context_line":"                           \u0027architecture of the image\u0027),"},{"line_number":51,"context_line":"        \u0027image-size\u0027: ConfigProp(\u0027image-size\u0027, None, int, None, 1,"},{"line_number":52,"context_line":"                                 \u0027image size in GB\u0027),"},{"line_number":53,"context_line":"        \u0027output-format\u0027: ConfigProp(\u0027output-format\u0027, [\u0027qcow2\u0027], str,"},{"line_number":54,"context_line":"                                    (\u0027qcow2\u0027, \u0027tar\u0027, \u0027tgz\u0027, \u0027squashfs\u0027, \u0027vhd\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_677403ff","line":51,"in_reply_to":"9f6a8fd7_87c4b760","updated":"2018-04-21 07:11:49.000000000","message":"Makes sense, how about I remove this property for now (I am trying to get the framework in place first) and then in a later patch we figure out how to incorporate block device config?","commit_id":"513e8d009ab4f6f3342a6bfaff62bcdf6ac1f626"},{"author":{"_account_id":21741,"name":"Andreas Florath","email":"andreas@florath.net","username":"florath"},"change_message_id":"d629fd35a7d4fcf18bfbd9627e0704eced70a91d","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        \u0027image-size\u0027: ConfigProp(\u0027image-size\u0027, None, int, None, 1,"},{"line_number":52,"context_line":"                                 \u0027image size in GB\u0027),"},{"line_number":53,"context_line":"        \u0027output-format\u0027: ConfigProp(\u0027output-format\u0027, [\u0027qcow2\u0027], str,"},{"line_number":54,"context_line":"                                    (\u0027qcow2\u0027, \u0027tar\u0027, \u0027tgz\u0027, \u0027squashfs\u0027, \u0027vhd\u0027,"},{"line_number":55,"context_line":"                                     \u0027docker\u0027, \u0027aci\u0027, \u0027raw\u0027), \u0027+\u0027,"},{"line_number":56,"context_line":"                                    \u0027Format of image to output\u0027),"},{"line_number":57,"context_line":"        \u0027elements\u0027: ConfigProp(\u0027elements\u0027, [], None, None, \u0027+\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_27a36bb4","line":54,"updated":"2018-04-21 06:23:03.000000000","message":"This currently is not - but IMHO should also be moved to the block device layer.","commit_id":"513e8d009ab4f6f3342a6bfaff62bcdf6ac1f626"},{"author":{"_account_id":10035,"name":"greghaynes","email":"greg@greghaynes.net","username":"greghaynes"},"change_message_id":"b82e7010e991739023b8993683696d7f3809e70b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        \u0027image-size\u0027: ConfigProp(\u0027image-size\u0027, None, int, None, 1,"},{"line_number":52,"context_line":"                                 \u0027image size in GB\u0027),"},{"line_number":53,"context_line":"        \u0027output-format\u0027: ConfigProp(\u0027output-format\u0027, [\u0027qcow2\u0027], str,"},{"line_number":54,"context_line":"                                    (\u0027qcow2\u0027, \u0027tar\u0027, \u0027tgz\u0027, \u0027squashfs\u0027, \u0027vhd\u0027,"},{"line_number":55,"context_line":"                                     \u0027docker\u0027, \u0027aci\u0027, \u0027raw\u0027), \u0027+\u0027,"},{"line_number":56,"context_line":"                                    \u0027Format of image to output\u0027),"},{"line_number":57,"context_line":"        \u0027elements\u0027: ConfigProp(\u0027elements\u0027, [], None, None, \u0027+\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f6a8fd7_2764cb49","line":54,"in_reply_to":"9f6a8fd7_27a36bb4","updated":"2018-04-21 07:11:49.000000000","message":"What about formats which are not block devices (tar, docker, etc)?","commit_id":"513e8d009ab4f6f3342a6bfaff62bcdf6ac1f626"}]}
