)]}'
{"ceilometer/api/controllers/v2.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"7e070b76a4c73840c8b620eb0c829c0ff9d9c293","unresolved":false,"context_lines":[{"line_number":490,"context_line":""},{"line_number":491,"context_line":"    def __init__(self, metadata\u003d{}, **kwds):"},{"line_number":492,"context_line":"        metadata \u003d _flatten_metadata(metadata)"},{"line_number":493,"context_line":"        links \u003d self._get_meter_links(kwds[\u0027resource_id\u0027])"},{"line_number":494,"context_line":"        super(Resource, self).__init__(metadata\u003dmetadata, links\u003dlinks, **kwds)"},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"    def _get_meter_links(self, resource_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAOn%2F%2FvXA%3D","line":493,"updated":"2013-04-25 13:04:46.000000000","message":"If resource_id is needed, list it explicitly in the args to __init__ instead of getting it from kwds, like the metadata arg.","commit_id":"4e7903a25c1c2f7215797c04f42a43a7f3d6be40"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"569f8ff1f51739dfe1122b29abee2236319dfcd4","unresolved":false,"context_lines":[{"line_number":485,"context_line":"    metadata \u003d {wtypes.text: wtypes.text}"},{"line_number":486,"context_line":"    \"Arbitrary metadata associated with the resource\""},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"    links \u003d [wtypes.text]"},{"line_number":489,"context_line":"    \"A list of associated meters\""},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"    def __init__(self, metadata\u003d{}, **kwds):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2Fxao%3D","line":488,"updated":"2013-04-23 21:08:03.000000000","message":"Isn\u0027t it usual to associate a \"name\" with the link so the client can tell what it points to? For example, \"next\" and \"previous\" for the paging links.","commit_id":"df2f849c359fdaa29bc5dfb30d51c758d41144ef"},{"author":{"_account_id":4715,"name":"Angus Salkeld","email":"asalkeld@redhat.com","username":"asalkeld"},"change_message_id":"0eca90f1f1f591042b02a2ac2a7290e902b089a2","unresolved":false,"context_lines":[{"line_number":518,"context_line":"                        (pecan.request.host_url, meter.name,"},{"line_number":519,"context_line":"                         resource.resource_id))"},{"line_number":520,"context_line":"        resource.links \u003d links"},{"line_number":521,"context_line":"        return resource"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    @wsme_pecan.wsexpose(Resource, unicode)"},{"line_number":524,"context_line":"    def get_one(self, resource_id):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2Fy3s%3D","line":521,"updated":"2013-04-23 04:23:09.000000000","message":"Qu: shouldn\u0027t this belong in from_db_model()?\n you could pass the host_url into from_db_model() as an argument.","commit_id":"df2f849c359fdaa29bc5dfb30d51c758d41144ef"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"e9ac6bad95328f8ed1380c793c582910c1af08bb","unresolved":false,"context_lines":[{"line_number":518,"context_line":"                        (pecan.request.host_url, meter.name,"},{"line_number":519,"context_line":"                         resource.resource_id))"},{"line_number":520,"context_line":"        resource.links \u003d links"},{"line_number":521,"context_line":"        return resource"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    @wsme_pecan.wsexpose(Resource, unicode)"},{"line_number":524,"context_line":"    def get_one(self, resource_id):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2Fwp4%3D","line":521,"in_reply_to":"AAAAOn%2F%2FxZ8%3D","updated":"2013-04-24 13:48:05.000000000","message":"i actually did have this logic in resource class but the doc tests kept giving me hell: https://review.openstack.org/#/c/26663/5/ceilometer/api/controllers/v2.py\n\ni\u0027ll give it a try again.","commit_id":"df2f849c359fdaa29bc5dfb30d51c758d41144ef"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"b856186828c27dd8f7f3506f92df02d5827fb6bc","unresolved":false,"context_lines":[{"line_number":518,"context_line":"                        (pecan.request.host_url, meter.name,"},{"line_number":519,"context_line":"                         resource.resource_id))"},{"line_number":520,"context_line":"        resource.links \u003d links"},{"line_number":521,"context_line":"        return resource"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    @wsme_pecan.wsexpose(Resource, unicode)"},{"line_number":524,"context_line":"    def get_one(self, resource_id):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2FyQU%3D","line":521,"in_reply_to":"AAAAOn%2F%2Fy3s%3D","updated":"2013-04-23 14:39:23.000000000","message":"no real reasoning on having it here so i\u0027m open to suggestions. do you mean to move this logic to the Base? only reason i put it here is because it applies to Resource and not the other models.","commit_id":"df2f849c359fdaa29bc5dfb30d51c758d41144ef"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"569f8ff1f51739dfe1122b29abee2236319dfcd4","unresolved":false,"context_lines":[{"line_number":518,"context_line":"                        (pecan.request.host_url, meter.name,"},{"line_number":519,"context_line":"                         resource.resource_id))"},{"line_number":520,"context_line":"        resource.links \u003d links"},{"line_number":521,"context_line":"        return resource"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    @wsme_pecan.wsexpose(Resource, unicode)"},{"line_number":524,"context_line":"    def get_one(self, resource_id):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2FxZ8%3D","line":521,"in_reply_to":"AAAAOn%2F%2FyQU%3D","updated":"2013-04-23 21:08:03.000000000","message":"The logic for adding these links should go in the resource class, but we\u0027ll have to handle pagination outside of that class as well.","commit_id":"df2f849c359fdaa29bc5dfb30d51c758d41144ef"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"ed861a8264b715af9b52c53c833a96ebc90e7592","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        return cls(links\u003dlinks, **(m.as_dict()))"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"class Link(_Base):"},{"line_number":64,"context_line":"    \"\"\"A link representation"},{"line_number":65,"context_line":"    \"\"\""},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAOn%2F%2Fn38%3D","line":63,"updated":"2013-05-01 15:29:54.000000000","message":"You\u0027ll need to add a section like:\n\n  .. autotype:: ceilometer.api.controllers.v2.Link\n     :members:\n\nTo doc/source/webapi/v2.rst to have the new type show up in the documentation. I think a new section at the bottom of the file makes sense, since this is going to be used in several places.","commit_id":"5c4aee5c6f43b23cc842cc759dfce7513c2b346f"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"5aeb6eb79f1dfb1ddf558c6f7b6a2625341a55aa","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        return cls(links\u003dlinks, **(m.as_dict()))"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"class Link(_Base):"},{"line_number":64,"context_line":"    \"\"\"A link representation"},{"line_number":65,"context_line":"    \"\"\""},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAOn%2F%2Fnp0%3D","line":63,"in_reply_to":"AAAAOn%2F%2Fn38%3D","updated":"2013-05-01 16:55:31.000000000","message":"Done","commit_id":"5c4aee5c6f43b23cc842cc759dfce7513c2b346f"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"761b3e55c2048782bc35c76866b2ca3dbf1fc661","unresolved":false,"context_lines":[{"line_number":516,"context_line":"        super(Resource, self).__init__(metadata\u003dmetadata, **kwds)"},{"line_number":517,"context_line":""},{"line_number":518,"context_line":"    @classmethod"},{"line_number":519,"context_line":"    def make_meter_link(cls, url, meter_name, resource_id):"},{"line_number":520,"context_line":"        return Link(href\u003d((\u0027%s/v2/meters/%s?q.field\u003dresource_id\u0027"},{"line_number":521,"context_line":"                    \u0027\u0026q.value\u003d%s\u0027) % (url, meter_name, resource_id)),"},{"line_number":522,"context_line":"                    rel\u003dmeter_name)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAOn%2F%2FmDg%3D","line":519,"updated":"2013-05-02 14:58:28.000000000","message":"Why classmethod if you don\u0027t use the cls arg?","commit_id":"6d63a03a5b52b72858141030f3e250380b4db04a"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"b7c8ecd4c8c50d81a16f888cb72d3c73a2696d51","unresolved":false,"context_lines":[{"line_number":516,"context_line":"        super(Resource, self).__init__(metadata\u003dmetadata, **kwds)"},{"line_number":517,"context_line":""},{"line_number":518,"context_line":"    @classmethod"},{"line_number":519,"context_line":"    def make_meter_link(cls, url, meter_name, resource_id):"},{"line_number":520,"context_line":"        return Link(href\u003d((\u0027%s/v2/meters/%s?q.field\u003dresource_id\u0027"},{"line_number":521,"context_line":"                    \u0027\u0026q.value\u003d%s\u0027) % (url, meter_name, resource_id)),"},{"line_number":522,"context_line":"                    rel\u003dmeter_name)"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAOn%2F%2Flps%3D","line":519,"in_reply_to":"AAAAOn%2F%2FmDg%3D","updated":"2013-05-02 18:45:57.000000000","message":"whoops, i left it in there while i was playing around trying to get it to pass doc tests.  i\u0027ve pulled them pull out into a single function which hopefully is more reuseable","commit_id":"6d63a03a5b52b72858141030f3e250380b4db04a"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"761b3e55c2048782bc35c76866b2ca3dbf1fc661","unresolved":false,"context_lines":[{"line_number":522,"context_line":"                    rel\u003dmeter_name)"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"    @classmethod"},{"line_number":525,"context_line":"    def make_resource_link(cls, url, resource_id):"},{"line_number":526,"context_line":"        return Link(href\u003d(\u0027%s/v2/resources/%s\u0027 % (url, resource_id)),"},{"line_number":527,"context_line":"                    rel\u003d\u0027self\u0027)"},{"line_number":528,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAOn%2F%2FmDc%3D","line":525,"updated":"2013-05-02 14:58:28.000000000","message":"Same here.","commit_id":"6d63a03a5b52b72858141030f3e250380b4db04a"}]}
