def get_limits(self, limit_sum=None):
with self.limit_lock:<EOL><INDENT>try:<EOL><INDENT>return self.limit_rpc.get_limits(limit_sum)<EOL><DEDENT>except control.NoChangeException:<EOL><INDENT>raise<EOL><DEDENT>except Exception:<EOL><INDENT>raise control.NoChangeException()<EOL><DEDENT><DEDENT>
Gets the current limit data if it is different from the data
indicated by limit_sum.  The db argument is used for hydrating
the limit objects.  Raises a NoChangeException if the
limit_sum represents no change, otherwise returns a tuple
consisting of the current limit_sum and a list of Limit
objects.