Hi, On Fri, 2012-01-06 at 10:34 -0800, Nagappan Alagappan wrote: > On Fedora 16, I tried like this: > launchapp('gedit', lang = 'de_DE') > > it worked as expected. I haven't used setlocale. Can you please verify > the above and see it works in your environment ?
Thanks nags, this works perfectly! Now I'm trying this in Czech (open gedit in Czech and close it by going to File>Quit which is Soubor>UkonĨit in Czech): launchapp('gedit', lang = 'cs_CZ.utf8') time.sleep (3) selectmenuitem ('*gedit', 'mnuSoubor;mnuUkonĨit') # File > Quit This triggers the following error: Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/pyatspi/registry.py", line 193, in eventWrapper return callback(event) File "/usr/lib/python2.7/site-packages/ldtpd/waiters.py", line 105, in _event_cb self.event_cb(event) File "/usr/lib/python2.7/site-packages/ldtpd/waiters.py", line 340, in event_cb if self._match_name_to_acc(self._frame_name, event.source): File "/usr/lib/python2.7/site-packages/ldtpd/utils.py", line 463, in _match_name_to_acc _ldtpize_accessible_name[1]) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 5: ordinal not in range(128) Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/pyatspi/registry.py", line 193, in eventWrapper return callback(event) File "/usr/lib/python2.7/site-packages/ldtpd/core.py", line 118, in _event_cb win_name = u'%s%s' % (abbrev_role, abbrev_name) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 5: ordinal not in range(128) Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/ldtpd/waiters.py", line 85, in _timeout_cb self.poll() File "/usr/lib/python2.7/site-packages/ldtpd/waiters.py", line 336, in poll gui, _window_name = self._get_window_handle(self._frame_name) File "/usr/lib/python2.7/site-packages/ldtpd/utils.py", line 804, in _get_window_handle if self._match_name_to_acc(window_name, gui): File "/usr/lib/python2.7/site-packages/ldtpd/utils.py", line 463, in _match_name_to_acc _ldtpize_accessible_name[1]) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 5: ordinal not in range(128) Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/pyatspi/registry.py", line 193, in eventWrapper return callback(event) File "/usr/lib/python2.7/site-packages/ldtpd/waiters.py", line 105, in _event_cb self.event_cb(event) File "/usr/lib/python2.7/site-packages/ldtpd/waiters.py", line 340, in event_cb if self._match_name_to_acc(self._frame_name, event.source): File "/usr/lib/python2.7/site-packages/ldtpd/utils.py", line 453, in _match_name_to_acc if acc.name == name: File "/usr/lib/python2.7/site-packages/pyatspi/Accessibility.py", line 177, in <lambda> Atspi.Accessible.name = property(fget=lambda x: exwrap(Atspi.Accessible.get_name, x)) File "/usr/lib/python2.7/site-packages/pyatspi/Accessibility.py", line 154, in exwrap raise LookupError LookupError As I have no idea how to fix (telling Python to interpret as UTF-8 or so?) I instead tried accessing an menuitem via using an index: launchapp('gedit', lang = 'de_DE.utf8') time.sleep (3) selectmenuitem ('*gedit', 'mnu1;mnu1') This probably only works for objects without labels, as I get this error?: Traceback (most recent call last): File "dummie.py", line 24, in <module> selectmenuitem ('*gedit', 'mnu1;mnu1') File "/usr/lib/python2.7/site-packages/ldtp/client.py", line 65, in __call__ return self.__send(self.__name, args) File "/usr/lib/python2.7/xmlrpclib.py", line 1575, in __request verbose=self.__verbose File "/usr/lib/python2.7/site-packages/ldtp/client.py", line 180, in request raise LdtpExecutionError(e.faultString.encode('utf-8')) ldtp.client_exception.LdtpExecutionError: Unable to find object name "mnu1" in application map My problem is likely similar to http://lists.freedesktop.org/archives/ldtp-dev/2009-October/000923.html - I would like to start the same application in several different human languages by looping over some locales, and perform the same steps everytime, and would like to use a language-independent way to access objects (either via somehow defining that for object-related commands in the script the en_US default shall be looked up while still showing the user interface in a different language; or by using "generic" names for objects, like indexes, that are language-independent). Any ideas, or is this not doable currently? My long-term aim is to have some script for localized screenshot generation for e.g. release notes, by the way. Thanks, andre -- mailto:ak...@gmx.net | failed http://blogs.gnome.org/aklapper _______________________________________________ LDTP-dev mailing list LDTP-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/ldtp-dev