diff options
Diffstat (limited to 'activity_quiz/Activity.py')
-rw-r--r-- | activity_quiz/Activity.py | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/activity_quiz/Activity.py b/activity_quiz/Activity.py index b86059f..f0ba268 100644 --- a/activity_quiz/Activity.py +++ b/activity_quiz/Activity.py @@ -11,9 +11,8 @@ from sugar3.activity.widgets import ActivityButton from sugar3.activity.widgets import TitleEntry from sugar3.activity.widgets import StopButton from sugar3.activity.widgets import DescriptionItem -from sugar3.graphics.toolbutton import ToolButton from Application import Main - +import simplejson class QuizActivity(activity.Activity): def __init__(self, handle): @@ -23,7 +22,7 @@ class QuizActivity(activity.Activity): activity.Activity.__init__(self, handle) # Create the main part of the application - main = Main() + self._application = Main() # toolbar with the new toolbar redesign toolbar_box = ToolbarBox() @@ -54,6 +53,31 @@ class QuizActivity(activity.Activity): toolbar_box.show() # Set the canvas - self.set_canvas(main.get_widget()) - main.get_widget().show() + self.set_canvas(self._application.get_widget()) + self.canvas.show() + + def write_file(self, file_path): + if not self.metadata['mime_type']: + self.metadata['mime_type'] = 'text/plain' + + data = {} + data['last_score'] = self._application.get_score() + + fd = open(file_path, 'w') + text = simplejson.dumps(data) + fd.write(text) + fd.close() + + def read_file(self, file_path): + if self.metadata['mime_type'] != 'text/plain': + return + + fd = open(file_path, 'r') + text = fd.read() + data = simplejson.loads(text) + fd.close() + if 'last_score' in data: + self._application.set_score(int(data['last_score'])) + else: + self._application.set_score(0) |