From f6523a5d023ce81d54852c7109d383f1016696af Mon Sep 17 00:00:00 2001 From: Jean-Christophe Savard Date: Thu, 02 Apr 2009 20:32:41 +0000 Subject: Core : (LP Bug 341760 and 345394) Added data bundling interfaces in bundler.py File tutoserialize.py is obsolete --- 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 -- cgit v0.9.1