本文整理汇总了Python中remo.base.utils.get_date函数的典型用法代码示例。如果您正苦于以下问题:Python get_date函数的具体用法?Python get_date怎么用?Python get_date使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_date函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: clean
def clean(self):
"""Clean Form."""
cdata = super(UserStatusForm, self).clean()
if self.instance.id:
return cdata
tomorrow = get_date(days=1)
max_period = get_date(weeks=MAX_UNAVAILABILITY_PERIOD)
if 'expected_date' in cdata:
if cdata['expected_date'] < tomorrow:
msg = ('Return day cannot be earlier than {0}'
.format(tomorrow.strftime('%d %B %Y')))
self._errors['expected_date'] = self.error_class([msg])
if cdata['expected_date'] > max_period:
msg = (u'The maximum period for unavailability is until {0}.'
.format(max_period.strftime('%d %B %Y')))
sop = mark_safe(msg + (' For more information please check '
'the %s Leaving SOP') % LEAVING_SOP_URL)
self._errors['expected_date'] = self.error_class([sop])
if ('is_replaced' in cdata and
cdata['is_replaced'] and not cdata['replacement_rep']):
msg = 'Please select a replacement Rep during your absence.'
self._errors['replacement_rep'] = self.error_class([msg])
return cdata
开发者ID:abshetewy,项目名称:remo,代码行数:27,代码来源:forms.py
示例2: notify_event_owners_to_input_metrics
def notify_event_owners_to_input_metrics():
"""Send an email to event creators.
After an event has finished event creators are notified
that they should input the actual metrics for the event.
"""
start = datetime.combine(get_date(days=-1), datetime.min.time())
end = datetime.combine(get_date(days=-1), datetime.max.time())
events = Event.objects.filter(
end__range=[start, end], has_new_metrics=True, eventmetricoutcome__outcome__isnull=True
)
events = events.distinct()
event_model = ContentType.objects.get_for_model(Event)
for event in events:
# Before sending an email check that an action item already exists.
# If it does, then we have already sent this email.
action_item = ActionItem.objects.filter(content_type=event_model, object_id=event.id)
if not action_item.exists():
subject = "[Reminder] Please add the actual metrics for event {0}".format(event.name)
template = "email/event_creator_notification_to_input_metrics.txt"
data = {"event": event}
send_remo_mail(subject=subject, email_template=template, recipients_list=[event.owner.id], data=data)
ActionItem.create(instance=event)
开发者ID:flaki,项目名称:remo,代码行数:25,代码来源:tasks.py
示例3: clean
def clean(self):
"""Clean Form."""
cdata = super(UserStatusForm, self).clean()
if self.instance.id:
cdata["start_date"] = self.instance.start_date
return cdata
tomorrow = get_date(days=1)
today = get_date()
max_period = get_date(weeks=MAX_UNAVAILABILITY_PERIOD)
if "start_date" in cdata:
if cdata["start_date"] < today:
msg = u"Start date cannot be in the past."
self._errors["start_date"] = self.error_class([msg])
if "expected_date" in cdata:
if cdata["expected_date"] < tomorrow:
msg = u"Return day cannot be earlier than {0}".format(tomorrow.strftime("%d %B %Y"))
self._errors["expected_date"] = self.error_class([msg])
if cdata["expected_date"] < cdata["start_date"]:
msg = u"Return date cannot be before start date."
self._errors["expected_date"] = self.error_class([msg])
if cdata["expected_date"] > max_period:
msg = u"The maximum period for unavailability is until {0}.".format(max_period.strftime("%d %B %Y"))
sop = mark_safe(msg + (" For more information please check " "the %s Leaving SOP") % LEAVING_SOP_URL)
self._errors["expected_date"] = self.error_class([sop])
if "is_replaced" in cdata and cdata["is_replaced"] and not cdata["replacement_rep"]:
msg = "Please select a replacement Rep during your absence."
self._errors["replacement_rep"] = self.error_class([msg])
return cdata
开发者ID:abdullah2891,项目名称:remo,代码行数:34,代码来源:forms.py
示例4: test_base
def test_base(self):
user = UserFactory.create()
date = get_date()
data = {'expected_date': date}
form = UserStatusForm(data, instance=UserStatus(user=user))
ok_(form.is_valid())
db_obj = form.save()
eq_(db_obj.expected_date, get_date())
eq_(db_obj.user.get_full_name(), user.get_full_name())
开发者ID:seocam,项目名称:remo,代码行数:9,代码来源:test_forms.py
示例5: set_unavailability_flag
def set_unavailability_flag():
"""Set the unavailable flag in UserStatus.
This task runs every 12 hours and sets the unavailable flag to True
in the case that a user has submitted a 'break notification' with a start
date in the future."""
(UserStatus.objects.filter(start_date__range=[get_date(-1), get_date()],
is_unavailable=False)
.update(is_unavailable=True))
开发者ID:Josespaul,项目名称:remo,代码行数:10,代码来源:tasks.py
示例6: test_base
def test_base(self):
mentor = UserFactory.create()
user = UserFactory.create(userprofile__mentor=mentor)
date = get_date(days=1)
data = {"expected_date": date}
form = UserStatusForm(data, instance=UserStatus(user=user))
ok_(form.is_valid())
db_obj = form.save()
eq_(db_obj.expected_date, get_date(days=1))
eq_(db_obj.user.get_full_name(), user.get_full_name())
开发者ID:ppapadeas,项目名称:remo,代码行数:10,代码来源:test_forms.py
示例7: resolve_action_items
def resolve_action_items():
# avoid circular dependencies
from remo.voting.models import Poll
start = datetime.combine(get_date(days=-1), datetime.min.time())
end = datetime.combine(get_date(days=-1), datetime.max.time())
polls = Poll.objects.filter(end__range=[start, end])
action_model = ContentType.objects.get_for_model(Poll)
items = ActionItem.objects.filter(content_type=action_model, object_id__in=polls)
items.update(resolved=True)
开发者ID:MichaelKohler,项目名称:remo,代码行数:10,代码来源:tasks.py
示例8: test_expected_date_before_start_date
def test_expected_date_before_start_date(self):
mentor = UserFactory.create()
user = UserFactory.create(userprofile__mentor=mentor)
start_date = get_date(4)
expected_date = get_date(days=2)
data = {'start_date': start_date,
'expected_date': expected_date}
form = UserStatusForm(data, instance=UserStatus(user=user))
ok_(not form.is_valid())
ok_('expected_date' in form.errors)
开发者ID:Azeez09,项目名称:remo,代码行数:10,代码来源:test_forms.py
示例9: zero_current_streak
def zero_current_streak():
"""Zero current streak.
Zero current streak for users without a report in the last week.
"""
reps = User.objects.filter(~Q(ng_reports__report_date__range=[get_date(-7), get_date()]), groups__name="Rep")
for rep in reps:
rep.userprofile.current_streak_start = None
rep.userprofile.save()
开发者ID:Binzzzz,项目名称:remo,代码行数:11,代码来源:tasks.py
示例10: remove_unavailability_status
def remove_unavailability_status(self):
user = UserFactory.create()
date = get_date()
data = {'expected_date': date}
user_status = UserStatusFactory.create(user=user, expected_date=date)
form = UserStatusForm(data, instance=user_status)
ok_(form.is_valid())
ok_(not user_status.end_date)
db_obj = form.save()
eq_(db_obj.expected_date, get_date())
eq_(db_obj.user.get_full_name(), user.get_full_name())
ok_(db_obj.return_date)
开发者ID:seocam,项目名称:remo,代码行数:12,代码来源:test_forms.py
示例11: save
def save(self, *args, **kwargs):
"""Create post event data report."""
event = super(PostEventForm, self).save()
activity = Activity.objects.get(name=ACTIVITY_POST_EVENT_METRICS)
reports = NGReport.objects.filter(event=event, activity=activity)
if not reports:
up = event.owner.userprofile
attrs = {
'activity': activity,
'report_date': get_date(),
'longitude': up.lon,
'latitude': up.lat,
'location': '%s, %s, %s' % (up.city, up.region, up.country),
'link': get_event_link(event),
'is_passive': True,
'event': event,
'user': event.owner
}
report = NGReport.objects.create(**attrs)
report.functional_areas.add(*event.categories.all())
statsd.incr('reports.create_passive_post_event_metrics')
return event
开发者ID:akatsoulas,项目名称:remo,代码行数:26,代码来源:forms.py
示例12: test_extend_voting_period_majority
def test_extend_voting_period_majority(self):
bug = BugFactory.create()
start = now().replace(microsecond=0)
end = datetime.combine(get_date(days=1), datetime.min.time())
user = UserFactory.create(groups=['Admin'])
group = Group.objects.get(name='Council')
User.objects.filter(groups__name='Council').delete()
UserFactory.create_batch(9, groups=['Council'])
automated_poll = PollFactoryNoSignals.create(name='poll',
start=start, end=end,
valid_groups=group,
created_by=user,
automated_poll=True,
bug=bug)
radio_poll = RadioPollFactory.create(poll=automated_poll,
question='Budget Approval')
RadioPollChoiceFactory.create(answer='Approved', votes=5,
radio_poll=radio_poll)
RadioPollChoiceFactory.create(answer='Denied', votes=3,
radio_poll=radio_poll)
extend_voting_period()
poll = Poll.objects.get(pk=automated_poll.id)
eq_(poll.end.year, end.year)
eq_(poll.end.month, end.month)
eq_(poll.end.day, end.day)
eq_(poll.end.hour, 0)
eq_(poll.end.minute, 0)
eq_(poll.end.second, 0)
ok_(not poll.is_extended)
开发者ID:Azeez09,项目名称:remo,代码行数:34,代码来源:test_tasks.py
示例13: test_base
def test_base(self):
mentor = UserFactory.create()
rep = UserFactory.create(userprofile__mentor=mentor)
UserStatusFactory.create(user=rep, start_date=get_date(days=-1), is_unavailable=False)
set_unavailability_flag()
status = UserStatus.objects.get(user=rep)
ok_(status.is_unavailable)
开发者ID:akatsoulas,项目名称:remo,代码行数:7,代码来源:test_tasks.py
示例14: save
def save(self, *args, **kwargs):
"""Create post event data report."""
event = super(PostEventForm, self).save()
activity = Activity.objects.get(name=ACTIVITY_POST_EVENT_METRICS)
reports = NGReport.objects.filter(event=event, activity=activity)
if not reports:
up = event.owner.userprofile
attrs = {
"activity": activity,
"report_date": get_date(),
"longitude": up.lon,
"latitude": up.lat,
"location": "%s, %s, %s" % (up.city, up.region, up.country),
"link": get_event_link(event),
"is_passive": True,
"event": event,
"user": event.owner,
}
report = NGReport.objects.create(**attrs)
report.functional_areas.add(*event.categories.all())
statsd.incr("reports.create_passive_post_event_metrics")
return event
开发者ID:flaki,项目名称:remo,代码行数:26,代码来源:forms.py
示例15: extend_voting_period
def extend_voting_period():
"""Extend voting period by EXTEND_VOTING_PERIOD if there is no
majority decision.
"""
# avoid circular dependencies
from remo.voting.models import Poll
tomorrow = get_date(days=1)
review_count = User.objects.filter(groups__name='Review').count()
query_start = make_aware(datetime.combine(tomorrow, datetime.min.time()), pytz.UTC)
query_end = make_aware(datetime.combine(tomorrow, datetime.max.time()), pytz.UTC)
polls = Poll.objects.filter(end__range=[query_start, query_end])
for poll in polls:
if not poll.is_extended:
budget_poll = poll.radio_polls.get(question='Budget Approval')
majority = reduce(or_, map(lambda x: x.votes > review_count / 2,
budget_poll.answers.all()))
if not majority:
poll.end += timedelta(seconds=EXTEND_VOTING_PERIOD)
poll.save()
subject = '[Urgent] Voting extended for {0}'.format(poll.name)
recipients = (User.objects.filter(groups=poll.valid_groups)
.exclude(pk__in=poll.users_voted.all())
.values_list('id', flat=True))
ctx_data = {'poll': poll}
template = 'emails/voting_vote_reminder.jinja'
send_remo_mail.delay(subject=subject,
recipients_list=recipients,
email_template=template,
data=ctx_data)
开发者ID:MichaelKohler,项目名称:remo,代码行数:34,代码来源:tasks.py
示例16: extend_voting_period
def extend_voting_period():
"""Extend voting period by EXTEND_VOTING_PERIOD if there is no
majority decision.
"""
# avoid circular dependencies
from remo.voting.models import Poll
tomorrow = get_date(days=1)
council_count = User.objects.filter(groups__name='Council').count()
polls = Poll.objects.filter(end__year=tomorrow.year,
end__month=tomorrow.month,
end__day=tomorrow.day,
automated_poll=True)
for poll in polls:
if not poll.is_extended:
budget_poll = poll.radio_polls.get(question='Budget Approval')
majority = reduce(or_, map(lambda x: x.votes > council_count/2,
budget_poll.answers.all()))
if not majority:
poll.end += timedelta(seconds=EXTEND_VOTING_PERIOD)
poll.save()
subject = '[Urgent] Voting extended for {0}'.format(poll.name)
recipients = (User.objects.filter(groups=poll.valid_groups)
.exclude(pk__in=poll.users_voted.all())
.values_list('id', flat=True))
ctx_data = {'poll': poll}
template = 'emails/voting_vote_reminder.txt'
send_remo_mail.delay(subject=subject,
recipients_list=recipients,
email_template=template,
data=ctx_data)
开发者ID:bobsilverberg,项目名称:remo,代码行数:35,代码来源:tasks.py
示例17: test_invalid_timespan
def test_invalid_timespan(self):
mentor = UserFactory.create()
user = UserFactory.create(userprofile__mentor=mentor)
date = get_date(weeks=15)
data = {'expected_date': date}
form = UserStatusForm(data, instance=UserStatus(user=user))
ok_(not form.is_valid())
ok_('expected_date' in form.errors)
开发者ID:abshetewy,项目名称:remo,代码行数:8,代码来源:test_forms.py
示例18: remove_unavailability_status
def remove_unavailability_status(self):
mentor = UserFactory.create()
user = UserFactory.create(userprofile__mentor=mentor)
start_date = get_date()
expected_date = get_date(days=1)
data = {'start_date': start_date,
'expected_date': expected_date}
user_status = UserStatusFactory.create(user=user,
expected_date=expected_date,
start_date=start_date)
form = UserStatusForm(data, instance=user_status)
ok_(form.is_valid())
ok_(not user_status.end_date)
db_obj = form.save()
eq_(db_obj.expected_date, get_date())
eq_(db_obj.user.get_full_name(), user.get_full_name())
ok_(db_obj.return_date)
开发者ID:Azeez09,项目名称:remo,代码行数:17,代码来源:test_forms.py
示例19: notify_event_owners_to_input_metrics
def notify_event_owners_to_input_metrics():
"""Send an email to event creators after an event
has finished that they should input the actual metrics for the event.
"""
start = datetime.combine(get_date(), datetime.min.time())
end = datetime.combine(get_date(), datetime.max.time())
events = Event.objects.filter(end__range=[start, end],
has_new_metrics=True,
eventmetricoutcome__outcome__isnull=True)
events = events.distinct()
for event in events:
subject = ('[Reminder] Please add the actual metrics for event {0}'
.format(event.name))
template = 'email/event_creator_notification_to_input_metrics.txt'
data = {'event': event}
send_remo_mail(subject=subject, email_template=template,
recipients_list=[event.owner.id], data=data)
开发者ID:TheTeraByte,项目名称:remo,代码行数:18,代码来源:tasks.py
示例20: test_extend_voting_period
def test_extend_voting_period(self):
bug = BugFactory.create()
end = get_date(days=1)
new_end = get_date(days=2)
automated_poll = Poll(name='poll', start=self.start, end=end,
valid_groups=self.group, created_by=self.user,
automated_poll=True, bug=bug)
automated_poll.save()
args = ['extend_voting_period']
management.call_command('cron', *args)
poll = Poll.objects.get(pk=automated_poll.id)
eq_(poll.end.year, new_end.year)
eq_(poll.end.month, new_end.month)
eq_(poll.end.day, new_end.day)
eq_(poll.end.hour, 0)
eq_(poll.end.minute, 0)
eq_(poll.end.second, 0)
开发者ID:TheTeraByte,项目名称:remo,代码行数:19,代码来源:test_commands.py
注:本文中的remo.base.utils.get_date函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论