)]}'
{"config/general_config/README.rst":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"8a11e02259eac252953df8dcb9a1df745e486521","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Run fs-matrix.py and copy the contents of the output into"},{"line_number":8,"context_line":"doc/source/featureset-configuration.rst."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"   $ python fs-matrix.py"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_2de94a19","line":10,"updated":"2019-07-29 07:24:17.000000000","message":"maybe not here but perhaps we can add this to pre-commit hook or somewhere similar ?","commit_id":"70275e3b0b04cff91a4a1f54efaf9931b8af34d5"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"cadc0fd9aea5400c365cb9a71cb3eac51a96311c","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Run fs-matrix.py and copy the contents of the output into"},{"line_number":8,"context_line":"doc/source/featureset-configuration.rst."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"   $ python fs-matrix.py"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_d55ef474","line":10,"in_reply_to":"7faddb67_2de94a19","updated":"2019-07-29 18:53:15.000000000","message":"can we leave this to a follow-up patch as an improvement?","commit_id":"70275e3b0b04cff91a4a1f54efaf9931b8af34d5"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"950f467622c72afba4fa191e23d76df543265dc1","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Run fs-matrix.py and copy the contents of the output into"},{"line_number":8,"context_line":"doc/source/featureset-configuration.rst."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"   $ python fs-matrix.py"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_b186e512","line":10,"in_reply_to":"7faddb67_d55ef474","updated":"2019-07-30 07:00:17.000000000","message":"yes for sure i should have been clearer in my comment the \u0027maybe\u0027 was unnecessary","commit_id":"70275e3b0b04cff91a4a1f54efaf9931b8af34d5"},{"author":{"_account_id":9592,"name":"wes hayutin","email":"whayutin@redhat.com","username":"weshayutin"},"change_message_id":"c879193156ac2e509d239b94adc964cf409726d3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Run fs-matrix.py and copy the contents of the output into"},{"line_number":8,"context_line":"doc/source/featureset-configuration.rst."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"   $ python fs-matrix.py"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7faddb67_1c7d8db1","line":9,"updated":"2019-07-30 12:02:29.000000000","message":"note that this is python3 only","commit_id":"06a9d4a183d34243c47376ce106a6e77c9e78e8c"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"df4872936b021591c15bb1db4a3e8a8f188a900f","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"   $ python3 fs-matrix.py"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Note: Pyhton3+ only is supported"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_188b471f","line":12,"range":{"start_line":12,"start_character":8,"end_line":12,"end_character":10},"updated":"2019-07-31 07:01:13.000000000","message":".","commit_id":"09b8b1481ff0a973977fb3cc00d1a4ff2928a50a"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"fd6d21c3597b8d8eb86e9ccfed01861a471b8611","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Updating fs files"},{"line_number":2,"context_line":"-----------------"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"Whenever you change a featureset file, run doc/source/fs-matrix.py script to"},{"line_number":5,"context_line":"update the featureset configuration matrix."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Run fs-matrix.py and copy the contents of the output into"},{"line_number":8,"context_line":"doc/source/featureset-configuration.rst."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_937fd513","line":5,"range":{"start_line":4,"start_character":0,"end_line":5,"end_character":43},"updated":"2019-08-05 10:46:28.000000000","message":"You can easily avoid this manual practice that nobody should remember doing by including it as a local pre-commit hook.\n\nIf you want I can show, is very easy.\n\nBetter to avoid making the workflow more complex, whenever is possible.","commit_id":"a88857c5938670df7f9777831462849fbb0f09fa"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"b69cb551fb702cc25d6bcd37f6296b228f9e6e13","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"   $ python3 fs-matrix.py"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Note: Pyhton3+ only is supported"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_3bb83d0f","line":12,"range":{"start_line":12,"start_character":8,"end_line":12,"end_character":10},"updated":"2019-08-05 07:42:21.000000000","message":".","commit_id":"a88857c5938670df7f9777831462849fbb0f09fa"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"1d81ac859f7fb4208f547147655087620ca4e20b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"7faddb67_2996a24d","updated":"2019-08-06 07:01:12.000000000","message":"add note about the pre-commit hook and tox -e docs","commit_id":"f188620f125c959858107569bb235b329cc2a2e9"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"b32a8be6b8266a5ae7bf0c77609a82d1c4c48b48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"7faddb67_ce0a6c88","in_reply_to":"7faddb67_2996a24d","updated":"2019-08-06 13:15:50.000000000","message":"I doubt he needs to document it. Anyone that is touching the docs should run tox -e lint,doc anyway.\n\nEven if they \"forget\" the CI will slap them. Next time they will know what to do.","commit_id":"f188620f125c959858107569bb235b329cc2a2e9"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"03d4569d86d235629b9c97fdbaa5aad44004e450","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"7faddb67_64ab5487","in_reply_to":"7faddb67_ce0a6c88","updated":"2019-08-06 16:38:18.000000000","message":"oops this file can be removed","commit_id":"f188620f125c959858107569bb235b329cc2a2e9"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"1d81ac859f7fb4208f547147655087620ca4e20b","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"   $ python3 fs-matrix.py"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Note: Pyhton3+ only is supported"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_69a81a8b","line":12,"range":{"start_line":12,"start_character":8,"end_line":12,"end_character":10},"updated":"2019-08-06 07:01:12.000000000","message":"COME ON FIX THIS !  3rd time so gonna escalate with -1 :D","commit_id":"f188620f125c959858107569bb235b329cc2a2e9"},{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"b32a8be6b8266a5ae7bf0c77609a82d1c4c48b48","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"   $ python3 fs-matrix.py"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Note: Pyhton3+ only is supported"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_6efd786c","line":12,"range":{"start_line":12,"start_character":8,"end_line":12,"end_character":10},"in_reply_to":"7faddb67_69a81a8b","updated":"2019-08-06 13:15:50.000000000","message":"True, in fact can be removed completely.","commit_id":"f188620f125c959858107569bb235b329cc2a2e9"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"03d4569d86d235629b9c97fdbaa5aad44004e450","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"   $ python3 fs-matrix.py"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Note: Pyhton3+ only is supported"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_c49b2870","line":12,"range":{"start_line":12,"start_character":8,"end_line":12,"end_character":10},"in_reply_to":"7faddb67_6efd786c","updated":"2019-08-06 16:38:18.000000000","message":"yep, kill!","commit_id":"f188620f125c959858107569bb235b329cc2a2e9"}],"doc/source/feature-configuration-generated.rst":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"1d81ac859f7fb4208f547147655087620ca4e20b","unresolved":false,"context_lines":[{"line_number":109,"context_line":"+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+"},{"line_number":110,"context_line":"| 061_  |       |   ❍   |   ❍   |   ◉   |       |       |   ❍   |       |   ❍   |   ❍   |       |   ❍   |       |       |       |   ◉   |       |       |       |       |       |"},{"line_number":111,"context_line":"+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+"},{"line_number":112,"context_line":"| 099_  |       |       |       |       |       |       |       |       |       |       |       |   ❍   |       |       |   ◉   |   ◉   |       |       |       |       |       |"},{"line_number":113,"context_line":"+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_8999d66d","line":112,"updated":"2019-08-06 07:01:12.000000000","message":"tried it with tox -e docs just now and it is warning about these all being unkown targets: \n\ndoc/source/feature-configuration-generated.rst:110: WARNING: Unknown target name: \"061\".\n\ntripleo-quickstart/doc/source/feature-configuration-generated.rst:4: WARNING: Unknown target name: \"001\".\n\ntripleo-quickstart/doc/source/feature-configuration-generated.rst:6: WARNING: Unknown target name: \"002\".\n\n\ndo we need to include those here (well, generate them with the py code)\n\nor is the idea we take this output and copy into the existing file, which has the links?\n\nwould be better to generate them here i think","commit_id":"f188620f125c959858107569bb235b329cc2a2e9"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"03d4569d86d235629b9c97fdbaa5aad44004e450","unresolved":false,"context_lines":[{"line_number":109,"context_line":"+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+"},{"line_number":110,"context_line":"| 061_  |       |   ❍   |   ❍   |   ◉   |       |       |   ❍   |       |   ❍   |   ❍   |       |   ❍   |       |       |       |   ◉   |       |       |       |       |       |"},{"line_number":111,"context_line":"+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+"},{"line_number":112,"context_line":"| 099_  |       |       |       |       |       |       |       |       |       |       |       |   ❍   |       |       |   ◉   |   ◉   |       |       |       |       |       |"},{"line_number":113,"context_line":"+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_44965840","line":112,"in_reply_to":"7faddb67_8999d66d","updated":"2019-08-06 16:38:18.000000000","message":"yes, need to move them to the generated file...","commit_id":"f188620f125c959858107569bb235b329cc2a2e9"}],"doc/source/feature-configuration.rst":[{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"b32a8be6b8266a5ae7bf0c77609a82d1c4c48b48","unresolved":false,"context_lines":[{"line_number":18,"context_line":"in each feature set configuration file in each column. When adding new configurations"},{"line_number":19,"context_line":"please consult the following `etherpad \u003chttps://etherpad.openstack.org/p/quickstart-featuresets\u003e`_"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":".. ######################################################################"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"   ATTENTION: Do NOT manually edit this matrix directly !!"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"   The matrix below is generated by fs-matrix.py, and it loads featureset"},{"line_number":26,"context_line":"   configurations from `source code"},{"line_number":27,"context_line":"   \u003chttps://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config/\u003e`_"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"   Run fs-matrix.py and copy the contents of the output below:"},{"line_number":30,"context_line":"   $ python fs-matrix.py"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"   #######################################################################"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":".. include:: feature-configuration-generated.rst"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_ae15b09d","line":32,"range":{"start_line":21,"start_character":3,"end_line":32,"end_character":71},"updated":"2019-08-06 13:15:50.000000000","message":"In fac this needs to go away. It is obvious that file is generated.\n\nStill, if you want you should include a comment in the generated file itself instead of here, just ask user to run \u0027tox -e linters,docs\u0027 before pushing a CR.","commit_id":"f188620f125c959858107569bb235b329cc2a2e9"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"03d4569d86d235629b9c97fdbaa5aad44004e450","unresolved":false,"context_lines":[{"line_number":18,"context_line":"in each feature set configuration file in each column. When adding new configurations"},{"line_number":19,"context_line":"please consult the following `etherpad \u003chttps://etherpad.openstack.org/p/quickstart-featuresets\u003e`_"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":".. ######################################################################"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"   ATTENTION: Do NOT manually edit this matrix directly !!"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"   The matrix below is generated by fs-matrix.py, and it loads featureset"},{"line_number":26,"context_line":"   configurations from `source code"},{"line_number":27,"context_line":"   \u003chttps://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config/\u003e`_"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"   Run fs-matrix.py and copy the contents of the output below:"},{"line_number":30,"context_line":"   $ python fs-matrix.py"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"   #######################################################################"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":".. include:: feature-configuration-generated.rst"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7faddb67_a4bcecba","line":32,"range":{"start_line":21,"start_character":3,"end_line":32,"end_character":71},"in_reply_to":"7faddb67_ae15b09d","updated":"2019-08-06 16:38:18.000000000","message":"ack","commit_id":"f188620f125c959858107569bb235b329cc2a2e9"}],"fs-matrix.py":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"68762ec2e3147ccc550c4d2e153c41f8f021e866","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#   Copyright Red Hat, Inc. All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#   not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_cdc0b67f","line":1,"updated":"2019-07-29 07:33:24.000000000","message":"Since it is a standalone script, it would be good to include python shebang here?","commit_id":"70275e3b0b04cff91a4a1f54efaf9931b8af34d5"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"cadc0fd9aea5400c365cb9a71cb3eac51a96311c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#   Copyright Red Hat, Inc. All Rights Reserved."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#   not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_3a35f7da","line":1,"in_reply_to":"7faddb67_cdc0b67f","updated":"2019-07-29 18:53:15.000000000","message":"done","commit_id":"70275e3b0b04cff91a4a1f54efaf9931b8af34d5"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"68762ec2e3147ccc550c4d2e153c41f8f021e866","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# -*- coding: utf-8 -*-"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import os"},{"line_number":18,"context_line":"from texttable import Texttable"},{"line_number":19,"context_line":"import yaml"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# featureset mapping to match fs configuration files"},{"line_number":22,"context_line":"# \u003cfeature_setting_name\u003e: [\u003cenabled_value\u003e, \u003cacronym\u003e, \u003cdescription\u003e]"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_adc53a90","line":19,"range":{"start_line":18,"start_character":0,"end_line":19,"end_character":11},"updated":"2019-07-29 07:33:24.000000000","message":"Does these third party modules are listed anywhere in the requirements.txt?","commit_id":"70275e3b0b04cff91a4a1f54efaf9931b8af34d5"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"cadc0fd9aea5400c365cb9a71cb3eac51a96311c","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# -*- coding: utf-8 -*-"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import os"},{"line_number":18,"context_line":"from texttable import Texttable"},{"line_number":19,"context_line":"import yaml"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# featureset mapping to match fs configuration files"},{"line_number":22,"context_line":"# \u003cfeature_setting_name\u003e: [\u003cenabled_value\u003e, \u003cacronym\u003e, \u003cdescription\u003e]"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_1a503b0a","line":19,"range":{"start_line":18,"start_character":0,"end_line":19,"end_character":11},"in_reply_to":"7faddb67_adc53a90","updated":"2019-07-29 18:53:15.000000000","message":"done texttable and pyyaml","commit_id":"70275e3b0b04cff91a4a1f54efaf9931b8af34d5"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"68762ec2e3147ccc550c4d2e153c41f8f021e866","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        fs_dict \u003d {}"},{"line_number":80,"context_line":"        if fs_filename.startswith(\u0027featureset0\u0027) and \\"},{"line_number":81,"context_line":"           fs_filename.endswith(\u0027.yml\u0027):"},{"line_number":82,"context_line":"            with open(\u0027./config/general_config/\u0027 + fs_filename) as fs_file:"},{"line_number":83,"context_line":"                fs_dict \u003d yaml.load(fs_file)"},{"line_number":84,"context_line":"                datarow \u003d add_fs_to_matrix(fs_dict, fs_filename)"},{"line_number":85,"context_line":"                t.add_rows([columns, datarow])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_8dbabe07","line":82,"range":{"start_line":82,"start_character":22,"end_line":82,"end_character":47},"updated":"2019-07-29 07:33:24.000000000","message":"Can we do something like this, use __file__ and find the script path and then traverse back to find the general_config path?","commit_id":"70275e3b0b04cff91a4a1f54efaf9931b8af34d5"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"cadc0fd9aea5400c365cb9a71cb3eac51a96311c","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        fs_dict \u003d {}"},{"line_number":80,"context_line":"        if fs_filename.startswith(\u0027featureset0\u0027) and \\"},{"line_number":81,"context_line":"           fs_filename.endswith(\u0027.yml\u0027):"},{"line_number":82,"context_line":"            with open(\u0027./config/general_config/\u0027 + fs_filename) as fs_file:"},{"line_number":83,"context_line":"                fs_dict \u003d yaml.load(fs_file)"},{"line_number":84,"context_line":"                datarow \u003d add_fs_to_matrix(fs_dict, fs_filename)"},{"line_number":85,"context_line":"                t.add_rows([columns, datarow])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_5a68f385","line":82,"range":{"start_line":82,"start_character":22,"end_line":82,"end_character":47},"in_reply_to":"7faddb67_8dbabe07","updated":"2019-07-29 18:53:15.000000000","message":"done","commit_id":"70275e3b0b04cff91a4a1f54efaf9931b8af34d5"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"68762ec2e3147ccc550c4d2e153c41f8f021e866","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    print(t.draw() + \u0027\\n\u0027)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"def add_fs_to_matrix(fs_dict, fs_filename):"},{"line_number":90,"context_line":"    datarow \u003d [fs_filename[10:13] + \u0027_\u0027]"},{"line_number":91,"context_line":"    for k, v in sorted(features_map.items(), key\u003dlambda kv: kv[1][1]):"},{"line_number":92,"context_line":"        if k in fs_dict:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_ad4a1a24","line":89,"range":{"start_line":89,"start_character":21,"end_line":89,"end_character":41},"updated":"2019-07-29 07:33:24.000000000","message":"Please add doc strings for these function args.","commit_id":"70275e3b0b04cff91a4a1f54efaf9931b8af34d5"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"cadc0fd9aea5400c365cb9a71cb3eac51a96311c","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    print(t.draw() + \u0027\\n\u0027)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"def add_fs_to_matrix(fs_dict, fs_filename):"},{"line_number":90,"context_line":"    datarow \u003d [fs_filename[10:13] + \u0027_\u0027]"},{"line_number":91,"context_line":"    for k, v in sorted(features_map.items(), key\u003dlambda kv: kv[1][1]):"},{"line_number":92,"context_line":"        if k in fs_dict:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_fabbdfe1","line":89,"range":{"start_line":89,"start_character":21,"end_line":89,"end_character":41},"in_reply_to":"7faddb67_ad4a1a24","updated":"2019-07-29 18:53:15.000000000","message":"done","commit_id":"70275e3b0b04cff91a4a1f54efaf9931b8af34d5"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"68762ec2e3147ccc550c4d2e153c41f8f021e866","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"###"},{"line_number":137,"context_line":"load_fs()"},{"line_number":138,"context_line":"acronyms_and_symbols()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_ed40120a","line":138,"range":{"start_line":137,"start_character":0,"end_line":138,"end_character":22},"updated":"2019-07-29 07:33:24.000000000","message":"Can we use if __name__ \u003d\u003d \"_main__\":\nthen call the above methods?","commit_id":"70275e3b0b04cff91a4a1f54efaf9931b8af34d5"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"cadc0fd9aea5400c365cb9a71cb3eac51a96311c","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"###"},{"line_number":137,"context_line":"load_fs()"},{"line_number":138,"context_line":"acronyms_and_symbols()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_3a9e5763","line":138,"range":{"start_line":137,"start_character":0,"end_line":138,"end_character":22},"in_reply_to":"7faddb67_ed40120a","updated":"2019-07-29 18:53:15.000000000","message":"I don\u0027t see why we can\u0027t run as a module :)\nAdded anyway...","commit_id":"70275e3b0b04cff91a4a1f54efaf9931b8af34d5"},{"author":{"_account_id":9592,"name":"wes hayutin","email":"whayutin@redhat.com","username":"weshayutin"},"change_message_id":"c879193156ac2e509d239b94adc964cf409726d3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/python"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#   Copyright Red Hat, Inc. All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_7c74c1cf","line":1,"updated":"2019-07-30 12:02:29.000000000","message":"looks like this is python3 only, perhaps we note that?","commit_id":"06a9d4a183d34243c47376ce106a6e77c9e78e8c"}],"requirements.txt":[{"author":{"_account_id":24162,"name":"Sorin Sbârnea","display_name":"zbr","email":"ssbarnea@redhat.com","username":"ssbarnea","status":"do not feed the troll 🥕"},"change_message_id":"df6f5768f59a83dc378e853458789fd7f8bd4137","unresolved":false,"context_lines":[{"line_number":11,"context_line":"python-openstackclient"},{"line_number":12,"context_line":"python-heatclient"},{"line_number":13,"context_line":"warlock!\u003d1.3.2"},{"line_number":14,"context_line":"texttable\u003e\u003d1.6.2"},{"line_number":15,"context_line":"pyyaml\u003e\u003d5.1.1"}],"source_content_type":"text/plain","patch_set":6,"id":"7faddb67_6e59f88b","line":15,"range":{"start_line":14,"start_character":0,"end_line":15,"end_character":13},"updated":"2019-08-06 13:18:26.000000000","message":"These are clearly not runtime requirements of tqs, add them to the docs instead and avoid increasing the install footprint.\n\nPS. I would add them inside tox.ini in docs sections, or if docs have their own reqs.txt, there.","commit_id":"f188620f125c959858107569bb235b329cc2a2e9"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"f05b50cda7013cbd4e9dbbf83bd753a72ef52985","unresolved":false,"context_lines":[{"line_number":11,"context_line":"python-openstackclient"},{"line_number":12,"context_line":"python-heatclient"},{"line_number":13,"context_line":"warlock!\u003d1.3.2"},{"line_number":14,"context_line":"texttable\u003e\u003d1.6.2"},{"line_number":15,"context_line":"pyyaml\u003e\u003d5.1.1"}],"source_content_type":"text/plain","patch_set":6,"id":"7faddb67_ce990c1f","line":15,"range":{"start_line":14,"start_character":0,"end_line":15,"end_character":13},"in_reply_to":"7faddb67_6e59f88b","updated":"2019-08-06 13:21:02.000000000","message":"In all openstack projects, All the docs folder have required requirements.txt for them. For example:\nhttps://opendev.org/openstack/python-tempestconf/blame/branch/master/doc/requirements.txt","commit_id":"f188620f125c959858107569bb235b329cc2a2e9"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"03d4569d86d235629b9c97fdbaa5aad44004e450","unresolved":false,"context_lines":[{"line_number":11,"context_line":"python-openstackclient"},{"line_number":12,"context_line":"python-heatclient"},{"line_number":13,"context_line":"warlock!\u003d1.3.2"},{"line_number":14,"context_line":"texttable\u003e\u003d1.6.2"},{"line_number":15,"context_line":"pyyaml\u003e\u003d5.1.1"}],"source_content_type":"text/plain","patch_set":6,"id":"7faddb67_64e7d4e4","line":15,"range":{"start_line":14,"start_character":0,"end_line":15,"end_character":13},"in_reply_to":"7faddb67_ce990c1f","updated":"2019-08-06 16:38:18.000000000","message":"let\u0027s move to a separate file docs-requirements.txt","commit_id":"f188620f125c959858107569bb235b329cc2a2e9"}]}
