Difference between revisions of "Development Team/Almanac/sugar.profile"

From Sugar Labs
Jump to navigation Jump to search
m (11 revisions)
 
(9 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Sugar Almanac}}
+
{{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.  
 
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.  
Line 6: Line 11:
  
 
=== How do I get the user's nick name? ===
 
=== How do I get the user's nick name? ===
 +
 +
<pre>
 +
import gconf
 +
 +
client = gconf.client_get_default()
 +
username = client.get_string("/desktop/sugar/user/nick")
 +
</pre>
 +
 +
 +
The following code is depreciated:
 
<pre>
 
<pre>
 
from sugar import profile  
 
from sugar import profile  
Line 12: Line 27:
 
         prof = profile.get_profile()
 
         prof = profile.get_profile()
  
         # Two ways to print nickname: either through profile object, or through a helper funciton in sugar.profile
+
         # Two ways to print nickname: either through profile object, or through a helper function in sugar.profile
 
         print prof.nick_name
 
         print prof.nick_name
 
         print profile.get_nick_name()
 
         print profile.get_nick_name()
Line 18: Line 33:
  
 
=== How do I get the XO colors set by the user? ===
 
=== How do I get the XO colors set by the user? ===
 +
 +
<pre>
 +
import gconf
 +
 +
client = gconf.client_get_default()
 +
color = client.get_string("/desktop/sugar/user/color")
 +
stroke,fill = color.split(",")
 +
</pre>
 +
 +
The following code is depreciated:
 
<pre>
 
<pre>
 
from sugar import profile  
 
from sugar import profile  
Line 48: Line 73:
 
=== How do I get the school server with which this child is associated? ===
 
=== How do I get the school server with which this child is associated? ===
  
 +
Method on the 82: DEPRECATED
 
<pre>
 
<pre>
 
from sugar import profile
 
from sugar import profile
Line 58: Line 84:
 
         #Print out whether this XO is actually registered with a school server
 
         #Print out whether this XO is actually registered with a school server
 
         print prof.jabber_registered
 
         print prof.jabber_registered
 +
</pre>
 +
 +
Get school server with both older and new implementations.
 +
<pre>
 +
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")
 
</pre>
 
</pre>

Latest revision as of 11:23, 12 April 2011

  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")