Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/sugar/tutorius/bundler.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/sugar/tutorius/bundler.py')
-rw-r--r--src/sugar/tutorius/bundler.py27
1 files changed, 25 insertions, 2 deletions
diff --git a/src/sugar/tutorius/bundler.py b/src/sugar/tutorius/bundler.py
index 2c188b1..0db8711 100644
--- a/src/sugar/tutorius/bundler.py
+++ b/src/sugar/tutorius/bundler.py
@@ -22,6 +22,7 @@ This module contains all the data handling class of Tutorius
import logging
import os
+import shutil
import uuid
from sugar.tutorius import gtkutils, overlayer
@@ -317,6 +318,28 @@ class TutorialBundler:
def add_resources(self, typename, file):
"""
- Add ressources to metadata.
+ Add ressource in tutorial directory
+ return True if success or if file is already in tutorial directory
+ return False if file is a directory
"""
- raise NotImplementedError("add_resources not implemented")
+ path = get_tutorial_path()
+ if os.path.isfile(file):
+ filename = os.split(file)
+ target = os.path.join(path,filename)
+ if os.path.samefile(file,target):
+ return True
+ else:
+ try:
+ shutil.copy(file,target)
+ return True
+ #This error is raised if the file already exists
+ except shutil.Error, err:
+ logger.debug(err)
+ return True
+ #General error for copying file
+ except IOError,err:
+ logger.debug(err)
+ return False
+ else:
+ logger.debug("file is a directory :"+file)
+ return False \ No newline at end of file