def digest_save(sender, **kwargs): """ :param sender: :param kwargs: :return: """ # set the deadline of the publication of the digest data duration = kwargs.get('duration') if duration not in ('d', 'w', 'm'): return # get the current date now = arrow.utcnow().to(settings.TIME_ZONE) # set the deadline if duration == 'd': # set tomorrow tomorrow = now.shift(days=+1) date_end = tomorrow.date() # noqa extrat the date part elif duration == 'w': # set next week next_week = now.shift(weeks=+1) date_end = next_week.date() else: # set next month next_month = now.shift(months=+1) date_end = next_month.date() Digest.objects.create(user=kwargs.get('user'), title=kwargs.get('title'), link=kwargs.get('link'), duration=duration, date_end=str(date_end), provider=sender)