)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"ba19d748306b36094ab774380f2805470674d309","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2015-07-19 12:15:04 -0600"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add config show command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I0792365d0c5fa526cd09c0ed88c6bb1e2cb813a7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a50d1a3_4e03ff0d","line":8,"updated":"2015-07-21 00:55:39.000000000","message":"open a bug for this change","commit_id":"b39849d62bac38d8a6e3c68582e674ccb555e989"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"9c196ba51511e48c45633d454a8bc12c83cab9c8","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2015-07-22 13:17:41 -0600"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add config show command"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Closes-Bug: #1476729"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I0792365d0c5fa526cd09c0ed88c6bb1e2cb813a7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3a50d1a3_2c064a86","line":8,"updated":"2015-07-22 19:20:11.000000000","message":"add a pinch more here :)","commit_id":"2df4ca5764314b8153e09b301a1efb35db1b06bb"}],"doc/source/command-objects/config.rst":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"702a3d930ebd39be62a7bb61af3aceaf1eee73ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"3a50d1a3_b0134764","updated":"2015-07-23 18:52:26.000000000","message":"file needs to be renamed to configuration","commit_id":"0e81c74fb8dc3c52e239588cda074602b3231629"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"702a3d930ebd39be62a7bb61af3aceaf1eee73ae","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"config"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Available for all services"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a50d1a3_d01a937c","line":2,"updated":"2015-07-23 18:52:26.000000000","message":"needs updating to say \u0027configuration\u0027,","commit_id":"0e81c74fb8dc3c52e239588cda074602b3231629"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"702a3d930ebd39be62a7bb61af3aceaf1eee73ae","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Available for all services"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"config show"},{"line_number":8,"context_line":"-----------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Show the current openstack client configuration.  This command is a little"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3a50d1a3_f01d4f73","line":7,"updated":"2015-07-23 18:52:26.000000000","message":"here too and lines 15 and 18","commit_id":"0e81c74fb8dc3c52e239588cda074602b3231629"}],"openstackclient/common/clientmanager.py":[{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"56fd51adeb11c60bf5b18f3cdc045de5a9ca9e70","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#   Copyright 2015 OpenStack Foundation"},{"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":4,"id":"3a50d1a3_38554ef9","line":1,"updated":"2015-07-22 05:53:44.000000000","message":"this should be left the same as 2012-2013","commit_id":"79142451908eba0fb4744b9110ec0f51185e6c09"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"cc477d4930cddf46be5ecf9a594afd9470548a57","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#   Copyright 2015 OpenStack Foundation"},{"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":6,"id":"3a50d1a3_a96a4cb1","line":1,"updated":"2015-07-22 18:40:03.000000000","message":"revert?","commit_id":"6e22e39807b0efc4a65184edc0048077a4c6728a"}],"openstackclient/common/config.py":[{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"7bc350940c57b43d7f369190dfc90a7736b495f4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#   Copyright 2012 OpenStack Foundation"},{"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":1,"id":"3a50d1a3_402527a9","line":1,"updated":"2015-07-20 14:58:05.000000000","message":"s/2012/2015","commit_id":"b39849d62bac38d8a6e3c68582e674ccb555e989"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"98ae808f4759314626150dbd764a6dc3f4015684","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class ShowConfig(show.ShowOne):"},{"line_number":26,"context_line":"    \"\"\"Show configurations\"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    log \u003d logging.getLogger(__name__ + \u0027.ShowConfig\u0027)"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_4c49e08a","line":26,"updated":"2015-07-20 16:19:19.000000000","message":"s/configurations/configuration","commit_id":"b39849d62bac38d8a6e3c68582e674ccb555e989"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"98ae808f4759314626150dbd764a6dc3f4015684","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    def take_action(self, parsed_args):"},{"line_number":31,"context_line":"        self.log.debug(\u0027take_action(%s)\u0027, parsed_args)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        info \u003d copy.deepcopy(self.app.client_manager._cli_options.config)"},{"line_number":34,"context_line":"        for key, value in six.iteritems(info.pop(\u0027auth\u0027, {})):"},{"line_number":35,"context_line":"            info[\u0027auth.\u0027 + key] \u003d value"},{"line_number":36,"context_line":"        return zip(*sorted(six.iteritems(info)))"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_121e8e63","line":33,"updated":"2015-07-20 16:19:19.000000000","message":"Maybe create a public method in ClientManager or just make _cli_options public?","commit_id":"b39849d62bac38d8a6e3c68582e674ccb555e989"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"320c3195947c515d920c6a8102c0cc4e4fa8cc1a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    def take_action(self, parsed_args):"},{"line_number":31,"context_line":"        self.log.debug(\u0027take_action(%s)\u0027, parsed_args)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        info \u003d copy.deepcopy(self.app.client_manager._cli_options.config)"},{"line_number":34,"context_line":"        for key, value in six.iteritems(info.pop(\u0027auth\u0027, {})):"},{"line_number":35,"context_line":"            info[\u0027auth.\u0027 + key] \u003d value"},{"line_number":36,"context_line":"        return zip(*sorted(six.iteritems(info)))"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_fdd403be","line":33,"in_reply_to":"3a50d1a3_121e8e63","updated":"2015-07-20 23:38:54.000000000","message":"A method seems good, and it could do the deepcopy() to protect itself from callers changing values.","commit_id":"b39849d62bac38d8a6e3c68582e674ccb555e989"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"98ae808f4759314626150dbd764a6dc3f4015684","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        info \u003d copy.deepcopy(self.app.client_manager._cli_options.config)"},{"line_number":34,"context_line":"        for key, value in six.iteritems(info.pop(\u0027auth\u0027, {})):"},{"line_number":35,"context_line":"            info[\u0027auth.\u0027 + key] \u003d value"},{"line_number":36,"context_line":"        return zip(*sorted(six.iteritems(info)))"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_d24d8673","line":35,"updated":"2015-07-20 16:19:19.000000000","message":"Flattening auth is kind of strange, but the output looks nicer and then you can access the various fields easily.","commit_id":"b39849d62bac38d8a6e3c68582e674ccb555e989"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"56fd51adeb11c60bf5b18f3cdc045de5a9ca9e70","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#   Copyright 2012 OpenStack Foundation"},{"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":4,"id":"3a50d1a3_f83cc6c9","line":1,"updated":"2015-07-22 05:53:44.000000000","message":"s/2012/2015","commit_id":"79142451908eba0fb4744b9110ec0f51185e6c09"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"cc477d4930cddf46be5ecf9a594afd9470548a57","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\"Configuration action implementations\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import logging"},{"line_number":19,"context_line":"import six"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from cliff import show"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_698e847a","line":19,"updated":"2015-07-22 18:40:03.000000000","message":"six should be grouped with cliff, as they are both 3rd party","commit_id":"6e22e39807b0efc4a65184edc0048077a4c6728a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"cc477d4930cddf46be5ecf9a594afd9470548a57","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class ShowConfig(show.ShowOne):"},{"line_number":25,"context_line":"    \"\"\"Show configuration\"\"\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    log \u003d logging.getLogger(__name__ + \u0027.ShowConfig\u0027)"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_e96b74b7","line":25,"updated":"2015-07-22 18:40:03.000000000","message":"Display configuration details?","commit_id":"6e22e39807b0efc4a65184edc0048077a4c6728a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"cc477d4930cddf46be5ecf9a594afd9470548a57","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            help\u003d\"Attempt to obfuscate passwords (default)\","},{"line_number":38,"context_line":"        )"},{"line_number":39,"context_line":"        obfuscate_group.add_argument("},{"line_number":40,"context_line":"            \"--cleartext\","},{"line_number":41,"context_line":"            dest\u003d\"obfuscate\","},{"line_number":42,"context_line":"            action\u003d\"store_false\","},{"line_number":43,"context_line":"            help\u003d\"Show password in clear text\","}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_a9b1ec48","line":40,"updated":"2015-07-22 18:40:03.000000000","message":"--clear-text?","commit_id":"6e22e39807b0efc4a65184edc0048077a4c6728a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"cc477d4930cddf46be5ecf9a594afd9470548a57","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        for key, value in six.iteritems(info.pop(\u0027auth\u0027, {})):"},{"line_number":52,"context_line":"            if parsed_args.obfuscate:"},{"line_number":53,"context_line":"                if \u0027password\u0027 in key.lower():"},{"line_number":54,"context_line":"                    value \u003d \u0027\u003credacted\u003e\u0027"},{"line_number":55,"context_line":"                if \u0027token\u0027 in key.lower():"},{"line_number":56,"context_line":"                    value \u003d \u0027\u003credacted\u003e\u0027"},{"line_number":57,"context_line":"            info[\u0027auth.\u0027 + key] \u003d value"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_09a820da","line":54,"updated":"2015-07-22 18:40:03.000000000","message":"you can store this string in it\u0027s own variable, as we may want to re-use or change it in the future, and it\u0027s used more than once.","commit_id":"6e22e39807b0efc4a65184edc0048077a4c6728a"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"4f19dbf1ccc83406f191c2842eaf6145c2c7399e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#   Copyright 2015 OpenStack Foundation"},{"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":10,"id":"3a50d1a3_b324f1c4","line":1,"updated":"2015-07-22 21:19:33.000000000","message":"Only foundation employees can add this line... we have them due to the original code being transferred from Rax to the foundation, don\u0027t add new ones.\n\nIf your employer requires copyright lines in each file, add them, otherwise they are not required here by the project/foundation.","commit_id":"ad4fccb0e47d81819fdf3f240362cd4d89c6f13a"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"4f19dbf1ccc83406f191c2842eaf6145c2c7399e","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        parser \u003d super(ShowConfig, self).get_parser(prog_name)"},{"line_number":33,"context_line":"        obfuscate_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":34,"context_line":"        obfuscate_group.add_argument("},{"line_number":35,"context_line":"            \"--obfuscate\","},{"line_number":36,"context_line":"            dest\u003d\"obfuscate\","},{"line_number":37,"context_line":"            action\u003d\"store_true\","},{"line_number":38,"context_line":"            default\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_8ed0ae20","line":35,"updated":"2015-07-22 21:19:33.000000000","message":"Is there a better name to use here that is more of a natural counter-part to clear-text?  I\u0027d actually prefer \u0027clear\u0027 but that itself isn\u0027t very specific...\n\nScanning a thesaurus:\n conceal, elide, excise, obscure, quash, redact, suppress\n divulge, expose, reveal","commit_id":"ad4fccb0e47d81819fdf3f240362cd4d89c6f13a"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"88241b17a6a6cf7c16557781c385883ae92bbcfd","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        parser \u003d super(ShowConfig, self).get_parser(prog_name)"},{"line_number":33,"context_line":"        obfuscate_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":34,"context_line":"        obfuscate_group.add_argument("},{"line_number":35,"context_line":"            \"--obfuscate\","},{"line_number":36,"context_line":"            dest\u003d\"obfuscate\","},{"line_number":37,"context_line":"            action\u003d\"store_true\","},{"line_number":38,"context_line":"            default\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_6ab8ab75","line":35,"in_reply_to":"3a50d1a3_0480fef3","updated":"2015-07-22 22:37:26.000000000","message":"How about I just get rid of the option and just have a --clear-text option?","commit_id":"ad4fccb0e47d81819fdf3f240362cd4d89c6f13a"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"49d6fae05c01f5ae52eef215a227c0eb37b5ef53","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        parser \u003d super(ShowConfig, self).get_parser(prog_name)"},{"line_number":33,"context_line":"        obfuscate_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":34,"context_line":"        obfuscate_group.add_argument("},{"line_number":35,"context_line":"            \"--obfuscate\","},{"line_number":36,"context_line":"            dest\u003d\"obfuscate\","},{"line_number":37,"context_line":"            action\u003d\"store_true\","},{"line_number":38,"context_line":"            default\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_aea3f5fe","line":35,"in_reply_to":"3a50d1a3_6ab8ab75","updated":"2015-07-23 15:53:28.000000000","message":"I really want to always have the pair of on/off options.  I like Lin\u0027s suggestion of mask, would accept mask-text/clear-text or mask/clear, but not mixed use of \u0027-text\u0027 in the names.  mask/unmask works for me too.","commit_id":"ad4fccb0e47d81819fdf3f240362cd4d89c6f13a"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"706fc2292efbd37f2e00da10805c675ae8e7dfa7","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        parser \u003d super(ShowConfig, self).get_parser(prog_name)"},{"line_number":33,"context_line":"        obfuscate_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":34,"context_line":"        obfuscate_group.add_argument("},{"line_number":35,"context_line":"            \"--obfuscate\","},{"line_number":36,"context_line":"            dest\u003d\"obfuscate\","},{"line_number":37,"context_line":"            action\u003d\"store_true\","},{"line_number":38,"context_line":"            default\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_0480fef3","line":35,"in_reply_to":"3a50d1a3_8ed0ae20","updated":"2015-07-22 21:38:24.000000000","message":"would using \"mask\" work?","commit_id":"ad4fccb0e47d81819fdf3f240362cd4d89c6f13a"}],"openstackclient/tests/common/test_config.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"5a9d6f02d0d9717b7d0822db13decfa316157c96","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                   \u0027identity_api_version\u0027, \u0027region\u0027)"},{"line_number":50,"context_line":"        self.assertEqual(collist, columns)"},{"line_number":51,"context_line":"        datalist \u003d ("},{"line_number":52,"context_line":"            \"14090\","},{"line_number":53,"context_line":"            \"needles\","},{"line_number":54,"context_line":"            \"eolus\","},{"line_number":55,"context_line":"            \"3\","}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_c953186a","line":52,"updated":"2015-07-22 18:56:27.000000000","message":"refer to the data used in fake instead of copying the string here","commit_id":"6e22e39807b0efc4a65184edc0048077a4c6728a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"4e24c72c8618656caf7ef5f04f4f4da12ec9c267","unresolved":false,"context_lines":[{"line_number":30,"context_line":"                   \u0027identity_api_version\u0027, \u0027region\u0027)"},{"line_number":31,"context_line":"        self.assertEqual(collist, columns)"},{"line_number":32,"context_line":"        datalist \u003d ("},{"line_number":33,"context_line":"            \"\u003credacted\u003e\","},{"line_number":34,"context_line":"            \"\u003credacted\u003e\","},{"line_number":35,"context_line":"            fakes.USERNAME,"},{"line_number":36,"context_line":"            fakes.VERSION,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_0ce02ef9","line":33,"updated":"2015-07-22 19:15:34.000000000","message":"config.REDACTED","commit_id":"a1d047ab379cc64a72a06df1622e079e4d9f0c2c"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"4e24c72c8618656caf7ef5f04f4f4da12ec9c267","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                   \u0027identity_api_version\u0027, \u0027region\u0027)"},{"line_number":71,"context_line":"        self.assertEqual(collist, columns)"},{"line_number":72,"context_line":"        datalist \u003d ("},{"line_number":73,"context_line":"            \"\u003credacted\u003e\","},{"line_number":74,"context_line":"            \"\u003credacted\u003e\","},{"line_number":75,"context_line":"            fakes.USERNAME,"},{"line_number":76,"context_line":"            fakes.VERSION,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_cce6c614","line":73,"updated":"2015-07-22 19:15:34.000000000","message":"here too","commit_id":"a1d047ab379cc64a72a06df1622e079e4d9f0c2c"}]}
