diff options
author | Tony Anderson <tony@traveler.(none)> | 2011-01-20 12:44:04 (GMT) |
---|---|---|
committer | Tony Anderson <tony@traveler.(none)> | 2011-01-20 12:44:04 (GMT) |
commit | c6e1364c97d5bb4e79a4d5ff4c3a2e883fd7ebfa (patch) | |
tree | b065a8407850864693f2ee2c4e04326ce53eb8b9 | |
parent | 4d08808156d3ece2c76811fa885b0b30f0433d92 (diff) |
version 11.12
-rwxr-xr-x | activity/activity.info | 2 | ||||
-rwxr-xr-x | cgi-bin/activities.py | 28 | ||||
-rwxr-xr-x | cgi-bin/fetch_milestone.py | 2 | ||||
-rwxr-xr-x | launch.py | 42 |
4 files changed, 44 insertions, 30 deletions
diff --git a/activity/activity.info b/activity/activity.info index ec26b17..cfcbc40 100755 --- a/activity/activity.info +++ b/activity/activity.info @@ -1,5 +1,5 @@ [Activity] -#version = 11.11 +#version = 11.12 name = Learn service_name = org.olerwanda.Learn icon = activity-learn diff --git a/cgi-bin/activities.py b/cgi-bin/activities.py index 13b5f99..8176609 100755 --- a/cgi-bin/activities.py +++ b/cgi-bin/activities.py @@ -4,6 +4,16 @@ import os, sys, subprocess from sugar.activity import activity from path import path +try: + from sugar import profile + _using_gconf = False +except ImportError: + _using_gconf = True +try: + import gconf +except ImportError: + _using_gconf = False + DATAPATH = path(activity.get_activity_root())/ 'data' WORKPATH = DATAPATH / 'work' USB = path('/media/2011/courseware') @@ -32,18 +42,12 @@ def sftp(script, folder = None): return 0 def getNick(): - nickname = 'Funknown' - pth = path('/home') / 'olpc' / '.sugar' / 'default' / 'config' - if pth.exists(): - fin = open(pth,'r') - txt = fin.read() - fin.close - lines = txt.split('\n') - for line in lines: - if line.find('nickname') > -1: - pos = line.find('=') - nickname = line[pos+1:].strip() - return nickname + """ Returns nick from Sugar """ + if _using_gconf: + client = gconf.client_get_default() + return client.get_string('/desktop/sugar/user/nick') + else: + return profile.get_nick_name() def getInstalled(subject): pth = path('content') / subject diff --git a/cgi-bin/fetch_milestone.py b/cgi-bin/fetch_milestone.py index 4062e32..764014a 100755 --- a/cgi-bin/fetch_milestone.py +++ b/cgi-bin/fetch_milestone.py @@ -157,7 +157,7 @@ txt = fin.read() fin.close() student_record = eval(txt) grade = student_record['grade'] -if grade == 'F': +if grade[0] == 'F': mode = 'faculty' else: mode = 'student' @@ -9,6 +9,17 @@ from path import path import CGIHTTPServer import BaseHTTPServer +try: + from sugar import profile + _using_gconf = False +except ImportError: + _using_gconf = True +try: + import gconf +except ImportError: + _using_gconf = False + self.using_gconf = _using_gconf + DATAPATH = path(activity.get_activity_root()) / "data" WORKPATH = DATAPATH / "work" @@ -19,26 +30,17 @@ log = open('/tmp/loglaunch','w') class Learn(activity.Activity): def __init__(self, handle): activity.Activity.__init__(self, handle) + self.using_gconf = _using_gconf + print >> log, 'gconf?', self.using_gconf + self.nickname = self.get_nick_from_sugar() + print >> log, 'nick', self.nickname + #get serial number and nick fin = open('/ofw/serial-number','r') self.serial = fin.read()[:11] fin.close() - try: - fin = open('/home/olpc/.sugar/default/config','r') - txt = fin.read() - fin.close - lines = txt.split('\n') - for line in lines: - if line.find('nickname') > -1: - pos = line.find('=') - self.nickname = line[pos+1:].strip() - if self.nickname[:1] == 'p': - self.grade = self.nickname[:2] - else: - self.grade = 'F' - except: - self.nickname = 'p6none' - self.grade = 'p6' + self.nickname = self.get_nick_from_sugar() + self.grade = self.nickname[:2] print >> log, self.serial, self.nickname, self.grade if not path(DATAPATH / self.nickname).exists(): @@ -85,6 +87,14 @@ class Learn(activity.Activity): subprocess.call(cmd, shell=True) activity_close() + def get_nick_from_sugar(self): + """ Returns nick from Sugar """ + if self.using_gconf: + client = gconf.client_get_default() + return client.get_string('/desktop/sugar/user/nick') + else: + return profile.get_nick_name() + def write_file(self, file_path): #we need to read the student record fin = open(DATAPATH / self.nickname,'r') |