def __init__ (self, *args, **kwargs): super (EventEditForm, self).__init__ (*args, **kwargs) if "instance" in kwargs and self.timezone: instance = kwargs["instance"] print kwargs print args if not "initial" in kwargs: kwargs["initial"] = {} kwargs["initial"].update ({"start": localtime_for_timezone (instance.start, self.timezone)}) kwargs["initial"].update ({"end": localtime_for_timezone (instance.start, self.timezone)})
def __init__(self, *args, **kwargs): super(EventEditForm, self).__init__(*args, **kwargs) if "instance" in kwargs and self.timezone: instance = kwargs["instance"] print kwargs print args if not "initial" in kwargs: kwargs["initial"] = {} kwargs["initial"].update({ "start": localtime_for_timezone(instance.start, self.timezone) }) kwargs["initial"].update( {"end": localtime_for_timezone(instance.start, self.timezone)})
def test_localtime_for_timezone(self): self.assertEqual( localtime_for_timezone( datetime(2008, 6, 25, 18, 0, 0), "America/Denver").strftime("%m/%d/%Y %H:%M:%S"), "06/25/2008 12:00:00", )
def message_reply(request, id, all=False): from timezones.utils import localtime_for_timezone from django.utils import dateformat message = get_object_or_404(PMMessage, pk=id) if not (request.user == message.sender or request.user in message.recipients.all()): raise Http403 if message.sender != request.user: recipients = set([message.sender]) else: recipients = set() if all: recipients.update(message.recipients.exclude(pk=request.user.pk)) if message.subject.startswith("RE: "): subject = message.subject else: subject = u"RE: %s" % message.subject messageDate = localtime_for_timezone(message.created, request.user.profile.get().timezone) text = [_('On %(date)s, %(name)s wrote:') % {'date': dateformat.format(messageDate, "r"), 'name': message.sender}] for line in message.text.splitlines(): text.append(u"> %s" % line) text.append(u"\n") form = MessageForm(initial={'subject': subject, 'text': "\n".join(text)}) return render_to_response('djangopm/message_compose.html', {'form': form, 'recipients': recipients}, context_instance = RequestContext(request))
def test_localtime_for_timezone(self): self.assertEqual( localtime_for_timezone( datetime(2008, 6, 25, 18, 0, 0), "America/Denver" ).strftime("%m/%d/%Y %H:%M:%S"), "06/25/2008 12:00:00" )
def test_assign_to_datetime_properties_updates_real_datetime_properties(self): new_date = self.start + timedelta(days=5) dts = [ localtime_for_timezone(new_date, 'UTC'), localtime_for_timezone(new_date, 'America/Chicago'), localtime_for_timezone(new_date, 'Asia/Shanghai'), localtime_for_timezone(new_date, 'Europe/London'), localtime_for_timezone(new_date, 'Australia/Sydney'), ] expected = new_date for attr in ('start', 'finish'): for dt in dts: setattr(self.localized, attr, dt) assert_equal(getattr(self.localized, 'real_%s' % attr), expected) self.localized.save() occurrence = Occurrence.objects.get(pk=self.occurrence.pk) assert_equal(getattr(occurrence, attr), expected)
def formatdate(user, date, display_time = None): """ Formats a given date. """ get_hours = False if isinstance(date, datetime.datetime): get_hours = True if display_time == 'False': get_hours = False tzdate = localtime_for_timezone(date, user.get_profile().timezone) return {'date' : tzdate, 'get_hours': get_hours}
def formatdate(user, date, display_time=None): """ Formats a given date. """ get_hours = False if isinstance(date, datetime.datetime): get_hours = True if display_time == 'False': get_hours = False tzdate = localtime_for_timezone(date, user.get_profile().timezone) return {'date': tzdate, 'get_hours': get_hours}
def localtime(value, request, show_since=True): if request.user.is_authenticated(): tz = request.user.get_profile().time_zone js = "" else: tz = settings.TIME_ZONE seconds = time.mktime(value.timetuple()) seconds += (value.microsecond / 1000000.0) js = " onload='localtime(%i, this);'" % (seconds * 1000) loc_dt = localtime_for_timezone(value, tz) dt_str = loc_dt.strftime(settings.SITE_DATETIME_FORMAT) title = " title='%s ago'" % timesince(value) if show_since else "" return mark_safe("<span class='datetime'%s%s>%s </span>" % (title, js, dt_str))
def default(self, o): if isinstance(o, datetime.datetime): d = datetime_safe.new_datetime(o) if self.timezone: d = localtime_for_timezone(d, self.timezone) return d.strftime("%s %s" % (self.DATE_FORMAT, self.TIME_FORMAT)) elif isinstance(o, datetime.date): d = datetime_safe.new_date(o) return d.strftime(self.DATE_FORMAT) elif isinstance(o, datetime.time): return o.strftime(self.TIME_FORMAT) elif isinstance(o, decimal.Decimal): return str(o) else: return super(DjangoJSONEncoder, self).default(o)
def index(request): time_zone = request.user.get_profile().time_zone localtime = localtime_for_timezone(datetime.datetime.now(),time_zone) start_of_today = localtime.replace(hour=0,minute=0,second=0,microsecond=0) start_of_today_utc = adjust_datetime_to_timezone(start_of_today, time_zone, 'UTC') start_of_today_utc_raw = start_of_today_utc.replace(tzinfo=None) pending_tasks = Task.active.filter( user = request.user, completed_at__isnull = True, backlogged = False ).order_by('-created_at') completed_today = Task.active.filter( user = request.user, completed_at__gte = start_of_today_utc_raw ).order_by('-created_at') if request.REQUEST.has_key('days_back') and request.REQUEST['days_back'].isdigit(): days_back = int(request.REQUEST['days_back']) + 1 else: days_back = DEFAULT_DAYS_BACK completed_lists = [ Task.active.filter( user = request.user, completed_at__gte = start_of_today_utc_raw - datetime.timedelta(days=delta), completed_at__lt = start_of_today_utc_raw - datetime.timedelta(days=delta) + datetime.timedelta(days=1) ).order_by('-created_at') for delta in range(1, days_back) ] return render_to_response('tasks/index.html', { 'time_zone': time_zone, 'new_task_form' : CreateTaskForm(request.user), 'pending_tasks' : pending_tasks, 'completed_today' : completed_today, 'completed_lists': completed_lists }, context_instance=RequestContext(request) )
def localtime(value, timezone): return value and localtime_for_timezone(value, timezone) or value
def localtime(value, timezone): return localtime_for_timezone(value, timezone)
def servertime_to_usertime(value): return localtime_for_timezone(value, settings.USER_TIME_ZONE)
def localtime(value, timezone): if not value: return timezone return localtime_for_timezone(value, timezone)
def _get_datetime_attr(self, attrname): dt = getattr(self._obj, attrname) return localtime_for_timezone(dt, self.timezone)
def test_datetime_properties_localized_to_specified_timezone(self): expected = localtime_for_timezone(self.start, self.timezone) assert_equal(self.localized.start, expected) expected = localtime_for_timezone(self.finish, self.timezone) assert_equal(self.localized.finish, expected)