)]}'
{"zuul/cmd/__init__.py":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"3557633fe713bb6749b42567a0d36c1b08dd8dcb","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        for fp in locations:"},{"line_number":136,"context_line":"            if os.path.exists(os.path.expanduser(fp)):"},{"line_number":137,"context_line":"                self.config.read(os.path.expanduser(fp))"},{"line_number":138,"context_line":"                return"},{"line_number":139,"context_line":"        raise Exception(\"Unable to locate config file in %s\" % locations)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def setup_logging(self, section, parameter):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfb3d3c7_058741b7","line":138,"updated":"2019-05-28 14:06:06.000000000","message":"I\u0027m not completely opposed to switching to YAML (if we did, it should be a switch where we support both for a limited time for migration but definitely deprecate and then remove ini).  However, we did *choose* not to do that when it would have been easier as part of the zuul v3 work.  The ini format is actually pretty intuitive for this kind of data, and there is some utility to having a visual distinction between the different kind of config files.  The ini files configure how the system is constructed and runs, the yaml files are the data it uses.  Anway, that\u0027s a longer separate discussion.  I like the .d support once the comments here are addressed.","commit_id":"62114c7fc7084b56974185f955c93660abcc5045"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"4a8c4d9c95dd08ac9cafff4cb4f815bc71e5b402","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        for fp in locations:"},{"line_number":136,"context_line":"            if os.path.exists(os.path.expanduser(fp)):"},{"line_number":137,"context_line":"                self.config.read(os.path.expanduser(fp))"},{"line_number":138,"context_line":"                return"},{"line_number":139,"context_line":"        raise Exception(\"Unable to locate config file in %s\" % locations)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def setup_logging(self, section, parameter):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfb3d3c7_adea1772","line":138,"updated":"2019-05-23 16:54:11.000000000","message":"One less markup format is always a win IMO, so +1 for adding YAML and deprecating ini. But for now, for this, I think just passing the list to configparser is a win.","commit_id":"62114c7fc7084b56974185f955c93660abcc5045"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"fb7d4b2655a198dbc14b1b801977c0de3dac8ffb","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        for fp in locations:"},{"line_number":136,"context_line":"            if os.path.exists(os.path.expanduser(fp)):"},{"line_number":137,"context_line":"                self.config.read(os.path.expanduser(fp))"},{"line_number":138,"context_line":"                return"},{"line_number":139,"context_line":"        raise Exception(\"Unable to locate config file in %s\" % locations)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def setup_logging(self, section, parameter):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfb3d3c7_8795b242","line":138,"updated":"2019-05-23 14:57:04.000000000","message":"The current logic reads the first-found and then returns. I think the globbing will expand the config file list correctly, but then I think you\u0027ll need to $something to read the config in from multiple files. (something something merge)\n\nI\u0027ve been wanting for a while to change this to be yaml instead of ini for consistency. If we did that and made it yaml (or, really, ADDED support for yaml so that people could migrate) - then it might be easier to read all the files in conf.d and just do a dict-merge on the yaml dicts.\n\nWe should likely get some buy in from folks on such a thing before going too far down the rabbithole.","commit_id":"62114c7fc7084b56974185f955c93660abcc5045"},{"author":{"_account_id":16068,"name":"Tobias Henkel","email":"tobias.henkel@bmw.de","username":"tobias.henkel"},"change_message_id":"3134e5883a9b7a64e0692c1ccf646abc9b33f5ef","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        for fp in locations:"},{"line_number":136,"context_line":"            if os.path.exists(os.path.expanduser(fp)):"},{"line_number":137,"context_line":"                self.config.read(os.path.expanduser(fp))"},{"line_number":138,"context_line":"                return"},{"line_number":139,"context_line":"        raise Exception(\"Unable to locate config file in %s\" % locations)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def setup_logging(self, section, parameter):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfb3d3c7_2d22a701","line":138,"in_reply_to":"bfb3d3c7_8795b242","updated":"2019-05-23 16:49:44.000000000","message":"The configparser just supports this $something out of the box. You can either just call sels.config.read several times or just give it the list of filenames and it will just do the correct thing.","commit_id":"62114c7fc7084b56974185f955c93660abcc5045"}]}
