<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def find(cls, *args, **kwargs):
 """ Find notifications. Optional kwargs are: since: datetime instance until: datetime instance If not specified, until will default to now(), and since will default to 30 days prior to until. As per PD spec, date range must not exceed 1 month. """

        seconds = 60 * 60 * 24 * 30  # seconds in 30 days
        until = kwargs.pop('until', None)
        since = kwargs.pop('since', None)

        if until is None:
            until = datetime.datetime.now()

        if since is None:
            since = until - datetime.timedelta(seconds=seconds)

        dt = until - since
        if dt > datetime.timedelta(seconds=seconds):
            raise InvalidArguments(until, since)

        kwargs['since'] = since.isoformat()
        kwargs['until'] = until.isoformat()

        return getattr(Entity, 'find').__func__(cls, *args, **kwargs)