)]}'
{"doc/source/session.rst":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"3d4655cabb9b3d57d773da1fe14d402317bdee17","unresolved":false,"context_lines":[{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"Class ``openstack.session.Session`` is the class that maintains session layer"},{"line_number":5,"context_line":"similar to the OSI model session lyaer.  The session has a transport and"},{"line_number":6,"context_line":"an authenticator.  The transport is used by the session and authenticator"},{"line_number":7,"context_line":"for HTTP layer transport.  The authenticator is responsible for providing an"},{"line_number":8,"context_line":"authentication token and an endpoint to communicate with."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_e31f7d6a","line":5,"updated":"2014-06-03 19:30:19.000000000","message":"lyaer","commit_id":"9fb4e2c4fbc67c84a2c6a9dc412d01557d9e1fac"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"3d4655cabb9b3d57d773da1fe14d402317bdee17","unresolved":false,"context_lines":[{"line_number":62,"context_line":"and export the TOKEN and ENDPOINT environment variables.  For example::"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    export TOKEN\u003d\u0027AuthToken\u0027"},{"line_number":65,"context_line":"    export ENDPOINT\u003d\u0027http://cloud.example.com:3333\u0027"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Create a session"},{"line_number":68,"context_line":"~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_5e12c457","line":65,"updated":"2014-06-03 19:30:19.000000000","message":"ah, sorry i made you change these.","commit_id":"9fb4e2c4fbc67c84a2c6a9dc412d01557d9e1fac"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"3d4655cabb9b3d57d773da1fe14d402317bdee17","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    containers \u003d sess.get(\u0027/\u0027).json()"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"The containers variable will contain a list of containers."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"HTTP PUT"},{"line_number":89,"context_line":"~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_fe071016","line":86,"updated":"2014-06-03 19:30:19.000000000","message":"not really, it\u0027ll be the dict response of the method call. \n\nTo get a list of \u0027containers\u0027 you need to use the containers resource that knows how to parse that response.","commit_id":"9fb4e2c4fbc67c84a2c6a9dc412d01557d9e1fac"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"3d4655cabb9b3d57d773da1fe14d402317bdee17","unresolved":false,"context_lines":[{"line_number":91,"context_line":"Creating a new object::"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    objay_data \u003d \u0027roland garros\u0027"},{"line_number":94,"context_line":"    objay_len \u003d str(len(objay_data))"},{"line_number":95,"context_line":"    headers \u003d {\"Content-Length\": objay_len, \"Content-Type\": \"text/plain\"}"},{"line_number":96,"context_line":"    resp \u003d sess.put(\u0027/pilots/french.txt\u0027, headers\u003dheaders, data\u003dobjay_data)"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_de2df496","line":94,"updated":"2014-06-03 19:30:19.000000000","message":"general question: do you need to str() that? i never have","commit_id":"9fb4e2c4fbc67c84a2c6a9dc412d01557d9e1fac"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"0c81f7820c0c4a1e3b2c3f4b0ded780e4992b2dd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Session"},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"Class ``openstack.session.Session`` is the class that maintains session layer"},{"line_number":5,"context_line":"similar to the OSI model session layer.  The session has a transport and"},{"line_number":6,"context_line":"an authenticator.  The transport is used by the session and authenticator"},{"line_number":7,"context_line":"for HTTP layer transport.  The authenticator is responsible for providing an"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_2e162af2","line":4,"updated":"2014-06-06 21:45:31.000000000","message":"I think I would remove the \"Class\" to start this off, it feels odd saying \"Class Session is the class\"","commit_id":"1960aa73a8bb8663a6826fa66e2dcd73a54a449a"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"0c81f7820c0c4a1e3b2c3f4b0ded780e4992b2dd","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":".. class:: openstack.session.Session(transport, authenticator)"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Create a new ``Session`` object with a transport and authenticator."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"* transport -  Transport such as ``openstack.transport.Transport`` that"},{"line_number":18,"context_line":"  provides an HTTP request method.  The transport is also to be used by"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_8e6c9e0a","line":15,"updated":"2014-06-06 21:45:31.000000000","message":"Should indent everything from here until the first method by three spaces (lined up with the word \u0027class\u0027 above).","commit_id":"1960aa73a8bb8663a6826fa66e2dcd73a54a449a"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"0c81f7820c0c4a1e3b2c3f4b0ded780e4992b2dd","unresolved":false,"context_lines":[{"line_number":30,"context_line":"* kwargs - The remaining arguments are passed to the transport request"},{"line_number":31,"context_line":"  method."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Method ``Session.head(url, service\u003dservice_filter, authenticate\u003dTrue, **kwargs)``"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Perform an HTTP HEAD request."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_ee59a25c","line":33,"updated":"2014-06-06 21:45:31.000000000","message":"If you change this line to a three-space indent and \".. method:: head(url, service\u003dservice_filter, authenticate\u003dTrue, **kwargs)\", you\u0027ll get the nice markup and anchoring. Should also move the \"Perform\" line below to be indented under it.\n\n(I made a change to do this, can\u0027t figure out how to push it into this review for whatever reason...my old notes on that are wrong, I guess)","commit_id":"1960aa73a8bb8663a6826fa66e2dcd73a54a449a"}]}
