def test_us_eastern(self):
self.assertTrue('US/Eastern' in pytz.common_timezones)
self.assertTrue('US/Eastern' in pytz.common_timezones_set)
python类common_timezones()的实例源码
def test_belfast(self):
# Belfast uses London time.
self.assertTrue('Europe/Belfast' in pytz.all_timezones_set)
self.assertFalse('Europe/Belfast' in pytz.common_timezones)
self.assertFalse('Europe/Belfast' in pytz.common_timezones_set)
def get_tzlist():
tzlist =list()
tzs = pytz.common_timezones
for tz in tzs:
tzlist.append((tz,tz))
return tzlist
def test_bratislava(self):
# Bratislava is the default timezone for Slovakia, but our
# heuristics where not adding it to common_timezones. Ideally,
# common_timezones should be populated from zone.tab at runtime,
# but I'm hesitant to pay the startup cost as loading the list
# on demand whilst remaining backwards compatible seems
# difficult.
self.assertTrue('Europe/Bratislava' in pytz.common_timezones)
self.assertTrue('Europe/Bratislava' in pytz.common_timezones_set)
def test_us_eastern(self):
self.assertTrue('US/Eastern' in pytz.common_timezones)
self.assertTrue('US/Eastern' in pytz.common_timezones_set)
def test_belfast(self):
# Belfast uses London time.
self.assertTrue('Europe/Belfast' in pytz.all_timezones_set)
self.assertFalse('Europe/Belfast' in pytz.common_timezones)
self.assertFalse('Europe/Belfast' in pytz.common_timezones_set)
def _get_timezone_choices():
results = []
for tz in pytz.common_timezones:
now = datetime.now(pytz.timezone(tz))
offset = now.strftime('%z')
results.append((int(offset), tz, '(GMT%s) %s' % (offset, tz)))
results.sort()
for i in range(len(results)):
results[i] = results[i][1:]
return results
def test_bratislava(self):
# Bratislava is the default timezone for Slovakia, but our
# heuristics where not adding it to common_timezones. Ideally,
# common_timezones should be populated from zone.tab at runtime,
# but I'm hesitant to pay the startup cost as loading the list
# on demand whilst remaining backwards compatible seems
# difficult.
self.assertTrue('Europe/Bratislava' in pytz.common_timezones)
self.assertTrue('Europe/Bratislava' in pytz.common_timezones_set)
def test_us_eastern(self):
self.assertTrue('US/Eastern' in pytz.common_timezones)
self.assertTrue('US/Eastern' in pytz.common_timezones_set)
def test_belfast(self):
# Belfast uses London time.
self.assertTrue('Europe/Belfast' in pytz.all_timezones_set)
self.assertFalse('Europe/Belfast' in pytz.common_timezones)
self.assertFalse('Europe/Belfast' in pytz.common_timezones_set)
def clean_timezone(self):
timezone = self.cleaned_data['timezone']
if timezone not in common_timezones:
timezone = ""
return timezone
def user_preference(request):
current_user = User.objects.get(username=request.user.username)
if request.method == 'POST':
if request.POST.get('cancel_button'):
messages.warning(request, _(u"Changing user settings canceled"))
return HttpResponseRedirect(reverse('home'))
else:
errors = {}
stprofile = StProfile.objects.get_or_create(user=current_user)[0]
form_first_name=request.POST.get('first_name', '').strip()
current_user.first_name = form_first_name
form_last_name=request.POST.get('last_name', '').strip()
current_user.last_name = form_last_name
form_email=request.POST.get('email', '').strip()
users_same_email = User.objects.filter(email=form_email)
if len(users_same_email) > 0 and current_user.email != form_email:
current_user.email = form_email
errors['email'] = _(u"This email address is already in use." +
" Please enter a different email address.")
elif len(form_email) > 0:
try:
validate_email(form_email)
except ValidationError:
errors['email'] = _(u"Enter a valid email address")
else:
current_user.email = form_email
form_language=request.POST.get('lang')
if stprofile.language != form_language:
stprofile.language = form_language
translation.activate(form_language)
request.session[translation.LANGUAGE_SESSION_KEY] = form_language
form_time_zone=request.POST.get('time_zone')
if stprofile.time_zone != form_time_zone:
stprofile.time_zone = form_time_zone
timezone.activate(form_time_zone)
request.session['django_timezone'] = form_time_zone
if errors:
messages.error(request, _(u'Please, correct the following errors'))
return render(request, 'students/user_preference.html',
{'current_user': current_user, 'timezones': pytz.common_timezones, 'errors': errors})
current_user.save()
stprofile.save()
messages.success(request, _(u"User settings changed successfully"))
return HttpResponseRedirect(reverse('home'))
else:
return render(request, 'students/user_preference.html',
{'current_user': current_user, 'timezones': pytz.common_timezones})