On Tue, Feb 22, 2011 at 02:16:01PM -0500, Rob Crittenden wrote: > Pavel Zůna wrote: > >On 2011-02-17 22:52, Rob Crittenden wrote: > >>Pavel Zůna wrote: > >>>On 2011-02-17 05:09, Rob Crittenden wrote: > >>>>Pavel Zůna wrote: > >>>>>My efforts in fixing localization all around the framework and > >>>>>preparing > >>>>>it for localizing docstrings have resulted in a lot of patches. > >>>>>Because > >>>>>I understand they have become a bit hard to track, I decided to post > >>>>>them all together in this thread to make review easier. > >>>>> > >>>>>After this is committed, there will be one more patch that switches > >>>>>xgettext for pygettext. Then hopefully, we'll be pretty much set > >>>>>when it > >>>>>comes to i18n. > >>>>> > >>>>>Pavel > >>>> > >>>>Patch 81 isn't applying for me. > >>>> > >>>>Help is not working for me either, this is due to patch 80. > >>>> > >>>>$ ipa help user > >>>>ipa: ERROR: NameError: global name '_' is not defined > >>>>Traceback (most recent call last): > >>>>File "/home/rcrit/redhat/freeipa-version/ipalib/cli.py", line 1087, in > >>>>run > >>>>api.finalize() > >>>>File "/home/rcrit/redhat/freeipa-version/ipalib/plugable.py", line 619, > >>>>in finalize > >>>>plugin_iter(base, (magic[k] for k in magic)) > >>>>File "/home/rcrit/redhat/freeipa-version/ipalib/base.py", line 397, in > >>>>__init__ > >>>>sorted(members, key=lambda m: getattr(m, name_attr)) > >>>>File "/home/rcrit/redhat/freeipa-version/ipalib/plugable.py", line 608, > >>>>in plugin_iter > >>>>plugins[klass] = PluginInstance(klass) > >>>>File "/home/rcrit/redhat/freeipa-version/ipalib/plugable.py", line 585, > >>>>in __init__ > >>>>self.instance = klass() > >>>>File "/home/rcrit/redhat/freeipa-version/ipalib/plugable.py", line 184, > >>>>in __init__ > >>>>self.doc = _(inspect.getdoc(cls)) > >>>>NameError: global name '_' is not defined > >>>>ipa: ERROR: an internal error has occurred > >>>> > >>>>Patches 69, 71 and 73 are still working fine. > >>>> > >>>>What is switching from xgettext to pygettext going to do? > >>> > >>>This was answered by John Dennis: xgettext doesn't parse python > >>>docstrings. > >>> > >>>> > >>>>rob > >>> > >>>Rebased version of 81 attached. It should also fix the traceback you're > >>>getting. > >>> > >>>Pavel > >> > >>Something is still not working. I'm having a hard time reproducing how I > >>got this but with LANG=es_US.UTF-8 for a while I was getting this with > >>every ipa user-* request: > >> > >>ipa: ERROR: UnicodeEncodeError: 'ascii' codec can't encode character > >>u'\xf1' in position 20: ordinal not in range(128) > >>Traceback (most recent call last): > >>File "/home/rcrit/redhat/freeipa-version/ipalib/cli.py", line 1090, in > >>run > >>sys.exit(api.Backend.cli.run(argv)) > >>File "/home/rcrit/redhat/freeipa-version/ipalib/cli.py", line 917, in run > >>rv = cmd.output_for_cli(self.api.Backend.textui, result, *args, > >>**options) > >>File "/home/rcrit/redhat/freeipa-version/ipalib/frontend.py", line 953, > >>in output_for_cli > >>textui.print_entries(result, order, labels, flags, print_all) > >>File "/home/rcrit/redhat/freeipa-version/ipalib/cli.py", line 346, in > >>print_entries > >>self.print_entry(entry, order, labels, flags, print_all, format, indent) > >>File "/home/rcrit/redhat/freeipa-version/ipalib/cli.py", line 378, in > >>print_entry > >>label, value, format, indent, one_value_per_line > >>File "/home/rcrit/redhat/freeipa-version/ipalib/cli.py", line 309, in > >>print_attribute > >>self.print_indented(format % (attr, text[0]), indent) > >>File "/home/rcrit/redhat/freeipa-version/ipalib/cli.py", line 232, in > >>print_indented > >>print (CLI_TAB * indent + text) > >>UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in > >>position 20: ordinal not in range(128) > >>ipa: ERROR: ha ocurrido un error interno > >> > >>I think it is blowing up on this user: > >> > >>User login: jose > >>First name: Jose > >>Last name: contraseñas > >>Home directory: /home/jose > >>Login shell: /bin/sh > >>Account disabled: TRUE > >>Member of groups: ipausers > >> > >>Then all of a sudden things started working fine, so I'm not sure what's > >>going on. > >> > >>Is this traceback meaningful to you? > >> > >>rob > > > >This looks like a bug in the textui backend. > > > >You get this error when you do something like this: > > > > >>> a = u'\xf1' > > >>> a.decode('utf-8') > >Traceback (most recent call last): > >File "<stdin>", line 1, in <module> > >File "/usr/lib/python2.6/encodings/utf_8.py", line 16, in decode > >return codecs.utf_8_decode(input, errors, True) > >UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in > >position 0: ordinal not in range(128) > > > >It means we're not handling encoding/decoding from/to the CLI right > >somewhere. > > > >The character \xf1 corresponds to the small N with tilde in Jose's last > >name. > > > >I'm going to look into it, but I don't think it's related to the > >localization patches. > > > >Pavel > > I'm seeing 2 test failures: > > > ====================================================================== > FAIL: Test the `ipalib.plugable.Plugin.__init__` method. > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/usr/lib/python2.7/site-packages/nose/case.py", line 186, in > runTest > self.test(*self.arg) > File "/home/rcrit/redhat/freeipa-tests/tests/test_ipalib/test_plugable.py", > line 237, in test_init > assert o.summary == 'Do sub-classy things.' > AssertionError > > ====================================================================== > FAIL: Test gettext translation > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/usr/lib/python2.7/site-packages/nose/case.py", line 186, in > runTest > self.test(*self.arg) > File > "/home/rcrit/redhat/freeipa-tests/tests/test_ipalib/test_text.py", > line 122, in test_gettext > assert(translated[0] != prefix) > AssertionError > > patch 81 is probably going to need a rebase. I was able to get it > applied with a 3-way merge and one conflict in internal.py. > > rob >
Also please update API.txt _______________________________________________ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel