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