r8-forks / webapp-improved

Automatically exported from code.google.com/p/webapp-improved
Other
0 stars 0 forks source link

Documentation for locale_selector callback for i18n module is broken #11

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
According to the docs: 
(http://webapp-improved.appspot.com/api/webapp2_extras/i18n.html)

"""
locale_selector:

A function that receives (request, i18n_store) and returns a locale to be used 
for a request. If not defined, uses default_locale. Can also be a string in 
dotted notation to be imported.
"""

From the docstring in i18n.py - set_locale_selector()

"""
A callable that receives (store, request) and returns the locale for a request.
"""

Was quite perplexed until I realized the arguments order had been inverted :)

BR // Fredrik

Original issue reported on code.google.com by fredrik....@gmail.com on 10 Aug 2011 at 12:20

GoogleCodeExporter commented 9 years ago
Hi,
This change was made a while ago to be consistent with how callables are set in 
other modules. 

Version 1.8 - June 26, 2011
===========================
- webap2_extras.i18n: the functions passed to I18nStore.set_locale_selector()
  and I18nStore.set_timezone_selector() now receive (store, request) instead of
  (request, store), for consistency with the router custom callables.

So the current i18n module actually has inverted parameters.

Sorry if this caused you trouble... I've been taking care to not add 
incompatibilities like this one. Do you suggest making the inverted parameters 
backwards compatible or can I close this ticket?

Original comment by rodrigo.moraes on 10 Aug 2011 at 4:26

GoogleCodeExporter commented 9 years ago
Hi Rogrigo,

I just started using webapp2 just recently so I wasn't quite up to date with 
recent changes :) Anyway, I don't suggest anything, I was merely pointing out 
the inconsistency in the docs as I'm sure there will be others making the same 
mistake I made. 

Original comment by fredrik....@gmail.com on 10 Aug 2011 at 4:36

GoogleCodeExporter commented 9 years ago
The docs are up-to-date to latest release. You are using a pre-1.8 version, 
when the arguments were indeed inverted.

Original comment by rodrigo.moraes on 10 Aug 2011 at 4:49

GoogleCodeExporter commented 9 years ago
No, I am using webapp2-2.2.3.zip. If store is the first argument to 
locale_selector the docs are definately not up to date. 

Original comment by fredrik....@gmail.com on 10 Aug 2011 at 5:18

GoogleCodeExporter commented 9 years ago
Hmmm... Maybe you are reading a cached version? This is what I see there:

(sorry, copy & paste mess)

set_locale_selector(func)[source]
Sets the function that defines the locale for a request.
Parameters: func – A callable that receives (store, request) and returns the 
locale for a request.

set_timezone_selector(func)[source]
Sets the function that defines the timezone for a request.
Parameters: func – A callable that receives (store, request) and returns the 
timezone for a request.

Original comment by rodrigo.moraes on 10 Aug 2011 at 5:27

GoogleCodeExporter commented 9 years ago
Look in the parameter list for webapp2_extras.i18n.default_config at the top
of the page :)

/F

Original comment by fredrik....@gmail.com on 10 Aug 2011 at 5:33

GoogleCodeExporter commented 9 years ago
Ah. Sorry for all the noise. Totally missed that one. Updating it.

Original comment by rodrigo.moraes on 10 Aug 2011 at 6:00

GoogleCodeExporter commented 9 years ago
No worries. Thanks for making webapp2 so good. :-)

Cheers / Fredrik

locale_selector

Original comment by fredrik....@gmail.com on 10 Aug 2011 at 6:03

GoogleCodeExporter commented 9 years ago
This issue was closed by revision 71241f3a07c9.

Original comment by rodrigo.moraes on 10 Aug 2011 at 6:04