#NEWLINE# @ utils . immutable #NEWLINE# def precision( self , precision ) : #NEWLINE# #INDENT# "\n        For queries that should run faster, you may specify a lower precision,\n        and for those that need to be more precise, a higher precision:\n\n        ```python\n        # faster queries\n        query.range('2014-01-01', '2014-01-31', precision=0)\n        query.range('2014-01-01', '2014-01-31', precision='FASTER')\n        # queries with the default level of precision (usually what you want)\n        query.range('2014-01-01', '2014-01-31')\n        query.range('2014-01-01', '2014-01-31', precision=1)\n        query.range('2014-01-01', '2014-01-31', precision='DEFAULT')\n        # queries that are more precise\n        query.range('2014-01-01', '2014-01-31', precision=2)\n        query.range('2014-01-01', '2014-01-31', precision='HIGHER_PRECISION')      \n        ```\n        " #NEWLINE# if isinstance ( precision , int ) : #NEWLINE# #INDENT# precision = self . PRECISION_LEVELS [ precision ] #NEWLINE# #UNINDENT# if ( precision not in self . PRECISION_LEVELS ) : #NEWLINE# #INDENT# levels = ', ' . join ( self . PRECISION_LEVELS ) #NEWLINE# raise ValueError ( ( 'Precision should be one of: ' + levels ) ) #NEWLINE# #UNINDENT# if ( precision != 'DEFAULT' ) : #NEWLINE# #INDENT# self . raw . update ( { #NEWLINE# #INDENT# 'samplingLevel' : precision , #NEWLINE# #UNINDENT# } ) #NEWLINE# #UNINDENT# return self