)]}'
{"doc/contributor-guide/source/api-guides.rst":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"831b8061a1fab3b5d3b7be31ea794baad2eda8f1","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"#. Clone the api-site repository locally.::"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    git clone git@github.com:openstack/api-site.git"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"#. Clone the wadl2rst repository locally.::"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a122d0e_8840d5a6","line":52,"range":{"start_line":52,"start_character":4,"end_line":52,"end_character":51},"updated":"2016-04-27 17:39:42.000000000","message":"Permission denied (publickey).\nfatal: Could not read from remote repository.\n\nPlease make sure you have the correct access rights\nand the repository exists.\n\nhowever, git clone https://github.com/openstack/api-site works for me, I am in China.","commit_id":"d8e926c07cae2d3a88bdc7607913f25017fe1a3e"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"bc585f5ca20e5e3c01c8a1e931f57e4848537858","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"#. Clone the api-site repository locally.::"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    git clone git@github.com:openstack/api-site.git"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"#. Clone the wadl2rst repository locally.::"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a122d0e_2ef549ec","line":52,"range":{"start_line":52,"start_character":4,"end_line":52,"end_character":51},"in_reply_to":"1a122d0e_8840d5a6","updated":"2016-04-27 18:45:52.000000000","message":"Fixed with https://review.openstack.org/310508","commit_id":"d8e926c07cae2d3a88bdc7607913f25017fe1a3e"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"831b8061a1fab3b5d3b7be31ea794baad2eda8f1","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"#. Clone the wadl2rst repository locally.::"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    git clone git@github.com:annegentle/wadl2rst.git"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#. Create a Python virtual environment.::"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a122d0e_686bb91e","line":56,"range":{"start_line":56,"start_character":4,"end_line":56,"end_character":52},"updated":"2016-04-27 17:39:42.000000000","message":"git clone https://github.com/annegentle/wadl2rst\n\nuse this one if their content is same, again, for Chinese users","commit_id":"d8e926c07cae2d3a88bdc7607913f25017fe1a3e"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"831b8061a1fab3b5d3b7be31ea794baad2eda8f1","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"#. Install the requirements and ``wadl2rst`` in the virtual environment.::"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    pip install -r requirements.txt"},{"line_number":65,"context_line":"    pip install -e git+git@github.com:annegentle/wadl2rst.git@master#egg\u003dwadl2rst"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"#. Create a ``.yaml`` configuration file with the following format.::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a122d0e_a8df91d4","line":64,"range":{"start_line":64,"start_character":4,"end_line":64,"end_character":35},"updated":"2016-04-27 17:39:42.000000000","message":"cd wadl2rst \u0026\u0026 . ./bin/activate\npip install -r requirements.txt","commit_id":"d8e926c07cae2d3a88bdc7607913f25017fe1a3e"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"3bb64914b1939fc4868dcb02054d716aed702d0d","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"#. Install the requirements and ``wadl2rst`` in the virtual environment.::"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    pip install -r requirements.txt"},{"line_number":65,"context_line":"    pip install -e git+git@github.com:annegentle/wadl2rst.git@master#egg\u003dwadl2rst"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"#. Create a ``.yaml`` configuration file with the following format.::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a122d0e_ae6679b8","line":64,"range":{"start_line":64,"start_character":4,"end_line":64,"end_character":35},"in_reply_to":"1a122d0e_a8df91d4","updated":"2016-04-27 18:53:13.000000000","message":"Done","commit_id":"d8e926c07cae2d3a88bdc7607913f25017fe1a3e"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"831b8061a1fab3b5d3b7be31ea794baad2eda8f1","unresolved":false,"context_lines":[{"line_number":62,"context_line":"#. Install the requirements and ``wadl2rst`` in the virtual environment.::"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    pip install -r requirements.txt"},{"line_number":65,"context_line":"    pip install -e git+git@github.com:annegentle/wadl2rst.git@master#egg\u003dwadl2rst"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"#. Create a ``.yaml`` configuration file with the following format.::"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a122d0e_28ea6174","line":65,"range":{"start_line":65,"start_character":4,"end_line":65,"end_character":81},"updated":"2016-04-27 17:39:42.000000000","message":"pip install -e git+https://github.com/annegentle/wadl2rst@master#egg\u003dwadl2rst\n\nthis one works for China","commit_id":"d8e926c07cae2d3a88bdc7607913f25017fe1a3e"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"3bb64914b1939fc4868dcb02054d716aed702d0d","unresolved":false,"context_lines":[{"line_number":62,"context_line":"#. Install the requirements and ``wadl2rst`` in the virtual environment.::"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    pip install -r requirements.txt"},{"line_number":65,"context_line":"    pip install -e git+git@github.com:annegentle/wadl2rst.git@master#egg\u003dwadl2rst"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"#. Create a ``.yaml`` configuration file with the following format.::"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a122d0e_2e11c904","line":65,"range":{"start_line":65,"start_character":4,"end_line":65,"end_character":81},"in_reply_to":"1a122d0e_28ea6174","updated":"2016-04-27 18:53:13.000000000","message":"Done","commit_id":"d8e926c07cae2d3a88bdc7607913f25017fe1a3e"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"cf5c886644f9a2f70a14921f5f6ab16a37fd65ea","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"For example::"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    ../api-site/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity.wadl:"},{"line_number":83,"context_line":"        title: OpenStack Identity API v2.0"},{"line_number":84,"context_line":"        output_file: dist/identity/identity.inc"},{"line_number":85,"context_line":"        preamble: |"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a122d0e_533e6e8b","line":82,"range":{"start_line":82,"start_character":4,"end_line":82,"end_character":6},"updated":"2016-04-27 17:43:40.000000000","message":"see: http://docs.openstack.org/contributor-guide/api-guides.html\n\nthe leading `..` will dispear","commit_id":"d8e926c07cae2d3a88bdc7607913f25017fe1a3e"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"831b8061a1fab3b5d3b7be31ea794baad2eda8f1","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"For example::"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    ../api-site/api-ref/src/wadls/identity-api/src/v2.0/wadl/identity.wadl:"},{"line_number":83,"context_line":"        title: OpenStack Identity API v2.0"},{"line_number":84,"context_line":"        output_file: dist/identity/identity.inc"},{"line_number":85,"context_line":"        preamble: |"},{"line_number":86,"context_line":"          \u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":87,"context_line":"          Tokens"},{"line_number":88,"context_line":"          \u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"      Gets an authentication token that permits access to the"},{"line_number":91,"context_line":"      OpenStack services REST API."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"#. In the wadl2rst directory, run this command with your project\u0027s yaml file"},{"line_number":94,"context_line":"   to run the migration.::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a122d0e_1327d6b6","line":91,"range":{"start_line":82,"start_character":0,"end_line":91,"end_character":34},"updated":"2016-04-27 17:39:42.000000000","message":"$ wadl2rst keystone.yaml \nTraceback (most recent call last):\n  File \"/opt/stack/wadl2rst/bin/wadl2rst\", line 9, in \u003cmodule\u003e\n    load_entry_point(\u0027wadl2rst\u0027, \u0027console_scripts\u0027, \u0027wadl2rst\u0027)()\n  File \"/opt/stack/wadl2rst/src/wadl2rst/wadl2rst/main.py\", line 32, in main\n    config \u003d yaml.load(file(config_file, \u0027r\u0027), Loader\u003dyamlordereddictloader.Loader)\n  File \"/opt/stack/wadl2rst/local/lib/python2.7/site-packages/yaml/__init__.py\", line 71, in load\n    return loader.get_single_data()\n  File \"/opt/stack/wadl2rst/local/lib/python2.7/site-packages/yaml/constructor.py\", line 37, in get_single_data\n    node \u003d self.get_single_node()\n  File \"/opt/stack/wadl2rst/local/lib/python2.7/site-packages/yaml/composer.py\", line 36, in get_single_node\n    document \u003d self.compose_document()\n  File \"/opt/stack/wadl2rst/local/lib/python2.7/site-packages/yaml/composer.py\", line 55, in compose_document\n    node \u003d self.compose_node(None, None)\n  File \"/opt/stack/wadl2rst/local/lib/python2.7/site-packages/yaml/composer.py\", line 84, in compose_node\n    node \u003d self.compose_mapping_node(anchor)\n  File \"/opt/stack/wadl2rst/local/lib/python2.7/site-packages/yaml/composer.py\", line 127, in compose_mapping_node\n    while not self.check_event(MappingEndEvent):\n  File \"/opt/stack/wadl2rst/local/lib/python2.7/site-packages/yaml/parser.py\", line 98, in check_event\n    self.current_event \u003d self.state()\n  File \"/opt/stack/wadl2rst/local/lib/python2.7/site-packages/yaml/parser.py\", line 439, in parse_block_mapping_key\n    \"expected \u003cblock end\u003e, but found %r\" % token.id, token.start_mark)\nyaml.parser.ParserError: while parsing a block mapping\n  in \"keystone.yaml\", line 1, column 1\nexpected \u003cblock end\u003e, but found \u0027\u003cscalar\u003e\u0027\n  in \"keystone.yaml\", line 9, column 3\n\n\nMaybe because the code is cloned from github.com ?","commit_id":"d8e926c07cae2d3a88bdc7607913f25017fe1a3e"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"cf5c886644f9a2f70a14921f5f6ab16a37fd65ea","unresolved":false,"context_lines":[{"line_number":87,"context_line":"          Tokens"},{"line_number":88,"context_line":"          \u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"      Gets an authentication token that permits access to the"},{"line_number":91,"context_line":"      OpenStack services REST API."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"#. In the wadl2rst directory, run this command with your project\u0027s yaml file"},{"line_number":94,"context_line":"   to run the migration.::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a122d0e_7349ea30","line":91,"range":{"start_line":90,"start_character":6,"end_line":91,"end_character":34},"updated":"2016-04-27 17:43:40.000000000","message":"we need to create dist/identity directory first, otherwise it will fail\n\nif I remove the last two lines, things will work","commit_id":"d8e926c07cae2d3a88bdc7607913f25017fe1a3e"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"97c5d9b4b48acbe6a11470851e20726d08cf7900","unresolved":false,"context_lines":[{"line_number":120,"context_line":"``apirefscrape.py``, is in a ``/scripts/`` directory in the wadl2rst"},{"line_number":121,"context_line":"repository. Run it like so.::"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    python apirefscrape.py"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"You see output of each service, a count of all operations, and a listing of"},{"line_number":126,"context_line":"each operation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a122d0e_13bb56e6","line":123,"range":{"start_line":123,"start_character":4,"end_line":123,"end_character":26},"updated":"2016-04-27 17:52:24.000000000","message":"$ python apirefscrape.py \nTraceback (most recent call last):\n  File \"apirefscrape.py\", line 7, in \u003cmodule\u003e\n    from lxml import html\nImportError: No module named lxml","commit_id":"d8e926c07cae2d3a88bdc7607913f25017fe1a3e"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"97c5d9b4b48acbe6a11470851e20726d08cf7900","unresolved":false,"context_lines":[{"line_number":120,"context_line":"``apirefscrape.py``, is in a ``/scripts/`` directory in the wadl2rst"},{"line_number":121,"context_line":"repository. Run it like so.::"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    python apirefscrape.py"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"You see output of each service, a count of all operations, and a listing of"},{"line_number":126,"context_line":"each operation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a122d0e_53b14e00","line":123,"range":{"start_line":123,"start_character":4,"end_line":123,"end_character":26},"updated":"2016-04-27 17:52:24.000000000","message":"$ python apirefscrape.py \nTraceback (most recent call last):\n  File \"apirefscrape.py\", line 8, in \u003cmodule\u003e\n    import requests\nImportError: No module named requests","commit_id":"d8e926c07cae2d3a88bdc7607913f25017fe1a3e"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"3bb64914b1939fc4868dcb02054d716aed702d0d","unresolved":false,"context_lines":[{"line_number":120,"context_line":"``apirefscrape.py``, is in a ``/scripts/`` directory in the wadl2rst"},{"line_number":121,"context_line":"repository. Run it like so.::"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    python apirefscrape.py"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"You see output of each service, a count of all operations, and a listing of"},{"line_number":126,"context_line":"each operation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a122d0e_8e73bd7f","line":123,"range":{"start_line":123,"start_character":4,"end_line":123,"end_character":26},"in_reply_to":"1a122d0e_53b14e00","updated":"2016-04-27 18:53:13.000000000","message":"Let\u0027s handle this outside of this review, could you file a bug, please?","commit_id":"d8e926c07cae2d3a88bdc7607913f25017fe1a3e"},{"author":{"_account_id":10497,"name":"KATO Tomoyuki","email":"kato.tomoyuki@jp.fujitsu.com","username":"to222"},"change_message_id":"5f8fe9e23f3164ca80ede178fbdbf530623fd0cc","unresolved":false,"context_lines":[{"line_number":66,"context_line":"      $ virtualenv wadl2rst"},{"line_number":67,"context_line":"      $ source wadl2rst/bin/activate"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"#. Install the requirements and ``wadl2rst`` in the virtual"},{"line_number":70,"context_line":"   environment."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"   .. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_022781b6","line":69,"updated":"2016-04-27 19:29:02.000000000","message":"I think we need \"cd\" before pip.","commit_id":"586575f8a988eafc9bc37aada17b513ac11ef3d9"}]}
