Apologize everyone, and Niphlod,

I forgot to restart my browser, and now the 2 values are consistent ......
my bad for the disturbance.


On Sat, Apr 20, 2013 at 9:16 AM, fun man <funma...@gmail.com> wrote:

> Hi Niphlod,
>
> def index():
>     # when people first login, they will get their timezone set.
>     tz = fast_tz_detector()
>     print
>     print 'Hi, you should save this returned by request.vars',
> request.vars     # if you debug, uncomment this line, and make sure return
> tz=tz below
>
>     print "plugin_timezone_tz == ", session.plugin_timezone_tz
>     if session.plugin_timezone_tz:
>         if db.userinfo[auth.user_id] == None:     # check first time login
>
> db.userinfo.insert(detected_timezone=session.plugin_timezone_tz,
> id=auth.user_id)   #insert record
>         else:
>
> db.userinfo[auth.user_id]=dict(detected_timezone=session.plugin_timezone_tz)
> #update record
>         print " called index & after db udpate = ",
> db.userinfo[auth.user_id].detected_timezone
>
>
> Hi, you should save this returned by request.vars <Storage {'timezone':
> 'Australia/Darwin'}>
> plugin_timezone_tz ==  America/New_York
>  called index & after db udpate =  America/New_York
>
> My machine is set to 'Australia/Darwan' now. request.vars is working fine.
>
> Is there a reason why session.plugin_timezone_tz always return
> "America/New_York"? No matter how I changed my timezone of the client, i
> didn't see session.plugin_timezone_tz got updated.
>
> After this, my timezone problem should go away :-)
>
> thanks for your help.
>
>
>
> On Fri, Apr 19, 2013 at 5:11 PM, Funmanhk <funma...@gmail.com> wrote:
>
>> Niphlod,
>>
>> Thank you for pointing this out. I have some serious learning ahead.
>> Thank you for being patient with my questions.
>>
>> I am good with your approach below. The first suggestion works out for
>> me, and my time zone issue is resolved.
>>
>> Thank you!
>>
>> On 19 Apr, 2013, at 15:39, Niphlod <niph...@gmail.com> wrote:
>>
>> fast_tz_detector returns a SCRIPT().
>> Of course you can't "read it" because the page executes it, so it's fine
>> if you see a blank space:
>> If you see the page source (using firefox, right click --> View page
>> source) you'd see a <script>blablablabla</script>
>>
>> On the "let's save it to the database" topic ..... try it yourself:
>>
>> def index():
>>     print 'Hi, you should save this ', request.vars
>>     some_message = "here timezone is detected"
>>     tz = fast_tz_detector()
>>     return ....
>>
>> When you return a "fast_tz_detector()", as soon as the browser loads the
>> page, javascript detects the timezone and it is sent back to the same
>> controller function (in this case, "index").
>>
>> Another way is to "hack it up" somewhere
>>
>> def index():
>>     if session.plugin_timezone_tz:
>>            db.sometable.insert(
>> detected_timezone=session.plugin_timezone_tz, user_id=auth.user_id)
>>     some_message = "here timezone is detected"
>>     tz = fast_tz_detector()
>>     return .....
>>
>>
>>
>>
>>
>> On Friday, April 19, 2013 3:58:09 AM UTC+2, fun man wrote:
>>>
>>> hi Niphlod,
>>>
>>> I've tried your example in the attachment. The good news is that the
>>> user selected timezone it the profile/register page is working
>>> consistently! Great work! Thank you!
>>>
>>> The bad news is that the dynamic detection, and return from the client
>>> session is still not working...
>>> def index():
>>>     some_message = "here timezone is detected"
>>>     tz = fast_tz_detector()
>>>
>>> I found out that tz is still not returning anything in the index page.
>>> That should be my landing page, and once this is detected. I want to move
>>> this value to the db. Then use it for the rest of the other functions in
>>> the application.
>>>
>>> I am reading your plugin, and it will take me some time to really figure
>>> out what is going on inside fast_tz_detector()... Not sure why it didn't
>>> return the thing I want :-)
>>>
>>>
>>> On Thu, Apr 18, 2013 at 6:08 PM, fun man <funm...@gmail.com> wrote:
>>>
>>>> Sorry Niphlod. I was on my phone, and didn't see this attachment.
>>>> Thanks again for helping me out without asking for anything. I will try to
>>>> learn from your example.
>>>>
>>>>
>>>> On Fri, Apr 19, 2013 at 8:33 AM, Funmanhk <funm...@gmail.com> wrote:
>>>>
>>>>> Btw, I want to say that Niphlod has been very helpful. I am definitely
>>>>> missing the HTML+JS knowledge, but that didn't stop me to try out in 
>>>>> web2py
>>>>> and have a good attempt on this issue.
>>>>>
>>>>> I am one little step away from solving this time zone problem haunting
>>>>> me for a few months.  I wouldn't have the courage to start this adventure
>>>>> without seeing the community's effort here.
>>>>>
>>>>> Thanks Niphlod, and everyone to create and support this.
>>>>>
>>>>> On 19 Apr, 2013, at 3:13, Niphlod <nip...@gmail.com> wrote:
>>>>>
>>>>> packed an app with a few examples: might explain better how to deal
>>>>> with timezones.
>>>>>
>>>>> On Thursday, April 18, 2013 6:20:18 PM UTC+2, fun man wrote:
>>>>>>
>>>>>> yes. I am with you. I didn't store timezone in the db, and will be
>>>>>> using UTC for all input to the db too.
>>>>>>
>>>>>> I hope to find a way to use the detected timezone to use in the
>>>>>> .represent method for the sqlform.grid.
>>>>>>     db.prototype.modified_on.**repre**sent = lambda value, row :
>>>>>> pytz.UTC.localize(value).**astim**ezone(pytz.timezone('**Asia/**Tokyo'))
>>>>>>
>>>>>>
>>>>>> The above is working for me. I basically hardcode it to 'Asia/Tokyo'.
>>>>>> I am trying to get the value from your plugin to replace my hard coded 
>>>>>> one
>>>>>> above.
>>>>>>
>>>>>>
>>>>>> On Fri, Apr 19, 2013 at 12:41 AM, Niphlod <nip...@gmail.com> wrote:
>>>>>>
>>>>>>> the whole point of timezone normalization is NOT having "a timezone
>>>>>>> attached at the end".
>>>>>>> It's storing in the database as UTC and displaying as "localized" to
>>>>>>> the users.
>>>>>>> Are we sure that you fully grasped what the timezone implementation
>>>>>>> on the IS_DATE* validators in web2py and that that idea fits with your 
>>>>>>> one ?
>>>>>>>
>>>>>>>
>>>>>>> On Thursday, April 18, 2013 4:35:51 PM UTC+2, fun man wrote:
>>>>>>>
>>>>>>>> i am not using any specific language translation. It should be the
>>>>>>>> default language.
>>>>>>>>
>>>>>>>> i also think that it is timezone issue, but not very sure how to do
>>>>>>>> the normalization. The model i use is     Field('modified_on', 
>>>>>>>> 'datetime'),
>>>>>>>> I see that there is no timezone attached at the end.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Apr 18, 2013 at 7:11 PM, Niphlod <nip...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> that seems more a problem with the format of the date than the
>>>>>>>>> fact that it has to be "timezone-normalized"....what language 
>>>>>>>>> translation
>>>>>>>>> are you using ?
>>>>>>>>>
>>>>>>>>> PS: what I meant with "landing page" is that you're sure that the
>>>>>>>>> user will hit that page before arriving to the form.
>>>>>>>>> If you are sure, there's no need to embed the LOADed fragment in
>>>>>>>>> the form page
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> ---
>>>>>>>>> You received this message because you are subscribed to a topic in
>>>>>>>>> the Google Groups "web2py-users" group.
>>>>>>>>> To unsubscribe from this topic, visit https://groups.google.com/d/
>>>>>>>>> **to****pic/web2py/aV1nNiDIwiY/**unsubsc****ribe?hl=en<https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en>
>>>>>>>>> .
>>>>>>>>>  To unsubscribe from this group and all its topics, send an email
>>>>>>>>> to web2py+un...@**googlegroups.com.
>>>>>>>>>
>>>>>>>>> For more options, visit https://groups.google.com/**grou****
>>>>>>>>> ps/opt_out <https://groups.google.com/groups/opt_out>.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>  --
>>>>>>>
>>>>>>> ---
>>>>>>> You received this message because you are subscribed to a topic in
>>>>>>> the Google Groups "web2py-users" group.
>>>>>>> To unsubscribe from this topic, visit https://groups.google.com/d/**
>>>>>>> to**pic/web2py/aV1nNiDIwiY/**unsubsc**ribe?hl=en<https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en>
>>>>>>> .
>>>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>>>> web2py+un...@**googlegroups.com.
>>>>>>> For more options, visit 
>>>>>>> https://groups.google.com/**grou**ps/opt_out<https://groups.google.com/groups/opt_out>
>>>>>>> .
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>  --
>>>>>
>>>>> ---
>>>>> You received this message because you are subscribed to a topic in the
>>>>> Google Groups "web2py-users" group.
>>>>> To unsubscribe from this topic, visit https://groups.google.com/d/**
>>>>> topic/web2py/aV1nNiDIwiY/**unsubscribe?hl=en<https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en>
>>>>> .
>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>> web2py+un...@**googlegroups.com.
>>>>> For more options, visit 
>>>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>>>> .
>>>>>
>>>>>
>>>>>
>>>>> <web2py.app.fun_man.w2p>
>>>>>
>>>>>
>>>>
>>>  --
>>
>> ---
>> You received this message because you are subscribed to a topic in the
>> Google Groups "web2py-users" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/web2py/aV1nNiDIwiY/unsubscribe?hl=en.
>> To unsubscribe from this group and all its topics, send an email to
>> web2py+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to