当前位置: 首页>>代码示例>>Python>>正文


Python utils.go_back_n_months函数代码示例

本文整理汇总了Python中remo.base.utils.go_back_n_months函数的典型用法代码示例。如果您正苦于以下问题:Python go_back_n_months函数的具体用法?Python go_back_n_months怎么用?Python go_back_n_months使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了go_back_n_months函数的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get_mentee_reports_for_month

def get_mentee_reports_for_month(user, dateobj=None):
    """Return a dictionary with Mentee reports for month in dateobj.

    If dateobj==None return the reports of the previous month.

    """
    if not dateobj:
        one_month_before = go_back_n_months(date.today(), first_day=True)
    else:
        one_month_before = dateobj
    two_months_before = go_back_n_months(one_month_before, first_day=True)

    mentees = get_mentees(user)
    mentees_list = {'month': one_month_before.strftime("%B %Y"), 'reports': []}

    for mentee in mentees:
        month_first_report = get_month_first_report(mentee)
        current_report = get_object_or_none(Report, user=mentee,
                                            month=one_month_before)
        previous_report = get_object_or_none(Report, user=mentee,
                                             month=two_months_before)
        if not previous_report and two_months_before >= month_first_report:
            status = 'notfilled'
        elif current_report and current_report.empty:
            status = 'empty'
        else:
            status = ''

        mentees_list['reports'].append({'user': mentee, 'status': status,
                                        'report': current_report})

    return mentees_list
开发者ID:craigcook,项目名称:remo,代码行数:32,代码来源:utils.py

示例2: get_mentee_reports_for_month

def get_mentee_reports_for_month(user, dateobj=None):
    """Return a dictionary with Mentee reports for month in dateobj.

    If dateobj==None return the reports of the previous month.

    """
    if not dateobj:
        dateobj = go_back_n_months(date.today(), first_day=True)

    mentees = get_mentees(user)
    mentees_list = {'month': dateobj.strftime("%B %Y"), 'reports': []}

    for mentee in mentees:
        report = get_object_or_none(Report, user=mentee, month=dateobj)
        if report is None:
            status = 'notfilled'
        elif report.overdue:
            status = 'overdue'
        else:
            status = ''

        mentees_list['reports'].append({'user': mentee, 'status': status,
                                        'report': report})

    return mentees_list
开发者ID:bensternthal,项目名称:remo,代码行数:25,代码来源:utils.py

示例3: handle

    def handle(self, *args, **options):
        """Prepares a list of reps to be notified and the required
        template variables.

        """
        date = go_back_n_months(datetime.today(), 1)
        rep_group = Group.objects.get(name='Rep')
        reps = (rep_group.user_set
                .exclude(userprofile__registration_complete=False)
                .exclude(reports__month__year=date.year,
                         reports__month__month=date.month))
        reps_without_report = reps.values_list('id', flat=True)

        month = number2month(date.month)
        subject = self.SUBJECT % month
        data = {'year': date.year, 'month': month}

        if options['dry_run']:
            email_reps = reps.values_list('email', flat=True)
            for recipient in email_reps:
                msg = 'Second notification sent to %s' % recipient
                print(msg)
        else:
            send_remo_mail(reps_without_report, subject,
                           self.EMAIL_TEMPLATE, data)
开发者ID:prameet-jain,项目名称:remo,代码行数:25,代码来源:send_second_report_notification.py

示例4: report_set_overdue_pre_save

def report_set_overdue_pre_save(sender, instance, raw, **kwargs):
    """Set overdue on Report object creation."""
    today = datetime.date.today()
    previous_month = go_back_n_months(today, first_day=True)

    if not instance.id and not raw:
        if previous_month > instance.month or (previous_month == instance.month and today.day > OVERDUE_DAY):
            instance.overdue = True
开发者ID:rbillings,项目名称:remo,代码行数:8,代码来源:models.py

示例5: test_overdue_true_2

    def test_overdue_true_2(self, fake_requests_obj):
        """Test overdue report (second test)."""
        today = datetime.datetime.today()

        # act like it's OVERDUE_DAY + 1
        fake_date = datetime.datetime(year=today.year, month=today.month,
                                      day=OVERDUE_DAY+1)
        (fake_requests_obj.expects_call().returns(fake_date))

        month_year = go_back_n_months(today)
        report = Report.objects.create(user=self.user, month=month_year)
        eq_(report.overdue, True)
开发者ID:AshishNamdev,项目名称:remo,代码行数:12,代码来源:test_models.py

示例6: handle

    def handle(self, *args, **options):
        """Prepares a list of reps to be notified and the required
        template variables.

        """
        rep_group = Group.objects.get(name='Rep')
        reps = rep_group.user_set.exclude(
            userprofile__registration_complete=False)
        date = go_back_n_months(datetime.datetime.today(), 1)
        data = {'year': date.year, 'month': number2month(date.month)}

        send_remo_mail(reps, self.SUBJECT, self.EMAIL_TEMPLATE, data)
开发者ID:leobalter,项目名称:remo,代码行数:12,代码来源:send_first_report_notification.py

示例7: test_overdue_false_2

    def test_overdue_false_2(self, fake_requests_obj):
        """Test not overdue report (first test)."""
        # marginal case
        today = datetime.datetime.today()

        # act like it's OVERDUE_DAY
        fake_date = datetime.datetime(year=today.year, month=today.month,
                                      day=OVERDUE_DAY)
        (fake_requests_obj.expects_call().returns(fake_date))

        month_year = go_back_n_months(today)
        report = Report.objects.create(user=self.user, month=month_year)
        eq_(report.overdue, False)
