Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Christophe Savard <savard.jean.christophe@gmail.com>2009-04-02 20:32:41 (GMT)
committer Jean-Christophe Savard <savard.jean.christophe@gmail.com>2009-04-16 19:09:27 (GMT)
commitf6523a5d023ce81d54852c7109d383f1016696af (patch)
tree8dc6b036096e3f0ad1046bc69f77681e99f27800
parenteb03421c5dd132fb79ac12a436efefbfb0287544 (diff)
Core : (LP Bug 341760 and 345394)
Added data bundling interfaces in bundler.py File tutoserialize.py is obsolete
-rw-r--r--src/sugar/tutorius/temp.py (renamed from src/sugar/tutorius/tutoserialize.py)87
1 files changed, 60 insertions, 27 deletions
diff --git a/src/sugar/tutorius/tutoserialize.py b/src/sugar/tutorius/temp.py
index ebd17c6..f9ca9db 100644
--- a/src/sugar/tutorius/tutoserialize.py
+++ b/src/sugar/tutorius/temp.py
@@ -17,35 +17,24 @@
"""
--Save and load FSM Dictionnary to file in $SUGAR_ACTIVITY_ROOT/data/
+This module contains all the data handling class of Tutorius
"""
import logging
import linecache
import os
-import cPickle as pickle
from sugar.tutorius import gtkutils, overlayer
from sugar.tutorius.core import Tutorial, State, FiniteStateMachine
from sugar.tutorius.actions import DialogMessage, OnceWrapper, BubbleMessage
from sugar.tutorius.filters import GtkWidgetEventFilter, TimerEvent
-class TutoSerializer:
- """
- Serializer is a class that provide serializing and file reading and
- writing to disk services for the FSM Dictionary used in the tutorials.
- """
- def __init__(self):
- """
- TutoSerializer constructor (empty)
- """
- pass
-
+class TutorialStore:
- def load_tuto_list(self):
+ def list_avaible_tutorials(self, activity_name):
"""
- Load the tutorial key/name list for this activity from .tml files.
- Return the key/name dictionary
+ Recuperate the list of all tutorials present on disk for a
+ given activity.
"""
# TODO : Temp path; decide how .tml files will be distrribued in file
# architecture
@@ -85,11 +74,35 @@ class TutoSerializer:
return tutoKeyName
- def build_tutorial(self,key):
+
+
+class Serializer:
+ """
+ Class that provide serializing and deserializing of the FSM
+ used in the tutorials to/from disk.
+ """
+
+ def save_fsm(self,fsm):
+ """
+ Save fsm to disk.
+ """
+ NotImplementedError
+
+ def load_fsm(self, guid):
"""
- Load the chosen dictionnary from Pickle file on disk, then build and
- return the corresponding tutorial.
- TODO : Decode pickle to prevent broswer corruption
+ Load fsm from disk.
+ """
+ NotImplementedError
+
+class XMLSerializer(Serializer):
+ """
+ Class that provide serializing and deserializing of the FSM
+ used in the tutorials to/from a xml file.
+ """
+
+ def save_fsm(self,fsm):
+ """
+ Save fsm to .xml file
"""
path = os.getenv("SUGAR_ACTIVITY_ROOT") + "/data/"
logging.debug("************ Path of /data/ folder of activity : " \
@@ -119,13 +132,9 @@ class TutoSerializer:
return tuto
- def save_tutorial(self, key, name, fsm, filename):
+ def load_fsm(self, guid):
"""
- Save the dictionnary given in parameter to a filename.tml file with a
- key and a name.
-
- TODO : TEST : In developpement, untested.
- TODO : Encode pickle to prevent broswer corruption
+ Load fsm from xml file who .ini file guid match argument guid.
"""
path = os.getenv("SUGAR_ACTIVITY_ROOT") + "/data/"
@@ -140,4 +149,28 @@ class TutoSerializer:
pickle.dumps(fsm,0)
tutoSave.write(str)
tutoSave.close()
- \ No newline at end of file
+
+
+class TutorialBundler:
+ """
+ This class provide the various data handling methods useable by the tutorial
+ editor.
+ """
+
+ def write_metadata_file(data):
+ """
+ Write metadata to a .ini file.
+ """
+ NotImplementedError
+
+ def write_fsm(fsm):
+ """
+ Write fsm to disk.
+ """
+ NotImplementedError
+
+ def add_resources(typename, file):
+ """
+ Add ressources to metadata.
+ """
+ NotImplementedError \ No newline at end of file