Sugar-api-doc: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
[http://wiki.laptop.org/go/Sugar_Almanac This page has been moved to a new location]
{{Sugar Almanac TOC}}
= How do I get additional help beyond this almanac? =
* Looking to get started with the basics of sugar development? Check out Christoph Derndorfer's [http://www.olpcaustria.org/mediawiki/index.php/Activity_handbook Activity Handbook].

Now, on to the actual almanac ...

= Package: sugar.activity =
* [[sugar.activity.activity]]

= Package: sugar.graphics =
* [[sugar.graphics.toolbutton]]
* [[sugar.graphics.toolbox]]

= Package: sugar.datastore =
* [[sugar.datastore.datastore]]

= MISCELLANEOUS =
The tasks below are random useful techniques that have come up as I write code and documentation for this reference. They have yet to be categorized, but will be as a sufficient set of related entries are written.

=== How do I write to a log in my activity code? ===
Sugar uses [http://www.onlamp.com/pub/a/python/2005/06/02/logging.html python's standard logging]. The following code shows how to output something at the debug log level.

import logging
_logger = logging.getLogger('annotate-activity')
...
_logger.debug('starting activity')


=== How do I ensure that a text string is correctly translated to another language when appropriate (for internationalization)? ===

To ensure that string output from your activity is correctly translated, you would use the gettext utility. The code below imports gettext, renaming it as '_' for code brevity. Then, whenever there is a string that you want to make sure is translated based on language settings, you simply pass it to the _() function.

from gettext import gettext as _
...
#Make sure 'hello world' translates
print _('hello world')

= Notes =
* See also [[Sugar Code Snippets]]

<references />

Latest revision as of 18:10, 26 June 2008