)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"31ba0cb4028636c3380a8a96033a4aea035c3f44","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Implementation of a command line wrapped build on top of mapping engine."},{"line_number":10,"context_line":"Its main goal is checking effects of input parsed by RuleProcessor with"},{"line_number":11,"context_line":"set of provided mapping rules. User must provide two files: a) rules"},{"line_number":12,"context_line":"file with proper JSON with mapping rules (identical to those uploaded to"},{"line_number":13,"context_line":"the server) b) a file with key-value set of environ-like parameters."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3afb71cf_e3f685d6","line":11,"updated":"2015-06-05 18:58:20.000000000","message":"I think from \u0027User must...\u0027 down to the end of this message should actually be included in documentation somewhere.","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"86d06bd110ae84531ee5c569dbd0f114aa00214f","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Implementation of a command line wrapped build on top of mapping engine."},{"line_number":10,"context_line":"Its main goal is checking effects of input parsed by RuleProcessor with"},{"line_number":11,"context_line":"set of provided mapping rules. User must provide two files: a) rules"},{"line_number":12,"context_line":"file with proper JSON with mapping rules (identical to those uploaded to"},{"line_number":13,"context_line":"the server) b) a file with key-value set of environ-like parameters."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3afb71cf_a704f9bf","line":11,"in_reply_to":"3afb71cf_e3f685d6","updated":"2015-06-08 07:14:38.000000000","message":"i updated keystone-manage.rst but only by adding main option \u0027mapping_engine\u0027.","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"31ba0cb4028636c3380a8a96033a4aea035c3f44","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Basic usage:"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"$ keystone-all mapping_engine --help"},{"line_number":18,"context_line":"$ keystone-all mapping_engine --rules \u003cpath\u003e --input \u003cpath\u003e"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Upon successful execution program outputs to the stdout a JSON structure"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3afb71cf_c32029fa","line":17,"updated":"2015-06-05 18:58:20.000000000","message":"keystone-all or keystone-manage?","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"86d06bd110ae84531ee5c569dbd0f114aa00214f","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Basic usage:"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"$ keystone-all mapping_engine --help"},{"line_number":18,"context_line":"$ keystone-all mapping_engine --rules \u003cpath\u003e --input \u003cpath\u003e"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Upon successful execution program outputs to the stdout a JSON structure"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3afb71cf_2c16b0a7","line":17,"in_reply_to":"3afb71cf_3ddb957e","updated":"2015-06-08 07:14:38.000000000","message":"keystone-manage of course.","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"cde6d96af9f70b14abdae3e777db307a11178e4c","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Basic usage:"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"$ keystone-all mapping_engine --help"},{"line_number":18,"context_line":"$ keystone-all mapping_engine --rules \u003cpath\u003e --input \u003cpath\u003e"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Upon successful execution program outputs to the stdout a JSON structure"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3afb71cf_3ddb957e","line":17,"in_reply_to":"3afb71cf_c32029fa","updated":"2015-06-05 22:01:12.000000000","message":"++ keystone-manage","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"93418c9236d48ae40494bbebd6620e4c5fd85d09","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Upon successful execution program outputs to the stdout a JSON structure"},{"line_number":21,"context_line":"with effective objects like user, group_ids and user_names."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: Ia4b2e617692ebb42693db6d335985dcb6a0969e1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3afb71cf_a2896428","line":22,"updated":"2015-06-08 20:53:08.000000000","message":"Is there a blueprint associated with this?","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"2c5a7f589f8445d81b9252b6d92304b382e5ff34","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Upon successful execution program outputs to the stdout a JSON structure"},{"line_number":21,"context_line":"with effective objects like user, group_ids and user_names."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: Ia4b2e617692ebb42693db6d335985dcb6a0969e1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3afb71cf_db21699f","line":22,"in_reply_to":"3afb71cf_a2896428","updated":"2015-06-11 08:25:21.000000000","message":"yes","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"ae46214c13c29270943d09666888635df9b85599","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Upon successful execution program outputs to the stdout a JSON structure"},{"line_number":21,"context_line":"with effective objects like user, group_ids and user_names."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Implements: bp mapping-engine-tester"},{"line_number":24,"context_line":"Change-Id: Ia4b2e617692ebb42693db6d335985dcb6a0969e1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1af86dd1_0cbc566b","line":22,"updated":"2015-06-12 02:40:12.000000000","message":"I think DocImpact should be noted here since this is a new CLI argument.","commit_id":"039b0bd9a9ba2e3a1355a380042e7e31ec811f56"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"9c952aa4ad9ecd7c04562299be30bde9366fa02e","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Upon successful execution program outputs to the stdout a JSON structure"},{"line_number":21,"context_line":"with effective objects like user, group_ids and user_names."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Implements: bp mapping-engine-tester"},{"line_number":24,"context_line":"Change-Id: Ia4b2e617692ebb42693db6d335985dcb6a0969e1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"fa32b979_5ee98619","line":22,"in_reply_to":"1af86dd1_0cbc566b","updated":"2015-06-15 11:01:08.000000000","message":"it is already updating the docs, not sure if DocImpact is needed in this kind of situation.","commit_id":"039b0bd9a9ba2e3a1355a380042e7e31ec811f56"}],"keystone/cli.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"31ba0cb4028636c3380a8a96033a4aea035c3f44","unresolved":false,"context_lines":[{"line_number":556,"context_line":"            with open(path) as file:"},{"line_number":557,"context_line":"                return jsonutils.load(file)"},{"line_number":558,"context_line":"        except ValueError as e:"},{"line_number":559,"context_line":"            raise SystemExit(\"Error while parsing rules %s: %s\" % (path, e))"},{"line_number":560,"context_line":""},{"line_number":561,"context_line":"    @staticmethod"},{"line_number":562,"context_line":"    def read_file(path):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_c31a6917","line":559,"updated":"2015-06-05 18:58:20.000000000","message":"i18n?","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"011f1ae38512495a8091a0ed18332a0a121e5daa","unresolved":false,"context_lines":[{"line_number":556,"context_line":"            with open(path) as file:"},{"line_number":557,"context_line":"                return jsonutils.load(file)"},{"line_number":558,"context_line":"        except ValueError as e:"},{"line_number":559,"context_line":"            raise SystemExit(\"Error while parsing rules %s: %s\" % (path, e))"},{"line_number":560,"context_line":""},{"line_number":561,"context_line":"    @staticmethod"},{"line_number":562,"context_line":"    def read_file(path):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_cccf1c7e","line":559,"in_reply_to":"3afb71cf_c31a6917","updated":"2015-06-08 06:45:42.000000000","message":"Done","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"31ba0cb4028636c3380a8a96033a4aea035c3f44","unresolved":false,"context_lines":[{"line_number":564,"context_line":"            with open(path) as file:"},{"line_number":565,"context_line":"                return file.read().strip()"},{"line_number":566,"context_line":"        except IOError as e:"},{"line_number":567,"context_line":"            raise SystemExit(\"Error while opening file %s: %s\" % (path, e))"},{"line_number":568,"context_line":""},{"line_number":569,"context_line":"    @staticmethod"},{"line_number":570,"context_line":"    def normalize_assertion(assertion):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_83d35138","line":567,"updated":"2015-06-05 18:58:20.000000000","message":"same","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"011f1ae38512495a8091a0ed18332a0a121e5daa","unresolved":false,"context_lines":[{"line_number":564,"context_line":"            with open(path) as file:"},{"line_number":565,"context_line":"                return file.read().strip()"},{"line_number":566,"context_line":"        except IOError as e:"},{"line_number":567,"context_line":"            raise SystemExit(\"Error while opening file %s: %s\" % (path, e))"},{"line_number":568,"context_line":""},{"line_number":569,"context_line":"    @staticmethod"},{"line_number":570,"context_line":"    def normalize_assertion(assertion):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_8cc9247b","line":567,"in_reply_to":"3afb71cf_83d35138","updated":"2015-06-08 06:45:42.000000000","message":"Done","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"31ba0cb4028636c3380a8a96033a4aea035c3f44","unresolved":false,"context_lines":[{"line_number":570,"context_line":"    def normalize_assertion(assertion):"},{"line_number":571,"context_line":"        def split(line):"},{"line_number":572,"context_line":"            try:"},{"line_number":573,"context_line":"                k, v \u003d line.split(\u0027:\u0027, 1)"},{"line_number":574,"context_line":"                return k, v"},{"line_number":575,"context_line":"            except ValueError as e:"},{"line_number":576,"context_line":"                msg \u003d \"Error while parsing line: \\\"%s\\\": %s\""}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_23b93dea","line":573,"updated":"2015-06-05 18:58:20.000000000","message":"(nit) these 2 lines could very easily be one","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"011f1ae38512495a8091a0ed18332a0a121e5daa","unresolved":false,"context_lines":[{"line_number":570,"context_line":"    def normalize_assertion(assertion):"},{"line_number":571,"context_line":"        def split(line):"},{"line_number":572,"context_line":"            try:"},{"line_number":573,"context_line":"                k, v \u003d line.split(\u0027:\u0027, 1)"},{"line_number":574,"context_line":"                return k, v"},{"line_number":575,"context_line":"            except ValueError as e:"},{"line_number":576,"context_line":"                msg \u003d \"Error while parsing line: \\\"%s\\\": %s\""}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_6cc4a85e","line":573,"in_reply_to":"3afb71cf_23b93dea","updated":"2015-06-08 06:45:42.000000000","message":"Done","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"31ba0cb4028636c3380a8a96033a4aea035c3f44","unresolved":false,"context_lines":[{"line_number":573,"context_line":"                k, v \u003d line.split(\u0027:\u0027, 1)"},{"line_number":574,"context_line":"                return k, v"},{"line_number":575,"context_line":"            except ValueError as e:"},{"line_number":576,"context_line":"                msg \u003d \"Error while parsing line: \\\"%s\\\": %s\""},{"line_number":577,"context_line":"                raise SystemExit(msg % (line, e))"},{"line_number":578,"context_line":"        assertion \u003d assertion.split(\"\\n\")"},{"line_number":579,"context_line":"        assertion_dict \u003d {}"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_c3c82977","line":576,"updated":"2015-06-05 18:58:20.000000000","message":"i18n? and surround with \u0027 so you don\u0027t need the \\","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"011f1ae38512495a8091a0ed18332a0a121e5daa","unresolved":false,"context_lines":[{"line_number":573,"context_line":"                k, v \u003d line.split(\u0027:\u0027, 1)"},{"line_number":574,"context_line":"                return k, v"},{"line_number":575,"context_line":"            except ValueError as e:"},{"line_number":576,"context_line":"                msg \u003d \"Error while parsing line: \\\"%s\\\": %s\""},{"line_number":577,"context_line":"                raise SystemExit(msg % (line, e))"},{"line_number":578,"context_line":"        assertion \u003d assertion.split(\"\\n\")"},{"line_number":579,"context_line":"        assertion_dict \u003d {}"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_ac918054","line":576,"in_reply_to":"3afb71cf_c3c82977","updated":"2015-06-08 06:45:42.000000000","message":"Done","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"31ba0cb4028636c3380a8a96033a4aea035c3f44","unresolved":false,"context_lines":[{"line_number":575,"context_line":"            except ValueError as e:"},{"line_number":576,"context_line":"                msg \u003d \"Error while parsing line: \\\"%s\\\": %s\""},{"line_number":577,"context_line":"                raise SystemExit(msg % (line, e))"},{"line_number":578,"context_line":"        assertion \u003d assertion.split(\"\\n\")"},{"line_number":579,"context_line":"        assertion_dict \u003d {}"},{"line_number":580,"context_line":"        prefix \u003d CONF.command.prefix"},{"line_number":581,"context_line":"        for line in assertion:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_83a111ac","line":578,"updated":"2015-06-05 18:58:20.000000000","message":"\u0027","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"011f1ae38512495a8091a0ed18332a0a121e5daa","unresolved":false,"context_lines":[{"line_number":575,"context_line":"            except ValueError as e:"},{"line_number":576,"context_line":"                msg \u003d \"Error while parsing line: \\\"%s\\\": %s\""},{"line_number":577,"context_line":"                raise SystemExit(msg % (line, e))"},{"line_number":578,"context_line":"        assertion \u003d assertion.split(\"\\n\")"},{"line_number":579,"context_line":"        assertion_dict \u003d {}"},{"line_number":580,"context_line":"        prefix \u003d CONF.command.prefix"},{"line_number":581,"context_line":"        for line in assertion:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_4c89ec25","line":578,"in_reply_to":"3afb71cf_83a111ac","updated":"2015-06-08 06:45:42.000000000","message":"Done","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"31ba0cb4028636c3380a8a96033a4aea035c3f44","unresolved":false,"context_lines":[{"line_number":580,"context_line":"        prefix \u003d CONF.command.prefix"},{"line_number":581,"context_line":"        for line in assertion:"},{"line_number":582,"context_line":"            k, v \u003d split(line)"},{"line_number":583,"context_line":"            k, v \u003d k.strip(), v.strip()"},{"line_number":584,"context_line":"            if prefix:"},{"line_number":585,"context_line":"                if k.startswith(prefix):"},{"line_number":586,"context_line":"                    assertion_dict[k] \u003d v"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_63305557","line":583,"updated":"2015-06-05 18:58:20.000000000","message":"why not have the split function do this too?","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"011f1ae38512495a8091a0ed18332a0a121e5daa","unresolved":false,"context_lines":[{"line_number":580,"context_line":"        prefix \u003d CONF.command.prefix"},{"line_number":581,"context_line":"        for line in assertion:"},{"line_number":582,"context_line":"            k, v \u003d split(line)"},{"line_number":583,"context_line":"            k, v \u003d k.strip(), v.strip()"},{"line_number":584,"context_line":"            if prefix:"},{"line_number":585,"context_line":"                if k.startswith(prefix):"},{"line_number":586,"context_line":"                    assertion_dict[k] \u003d v"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_ec9c185f","line":583,"in_reply_to":"3afb71cf_63305557","updated":"2015-06-08 06:45:42.000000000","message":"now it\u0027s doing that.","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"31ba0cb4028636c3380a8a96033a4aea035c3f44","unresolved":false,"context_lines":[{"line_number":591,"context_line":"    @staticmethod"},{"line_number":592,"context_line":"    def validate_options():"},{"line_number":593,"context_line":"        if not all([CONF.command.rules, CONF.command.input]):"},{"line_number":594,"context_line":"            raise SystemExit(_(\"Options --input and --rules are mandatory. \""},{"line_number":595,"context_line":"                               \"Please check the --help\"))"},{"line_number":596,"context_line":""},{"line_number":597,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_e33c4531","line":594,"updated":"2015-06-05 18:58:20.000000000","message":"\u0027","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"011f1ae38512495a8091a0ed18332a0a121e5daa","unresolved":false,"context_lines":[{"line_number":591,"context_line":"    @staticmethod"},{"line_number":592,"context_line":"    def validate_options():"},{"line_number":593,"context_line":"        if not all([CONF.command.rules, CONF.command.input]):"},{"line_number":594,"context_line":"            raise SystemExit(_(\"Options --input and --rules are mandatory. \""},{"line_number":595,"context_line":"                               \"Please check the --help\"))"},{"line_number":596,"context_line":""},{"line_number":597,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_6ca9487b","line":594,"in_reply_to":"3afb71cf_e33c4531","updated":"2015-06-08 06:45:42.000000000","message":"Done","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"cde6d96af9f70b14abdae3e777db307a11178e4c","unresolved":false,"context_lines":[{"line_number":616,"context_line":"                       cls).add_argument_parser(subparsers)"},{"line_number":617,"context_line":""},{"line_number":618,"context_line":"        parser.add_argument(\u0027--rules\u0027, default\u003dNone,"},{"line_number":619,"context_line":"                            help\u003d(\"Path to the file with \""},{"line_number":620,"context_line":"                                  \"rules to be executed. \""},{"line_number":621,"context_line":"                                  \"Content must be a proper JSON structure, \""},{"line_number":622,"context_line":"                                  \"with a top-level key \u0027rules\u0027 and \""}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_7d110dac","line":619,"updated":"2015-06-05 22:01:12.000000000","message":"use required\u003dTrue here and get rid of validate options:\nhttps://docs.python.org/3/library/argparse.html#required","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"011f1ae38512495a8091a0ed18332a0a121e5daa","unresolved":false,"context_lines":[{"line_number":616,"context_line":"                       cls).add_argument_parser(subparsers)"},{"line_number":617,"context_line":""},{"line_number":618,"context_line":"        parser.add_argument(\u0027--rules\u0027, default\u003dNone,"},{"line_number":619,"context_line":"                            help\u003d(\"Path to the file with \""},{"line_number":620,"context_line":"                                  \"rules to be executed. \""},{"line_number":621,"context_line":"                                  \"Content must be a proper JSON structure, \""},{"line_number":622,"context_line":"                                  \"with a top-level key \u0027rules\u0027 and \""}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_0cb1b4e1","line":619,"in_reply_to":"3afb71cf_7d110dac","updated":"2015-06-08 06:45:42.000000000","message":"Done","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"cde6d96af9f70b14abdae3e777db307a11178e4c","unresolved":false,"context_lines":[{"line_number":631,"context_line":"                                  \"EMAIL: me@example.com\\n\""},{"line_number":632,"context_line":"                                  \"LOGIN: me\\n\""},{"line_number":633,"context_line":"                                  \"GROUPS: group1;group2;group3\"))"},{"line_number":634,"context_line":"        parser.add_argument(\u0027--prefix\u0027, default\u003dNone,"},{"line_number":635,"context_line":"                            help\u003d(\"Variables prefix to be used as credentials \""},{"line_number":636,"context_line":"                                  \"input.\"))"},{"line_number":637,"context_line":"        parser.add_argument(\u0027--engine-debug\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_7d5fcd72","line":634,"updated":"2015-06-05 22:01:12.000000000","message":"i don\u0027t know how much we gain out of this option","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"011f1ae38512495a8091a0ed18332a0a121e5daa","unresolved":false,"context_lines":[{"line_number":631,"context_line":"                                  \"EMAIL: me@example.com\\n\""},{"line_number":632,"context_line":"                                  \"LOGIN: me\\n\""},{"line_number":633,"context_line":"                                  \"GROUPS: group1;group2;group3\"))"},{"line_number":634,"context_line":"        parser.add_argument(\u0027--prefix\u0027, default\u003dNone,"},{"line_number":635,"context_line":"                            help\u003d(\"Variables prefix to be used as credentials \""},{"line_number":636,"context_line":"                                  \"input.\"))"},{"line_number":637,"context_line":"        parser.add_argument(\u0027--engine-debug\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_acf4e086","line":634,"in_reply_to":"3afb71cf_7d5fcd72","updated":"2015-06-08 06:45:42.000000000","message":"i don\u0027t think anybody would use it on a daily basis, but since parameters from the assertinon are usually packed with whole bunch of other env parameters in keystone process and we also support such option in server maybe somebody will find a use for that. However, I will not be a die hard supporter for this option. If you insist, i can delete it.","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"cde6d96af9f70b14abdae3e777db307a11178e4c","unresolved":false,"context_lines":[{"line_number":632,"context_line":"                                  \"LOGIN: me\\n\""},{"line_number":633,"context_line":"                                  \"GROUPS: group1;group2;group3\"))"},{"line_number":634,"context_line":"        parser.add_argument(\u0027--prefix\u0027, default\u003dNone,"},{"line_number":635,"context_line":"                            help\u003d(\"Variables prefix to be used as credentials \""},{"line_number":636,"context_line":"                                  \"input.\"))"},{"line_number":637,"context_line":"        parser.add_argument(\u0027--engine-debug\u0027,"},{"line_number":638,"context_line":"                            default\u003dFalse, action\u003d\"store_true\","}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_dd5ec1e8","line":635,"updated":"2015-06-05 22:01:12.000000000","message":"this needs a better definition","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"011f1ae38512495a8091a0ed18332a0a121e5daa","unresolved":false,"context_lines":[{"line_number":632,"context_line":"                                  \"LOGIN: me\\n\""},{"line_number":633,"context_line":"                                  \"GROUPS: group1;group2;group3\"))"},{"line_number":634,"context_line":"        parser.add_argument(\u0027--prefix\u0027, default\u003dNone,"},{"line_number":635,"context_line":"                            help\u003d(\"Variables prefix to be used as credentials \""},{"line_number":636,"context_line":"                                  \"input.\"))"},{"line_number":637,"context_line":"        parser.add_argument(\u0027--engine-debug\u0027,"},{"line_number":638,"context_line":"                            default\u003dFalse, action\u003d\"store_true\","}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_2c2fd0f7","line":635,"in_reply_to":"3afb71cf_dd5ec1e8","updated":"2015-06-08 06:45:42.000000000","message":"i will improve it once noone really opposes to this option.","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"cde6d96af9f70b14abdae3e777db307a11178e4c","unresolved":false,"context_lines":[{"line_number":634,"context_line":"        parser.add_argument(\u0027--prefix\u0027, default\u003dNone,"},{"line_number":635,"context_line":"                            help\u003d(\"Variables prefix to be used as credentials \""},{"line_number":636,"context_line":"                                  \"input.\"))"},{"line_number":637,"context_line":"        parser.add_argument(\u0027--engine-debug\u0027,"},{"line_number":638,"context_line":"                            default\u003dFalse, action\u003d\"store_true\","},{"line_number":639,"context_line":"                            help\u003d(\"Option for enabling debug messages from \""},{"line_number":640,"context_line":"                                  \"the mapping engine.\"))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_fd529ddc","line":637,"updated":"2015-06-05 22:01:12.000000000","message":"oh i like this","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"011f1ae38512495a8091a0ed18332a0a121e5daa","unresolved":false,"context_lines":[{"line_number":634,"context_line":"        parser.add_argument(\u0027--prefix\u0027, default\u003dNone,"},{"line_number":635,"context_line":"                            help\u003d(\"Variables prefix to be used as credentials \""},{"line_number":636,"context_line":"                                  \"input.\"))"},{"line_number":637,"context_line":"        parser.add_argument(\u0027--engine-debug\u0027,"},{"line_number":638,"context_line":"                            default\u003dFalse, action\u003d\"store_true\","},{"line_number":639,"context_line":"                            help\u003d(\"Option for enabling debug messages from \""},{"line_number":640,"context_line":"                                  \"the mapping engine.\"))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_4cde8c12","line":637,"in_reply_to":"3afb71cf_fd529ddc","updated":"2015-06-08 06:45:42.000000000","message":"++ :-)","commit_id":"df00a0cdac4d4fc813f29c3bb4db7b8a5be014df"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"8eec940f492f7984dc94dd56e12166f8e3684ec0","unresolved":false,"context_lines":[{"line_number":556,"context_line":"            with open(path) as file:"},{"line_number":557,"context_line":"                return jsonutils.load(file)"},{"line_number":558,"context_line":"        except ValueError as e:"},{"line_number":559,"context_line":"            raise SystemExit((\"Error while parsing rules \""},{"line_number":560,"context_line":"                              \"%(path)s: %(err)s\") % {\u0027path\u0027: path, \u0027err\u0027: e})"},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_e1199d7a","line":559,"updated":"2015-06-08 19:56:25.000000000","message":"this is missing i18n and using double quotes","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"0134d71d11e270caaa2dfc5f5afd6b790a679c91","unresolved":false,"context_lines":[{"line_number":556,"context_line":"            with open(path) as file:"},{"line_number":557,"context_line":"                return jsonutils.load(file)"},{"line_number":558,"context_line":"        except ValueError as e:"},{"line_number":559,"context_line":"            raise SystemExit((\"Error while parsing rules \""},{"line_number":560,"context_line":"                              \"%(path)s: %(err)s\") % {\u0027path\u0027: path, \u0027err\u0027: e})"},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_c83001eb","line":559,"in_reply_to":"3afb71cf_e1199d7a","updated":"2015-06-08 21:28:07.000000000","message":"Are we going to be able to interpolate (substitute) with single quotes?","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"2c5a7f589f8445d81b9252b6d92304b382e5ff34","unresolved":false,"context_lines":[{"line_number":556,"context_line":"            with open(path) as file:"},{"line_number":557,"context_line":"                return jsonutils.load(file)"},{"line_number":558,"context_line":"        except ValueError as e:"},{"line_number":559,"context_line":"            raise SystemExit((\"Error while parsing rules \""},{"line_number":560,"context_line":"                              \"%(path)s: %(err)s\") % {\u0027path\u0027: path, \u0027err\u0027: e})"},{"line_number":561,"context_line":""},{"line_number":562,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_584fbf33","line":559,"in_reply_to":"3afb71cf_e1199d7a","updated":"2015-06-11 08:25:21.000000000","message":"Done","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"30238c566c365b21120825e6fc3a11fc2e36e39b","unresolved":false,"context_lines":[{"line_number":617,"context_line":"        parser.add_argument(\u0027--input\u0027, default\u003dNone, required\u003dTrue,"},{"line_number":618,"context_line":"                            help\u003d(\"Path to the file with input attributes. \""},{"line_number":619,"context_line":"                                  \"The content consists of \u0027:\u0027 separated \""},{"line_number":620,"context_line":"                                  \"parameter names and thie values. \""},{"line_number":621,"context_line":"                                  \"There is only one key-value pair per line. \""},{"line_number":622,"context_line":"                                  \"A \u0027;\u0027 in the value is a sepatator and then \""},{"line_number":623,"context_line":"                                  \"a value is treated as list. Example:\\n \""}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_9a3b769c","line":620,"updated":"2015-06-08 18:01:40.000000000","message":"their*","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"2c5a7f589f8445d81b9252b6d92304b382e5ff34","unresolved":false,"context_lines":[{"line_number":617,"context_line":"        parser.add_argument(\u0027--input\u0027, default\u003dNone, required\u003dTrue,"},{"line_number":618,"context_line":"                            help\u003d(\"Path to the file with input attributes. \""},{"line_number":619,"context_line":"                                  \"The content consists of \u0027:\u0027 separated \""},{"line_number":620,"context_line":"                                  \"parameter names and thie values. \""},{"line_number":621,"context_line":"                                  \"There is only one key-value pair per line. \""},{"line_number":622,"context_line":"                                  \"A \u0027;\u0027 in the value is a sepatator and then \""},{"line_number":623,"context_line":"                                  \"a value is treated as list. Example:\\n \""}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_58669fbb","line":620,"in_reply_to":"3afb71cf_9a3b769c","updated":"2015-06-11 08:25:21.000000000","message":"Done","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"93418c9236d48ae40494bbebd6620e4c5fd85d09","unresolved":false,"context_lines":[{"line_number":619,"context_line":"                                  \"The content consists of \u0027:\u0027 separated \""},{"line_number":620,"context_line":"                                  \"parameter names and thie values. \""},{"line_number":621,"context_line":"                                  \"There is only one key-value pair per line. \""},{"line_number":622,"context_line":"                                  \"A \u0027;\u0027 in the value is a sepatator and then \""},{"line_number":623,"context_line":"                                  \"a value is treated as list. Example:\\n \""},{"line_number":624,"context_line":"                                  \"EMAIL: me@example.com\\n\""},{"line_number":625,"context_line":"                                  \"LOGIN: me\\n\""}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_e21bdc19","line":622,"updated":"2015-06-08 20:53:08.000000000","message":"s/sepatator/separator","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"2c5a7f589f8445d81b9252b6d92304b382e5ff34","unresolved":false,"context_lines":[{"line_number":619,"context_line":"                                  \"The content consists of \u0027:\u0027 separated \""},{"line_number":620,"context_line":"                                  \"parameter names and thie values. \""},{"line_number":621,"context_line":"                                  \"There is only one key-value pair per line. \""},{"line_number":622,"context_line":"                                  \"A \u0027;\u0027 in the value is a sepatator and then \""},{"line_number":623,"context_line":"                                  \"a value is treated as list. Example:\\n \""},{"line_number":624,"context_line":"                                  \"EMAIL: me@example.com\\n\""},{"line_number":625,"context_line":"                                  \"LOGIN: me\\n\""}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_380883d9","line":622,"in_reply_to":"3afb71cf_e21bdc19","updated":"2015-06-11 08:25:21.000000000","message":"Done","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"93418c9236d48ae40494bbebd6620e4c5fd85d09","unresolved":false,"context_lines":[{"line_number":620,"context_line":"                                  \"parameter names and thie values. \""},{"line_number":621,"context_line":"                                  \"There is only one key-value pair per line. \""},{"line_number":622,"context_line":"                                  \"A \u0027;\u0027 in the value is a sepatator and then \""},{"line_number":623,"context_line":"                                  \"a value is treated as list. Example:\\n \""},{"line_number":624,"context_line":"                                  \"EMAIL: me@example.com\\n\""},{"line_number":625,"context_line":"                                  \"LOGIN: me\\n\""},{"line_number":626,"context_line":"                                  \"GROUPS: group1;group2;group3\"))"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_a2d4c41f","line":623,"updated":"2015-06-08 20:53:08.000000000","message":"as a list","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"2c5a7f589f8445d81b9252b6d92304b382e5ff34","unresolved":false,"context_lines":[{"line_number":620,"context_line":"                                  \"parameter names and thie values. \""},{"line_number":621,"context_line":"                                  \"There is only one key-value pair per line. \""},{"line_number":622,"context_line":"                                  \"A \u0027;\u0027 in the value is a sepatator and then \""},{"line_number":623,"context_line":"                                  \"a value is treated as list. Example:\\n \""},{"line_number":624,"context_line":"                                  \"EMAIL: me@example.com\\n\""},{"line_number":625,"context_line":"                                  \"LOGIN: me\\n\""},{"line_number":626,"context_line":"                                  \"GROUPS: group1;group2;group3\"))"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_f80d4be8","line":623,"in_reply_to":"3afb71cf_a2d4c41f","updated":"2015-06-11 08:25:21.000000000","message":"Done","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"30238c566c365b21120825e6fc3a11fc2e36e39b","unresolved":false,"context_lines":[{"line_number":624,"context_line":"                                  \"EMAIL: me@example.com\\n\""},{"line_number":625,"context_line":"                                  \"LOGIN: me\\n\""},{"line_number":626,"context_line":"                                  \"GROUPS: group1;group2;group3\"))"},{"line_number":627,"context_line":"        parser.add_argument(\u0027--prefix\u0027, default\u003dNone,"},{"line_number":628,"context_line":"                            help\u003d(\"Variables prefix to be used as credentials \""},{"line_number":629,"context_line":"                                  \"input.\"))"},{"line_number":630,"context_line":"        parser.add_argument(\u0027--engine-debug\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_da47ae49","line":627,"updated":"2015-06-08 18:01:40.000000000","message":"i think it\u0027s fine to keep this, but the help option should be improved","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"30238c566c365b21120825e6fc3a11fc2e36e39b","unresolved":false,"context_lines":[{"line_number":625,"context_line":"                                  \"LOGIN: me\\n\""},{"line_number":626,"context_line":"                                  \"GROUPS: group1;group2;group3\"))"},{"line_number":627,"context_line":"        parser.add_argument(\u0027--prefix\u0027, default\u003dNone,"},{"line_number":628,"context_line":"                            help\u003d(\"Variables prefix to be used as credentials \""},{"line_number":629,"context_line":"                                  \"input.\"))"},{"line_number":630,"context_line":"        parser.add_argument(\u0027--engine-debug\u0027,"},{"line_number":631,"context_line":"                            default\u003dFalse, action\u003d\"store_true\","}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_5af73ef5","line":628,"updated":"2015-06-08 18:01:40.000000000","message":"\"A prefix used for each environment variable in the assertion. For example, all environment variables may have the prefix ASDF_.\"","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"2c5a7f589f8445d81b9252b6d92304b382e5ff34","unresolved":false,"context_lines":[{"line_number":625,"context_line":"                                  \"LOGIN: me\\n\""},{"line_number":626,"context_line":"                                  \"GROUPS: group1;group2;group3\"))"},{"line_number":627,"context_line":"        parser.add_argument(\u0027--prefix\u0027, default\u003dNone,"},{"line_number":628,"context_line":"                            help\u003d(\"Variables prefix to be used as credentials \""},{"line_number":629,"context_line":"                                  \"input.\"))"},{"line_number":630,"context_line":"        parser.add_argument(\u0027--engine-debug\u0027,"},{"line_number":631,"context_line":"                            default\u003dFalse, action\u003d\"store_true\","}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_58145fe7","line":628,"in_reply_to":"3afb71cf_5af73ef5","updated":"2015-06-11 08:25:21.000000000","message":"Done","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"30238c566c365b21120825e6fc3a11fc2e36e39b","unresolved":false,"context_lines":[{"line_number":629,"context_line":"                                  \"input.\"))"},{"line_number":630,"context_line":"        parser.add_argument(\u0027--engine-debug\u0027,"},{"line_number":631,"context_line":"                            default\u003dFalse, action\u003d\"store_true\","},{"line_number":632,"context_line":"                            help\u003d(\"Option for enabling debug messages from \""},{"line_number":633,"context_line":"                                  \"the mapping engine.\"))"},{"line_number":634,"context_line":"        return parser"},{"line_number":635,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_3ac6c29a","line":632,"updated":"2015-06-08 18:01:40.000000000","message":"\"Enable debug messages from the mapping engine\"","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"2c5a7f589f8445d81b9252b6d92304b382e5ff34","unresolved":false,"context_lines":[{"line_number":629,"context_line":"                                  \"input.\"))"},{"line_number":630,"context_line":"        parser.add_argument(\u0027--engine-debug\u0027,"},{"line_number":631,"context_line":"                            default\u003dFalse, action\u003d\"store_true\","},{"line_number":632,"context_line":"                            help\u003d(\"Option for enabling debug messages from \""},{"line_number":633,"context_line":"                                  \"the mapping engine.\"))"},{"line_number":634,"context_line":"        return parser"},{"line_number":635,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_18c0274f","line":632,"in_reply_to":"3afb71cf_3ac6c29a","updated":"2015-06-11 08:25:21.000000000","message":"Done","commit_id":"83128f98826ee330d48ad7a21ceb9b38d2348716"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"9c952aa4ad9ecd7c04562299be30bde9366fa02e","unresolved":false,"context_lines":[{"line_number":546,"context_line":""},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"class MappingEngineTester(BaseApp):"},{"line_number":549,"context_line":"    \"\"\"Execute mapping engine locally.\"\"\""},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"    name \u003d \u0027mapping_engine\u0027"},{"line_number":552,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_fe6f3a90","line":549,"updated":"2015-06-15 11:01:08.000000000","message":"I think you need to provide an example of such mapping file somewhere (although you have a great help text in the --input arg)","commit_id":"039b0bd9a9ba2e3a1355a380042e7e31ec811f56"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"0403c4342486010bffedbd680945819c58c2c68b","unresolved":false,"context_lines":[{"line_number":546,"context_line":""},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"class MappingEngineTester(BaseApp):"},{"line_number":549,"context_line":"    \"\"\"Execute mapping engine locally.\"\"\""},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"    name \u003d \u0027mapping_engine\u0027"},{"line_number":552,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_94a60dc0","line":549,"in_reply_to":"fa32b979_3409412d","updated":"2015-06-15 11:51:03.000000000","message":"not really :( thought about the DocString but...\n\nMaybe add there until we figure out a better place to put it (in a follow up patch, of course)","commit_id":"039b0bd9a9ba2e3a1355a380042e7e31ec811f56"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"00c6fbc9d28da6e20d34f394f9f6b1928a74ac45","unresolved":false,"context_lines":[{"line_number":546,"context_line":""},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"class MappingEngineTester(BaseApp):"},{"line_number":549,"context_line":"    \"\"\"Execute mapping engine locally.\"\"\""},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"    name \u003d \u0027mapping_engine\u0027"},{"line_number":552,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_75c82056","line":549,"in_reply_to":"fa32b979_94a60dc0","updated":"2015-06-15 14:07:46.000000000","message":"There have been cases in the past where we\u0027ve added documentation \"around\" keystone-manage to our in-tree configuration docs.\n\nhttps://github.com/openstack/keystone/blob/2bb4593266a5905679b5a4b3e0058383fbb9c1c5/doc/source/configuration.rst#token-provider","commit_id":"039b0bd9a9ba2e3a1355a380042e7e31ec811f56"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"fd4fe302c22d25fc58453430872350b5fc563125","unresolved":false,"context_lines":[{"line_number":546,"context_line":""},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"class MappingEngineTester(BaseApp):"},{"line_number":549,"context_line":"    \"\"\"Execute mapping engine locally.\"\"\""},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"    name \u003d \u0027mapping_engine\u0027"},{"line_number":552,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_3409412d","line":549,"in_reply_to":"fa32b979_fe6f3a90","updated":"2015-06-15 11:43:24.000000000","message":"do you have any idea on where we can add some more detailed docs?","commit_id":"039b0bd9a9ba2e3a1355a380042e7e31ec811f56"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"6b71acca68c436a3ab70b5641838294211e25d23","unresolved":false,"context_lines":[{"line_number":550,"context_line":""},{"line_number":551,"context_line":"    name \u003d \u0027mapping_engine\u0027"},{"line_number":552,"context_line":""},{"line_number":553,"context_line":"    @staticmethod"},{"line_number":554,"context_line":"    def read_rules(path):"},{"line_number":555,"context_line":"        try:"},{"line_number":556,"context_line":"            with open(path) as file:"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_3c6ed52f","line":553,"updated":"2015-06-22 21:40:12.000000000","message":"JSON parsing will not allow a json containing regex to be validated.\nexample: https://github.com/openstack/keystone/blob/master/keystone/tests/unit/mapping_fixtures.py#L466-L499\n\nWill fail because of the regex.","commit_id":"039b0bd9a9ba2e3a1355a380042e7e31ec811f56"}]}
