Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activity_quiz/Activity.py
diff options
context:
space:
mode:
Diffstat (limited to 'activity_quiz/Activity.py')
-rw-r--r--activity_quiz/Activity.py34
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)