)]}'
{"openstack_requirements/cmds/edit_constraint.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"c8001cce055cb1e75ef96758a2713ae5dd58104f","unresolved":false,"context_lines":[{"line_number":24,"context_line":"def edit(reqs, name, replacement):"},{"line_number":25,"context_line":"    # NOTE(dims): We need to convert an arbitrary string to a"},{"line_number":26,"context_line":"    # standard distribution name"},{"line_number":27,"context_line":"    standard_name \u003d re.sub(\u0027[^A-Za-z0-9.]+\u0027, \u0027-\u0027, name)"},{"line_number":28,"context_line":"    if not replacement:"},{"line_number":29,"context_line":"        if name in reqs:"},{"line_number":30,"context_line":"            reqs.pop(name, None)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_64f8057c","line":27,"updated":"2015-09-16 19:24:36.000000000","message":"There\u0027s already code in setuptools to do this, lets -not- duplicate it. Uhm, I can dig that up in a bit, but the pattern in pip is thing.safe_name().lower().","commit_id":"85c908a53f46f6f6afd732047ea4ae3042f8c094"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"c8001cce055cb1e75ef96758a2713ae5dd58104f","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    # standard distribution name"},{"line_number":27,"context_line":"    standard_name \u003d re.sub(\u0027[^A-Za-z0-9.]+\u0027, \u0027-\u0027, name)"},{"line_number":28,"context_line":"    if not replacement:"},{"line_number":29,"context_line":"        if name in reqs:"},{"line_number":30,"context_line":"            reqs.pop(name, None)"},{"line_number":31,"context_line":"        elif standard_name in reqs:"},{"line_number":32,"context_line":"            reqs.pop(standard_name, None)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_6426c516","line":29,"updated":"2015-09-16 19:24:36.000000000","message":"reqs already has a canonicalised key - see openstack_requirements/requirement.py line 137 - we just need to make the canonicalised key more canonical, then this code shouldn\u0027t need to change at all (other than canonicalising name perhaps)","commit_id":"85c908a53f46f6f6afd732047ea4ae3042f8c094"}],"openstack_requirements/tests/test_edit_constraint.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"c8001cce055cb1e75ef96758a2713ae5dd58104f","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_make_url_tolerate_dash_gots(self):"},{"line_number":43,"context_line":"        stdout \u003d io.StringIO()"},{"line_number":44,"context_line":"        tmpdir \u003d self.useFixture(fixtures.TempDir()).path"},{"line_number":45,"context_line":"        constraints_path \u003d os.path.join(tmpdir, \u0027name.txt\u0027)"},{"line_number":46,"context_line":"        with open(constraints_path, \u0027wt\u0027) as f:"},{"line_number":47,"context_line":"            f.write(\u0027bar\u003d\u003d\u003d1\\nfoo-baz\u003d\u003d\u003d1.0.2\\nquux\u003d\u003d3\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_241c4dc0","line":44,"updated":"2015-09-16 19:24:36.000000000","message":"This test should be able to be entirely pure - we\u0027re not changing the IO layer - move it down into TestEdit and follow the pattern there - it\u0027ll be faster, and less munged together, and smaller.","commit_id":"85c908a53f46f6f6afd732047ea4ae3042f8c094"}]}
