Development Team/Almanac/sugar.profile

From Sugar Labs
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
  Development Team/Almanac


Note:

sugar.profile is largely depreciated. We are now using gconf for accessing most profile information.


The profile package can be used to get access to user specific details such as his/her nick_name, XO colors, public key, etc. Much of these details are accessed by first creating a Profile object. However, there are several shortcut helper functions that provide access to some user details directly.

Helper Functions

How do I get the user's nick name?

import gconf

client = gconf.client_get_default()
username = client.get_string("/desktop/sugar/user/nick")


The following code is depreciated:

from sugar import profile 
...
        #prof will refer to a Profile object used to access user information
        prof = profile.get_profile()

        # Two ways to print nickname: either through profile object, or through a helper function in sugar.profile
        print prof.nick_name
        print profile.get_nick_name()

How do I get the XO colors set by the user?

import gconf

client = gconf.client_get_default()
color = client.get_string("/desktop/sugar/user/color")
stroke,fill = color.split(",")

The following code is depreciated:

from sugar import profile 
...
        #prof will refer to a Profile object used to access user information
        prof = profile.get_profile()

        # Two ways to get the XO colors: through profile object or using helper function
        print prof.color.to_string()
        print profile.get_color().to_string()

How do I access this XO's public key?

from sugar import profile 
...
        #prof will refer to a Profile object used to access user information
        prof = profile.get_profile()

        #Two ways to get the public key for this XO: through Profile object or with helper function
        print prof.pubkey
        print profile.get_pubkey()

Class: Profile

How do I get the nick name, color and public key information for this XO?

See the documentation for Helper Functions.

How do I get the school server with which this child is associated?

Method on the 82: DEPRECATED

from sugar import profile
...
        #prof will refer to a Profile object used to access user information
        prof = profile.get_profile()

        #Print out the name of the school server this XO is registered with
        print prof.jabber_server
        #Print out whether this XO is actually registered with a school server
        print prof.jabber_registered

Get school server with both older and new implementations.

from sugar import profile
...
        prof = profile.get_profile()

        jabber_serv = None
        if hasattr(profile, 'jabber_server'):
            jabber_serv = profile.jabber_server
        else:
            import gconf
            client = gconf.client_get_default()
            jabber_serv = client.get_string("/desktop/sugar/collaboration/jabber_server")