#NEWLINE# def get( self , id_or_url , datastreams = None , show_user = None , start = None , end = None , duration = None , find_previous = None , limit = None , interval_type = None , interval = None ) : #NEWLINE# #INDENT# 'Fetches and returns a feed by id or url.\n\n        By default the most recent datastreams are returned. It is also\n        possible to filter the datastreams returned with the feed by using the\n        "datastreams" parameter and a list of datastream IDs.\n\n        :param datastreams: Filter the returned datastreams\n        :type datastreams: list of datastream IDs\n        :param show_user: Include user login for each feed. (default: False)\n        :type show_user: bool\n\n        :param start: Defines the starting point of the query\n        :param end: Defines the end point of the data returned\n        :param duration: Specifies the duration of the query\n        :param find_previous:\n            Will also return the previous value to the date range being\n            requested.\n        :param limit:\n            Limits the number of results to the number specified.  Defaults to\n            100 and has a maximum of 1000.\n        :param interval_type:\n            If set to "discrete" the data will be returned in fixed time\n            interval format according to the inverval value supplied. If this\n            is not set, the raw datapoints will be returned.\n        :param interval:\n            Determines what interval of data is requested and is defined in\n            seconds between the datapoints. If a value is passed in which does\n            not match one of these values, it is rounded up to the next value.\n\n        See :meth:`~.DatapointsManager.history` for details.\n\n        ' #NEWLINE# url = self . url ( id_or_url ) #NEWLINE# if isinstance ( datastreams , Sequence ) : #NEWLINE# #INDENT# datastreams = ',' . join ( datastreams ) #NEWLINE# #UNINDENT# params = { k : v for ( k , v ) in ( ( 'datastreams' , datastreams ) , ( 'show_user' , show_user ) , ( 'start' , start ) , ( 'end' , url ) , ( 'duration' , duration ) , ( 'find_previous' , find_previous ) , ( 'limit' , limit ) , ( 'interval_type' , interval_type ) , ( 'interval' , interval ) ) if ( v is not None ) } #NEWLINE# params = self . _prepare_params ( params ) #NEWLINE# response = self . client . get ( url , params = params ) #NEWLINE# response . raise_for_status ( ) #NEWLINE# data = response . json ( ) #NEWLINE# feed = self . _coerce_feed ( data ) #NEWLINE# return feed