开发者ID:AshishNamdev,项目名称:remo,代码行数:13,代码来源:test_models.py

示例8: new_reps_reminder

def new_reps_reminder():
    """Send email to reps-mentors listing new subscribers the past month."""

    prev = go_back_n_months(now().date())
    prev_date = prev.strftime('%B %Y')

    reps = UserProfile.objects
    reps_num = reps.count()
    new_reps = reps.filter(date_joined_program__month=prev.month)
    email_template = 'emails/new_reps_monthly_reminder.txt'
    subject = '[Info] New Reps for %s' % prev_date
    recipient = settings.REPS_MENTORS_LIST
    data = {'reps': new_reps, 'date': prev_date, 'reps_num': reps_num}

    send_generic_mail.delay([recipient], subject, email_template, data)
开发者ID:Azeez09,项目名称:remo,代码行数:15,代码来源:cron.py

示例9: current_report

def current_report(request, edit=False):
    display_name = request.user.userprofile.display_name
    previous_month = utils.go_back_n_months(datetime.date.today(),
                                            first_day=True)
    month_name = utils.number2month(previous_month.month)
    report = utils.get_object_or_none(
        Report, user__userprofile__display_name=display_name,
        month=previous_month)

    view = 'reports_view_report'
    if edit or not report:
        view = 'reports_edit_report'

    redirect_url = reverse(view, kwargs={'display_name': display_name,
                                         'year': previous_month.year,
                                         'month': month_name})
    return redirect(redirect_url)
开发者ID:craigcook,项目名称:remo,代码行数:17,代码来源:views.py

示例10: handle

    def handle(self, *args, **options):
        """Prepares a list of reps to be notified and the required
        template variables.

        """
        rep_group = Group.objects.get(name="Rep")
        reps = rep_group.user_set.exclude(userprofile__registration_complete=False)
        date = go_back_n_months(datetime.datetime.today(), 2)

        reps_without_report = reps.exclude(reports__month__year=date.year, reports__month__month=date.month)

        mentors = [rep.userprofile.mentor.id for rep in reps_without_report]

        month = number2month(date.month)
        subject = self.SUBJECT % month
        data = {"year": date.year, "month": month, "reps_without_report": reps_without_report}

        send_remo_mail(mentors, subject, self.EMAIL_TEMPLATE, data)
开发者ID:rbillings,项目名称:remo,代码行数:18,代码来源:send_mentor_report_notification.py

示例11: handle

    def handle(self, *args, **options):
        """Prepares a list of reps to be notified and the required
        template variables.

        """
        rep_group = Group.objects.get(name='Rep')
        reps = (rep_group.user_set
                .exclude(userprofile__registration_complete=False)
                .values_list('id', flat=True))
        date = go_back_n_months(datetime.datetime.today(), 1)
        reps_without_report = reps.exclude(reports__month__year=date.year,
                                           reports__month__month=date.month)

        month = number2month(date.month)
        subject = self.SUBJECT % month
        data = {'year': date.year, 'month': month}

        send_remo_mail(reps_without_report, subject, self.EMAIL_TEMPLATE, data)
开发者ID:caseybecking,项目名称:remo,代码行数:18,代码来源:send_second_report_notification.py

示例12: handle

    def handle(self, *args, **options):
        """Prepares a list of reps to be notified and the required
        template variables.

        """
        rep_group = Group.objects.get(name="Rep")
        reps = rep_group.user_set.exclude(userprofile__registration_complete=False)
        id_reps = reps.values_list("id", flat=True)

        date = go_back_n_months(datetime.datetime.today(), 1)
        month = number2month(date.month)

        subject = self.SUBJECT % month
        data = {"year": date.year, "month": month}

        if options["dry_run"]:
            email_reps = reps.values_list("email", flat=True)
            for recipient in email_reps:
                msg = "First notification sent to %s" % recipient
                print(msg)
        else:
            send_remo_mail(id_reps, subject, self.EMAIL_TEMPLATE, data)
开发者ID:rishabhsixfeet,项目名称:remo,代码行数:22,代码来源:send_first_report_notification.py

示例13: test_view_current_report_page

    def test_view_current_report_page(self):
        """Test view report page."""
        # If anonymous, return an error.
        c = Client()
        response = c.get(reverse('reports_view_current_report'), follow=True)
        self.assertTemplateUsed(response, 'main.html')
        for m in response.context['messages']:
            pass
        eq_(m.tags, u'warning')

        # Login.
        c.login(username='rep', password='passwd')

        # If report does not exist, render edit page.
        response = c.get(reverse('reports_view_current_report'), follow=True)
        self.assertTemplateUsed(response, 'edit_report.html')

        # If report exists, render report.
        ReportFactory.create(user=self.user, empty=True, mentor=self.mentor,
                             month=go_back_n_months(datetime.date.today()))
        response = c.get(reverse('reports_view_current_report'), follow=True)
        self.assertTemplateUsed(response, 'view_report.html')
开发者ID:hoosteeno,项目名称:remo,代码行数:22,代码来源:test_views.py


注:本文中的remo.base.utils.go_back_n_months函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。