Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tutorius/vault.py
diff options
context:
space:
mode:
Diffstat (limited to 'tutorius/vault.py')
-rw-r--r--tutorius/vault.py56
1 files changed, 29 insertions, 27 deletions
diff --git a/tutorius/vault.py b/tutorius/vault.py
index 9576de9..4d817ec 100644
--- a/tutorius/vault.py
+++ b/tutorius/vault.py
@@ -58,6 +58,7 @@ INI_XML_FSM_PROPERTY = "fsm_filename"
INI_VERSION_PROPERTY = 'version'
INI_FILENAME = "meta.ini"
TUTORIAL_FILENAME = "tutorial.xml"
+RESOURCES_FOLDER = 'resources'
######################################################################
# XML Tag names and attributes
@@ -74,7 +75,6 @@ NODE_SUBCOMPONENTLIST = "listproperty"
NAME_ATTR = "__name__"
NEXT_STATE_ATTR = "__next_state__"
START_STATE_ATTR = "__start_state__"
-RESSOURCES_FOLDER = 'ressources'
class Vault(object):
@@ -86,7 +86,7 @@ class Vault(object):
given activity.
@param activity_name the name of the activity associated with this tutorial. None means ALL activities
- @param activity_vers the version number of the activity to find tutorail for. 0 means find for ANY version. If activity_name is None, version number is not used
+ @param activity_vers the version number of the activity to find tutorial for. 0 means find for ANY version. If activity_name is None, version number is not used
@returns a map of tutorial {names : GUID}.
"""
# check both under the activity data and user installed folders
@@ -250,6 +250,7 @@ class Vault(object):
# Return tutorial list
return tutorial_list
+
@staticmethod
def loadTutorial(Guid):
@@ -341,69 +342,70 @@ class Vault(object):
else:
return False
-
+
@staticmethod
def add_resource(tutorial_guid, file_path):
"""
- Returns a unique name for this resource composed from the original name of the file
- and a suffix to make it unique ( ex: name_1.jpg ) and add it to the resources for the tutorial.
+ Add given resource file in the vault and returns a unique name for this resource
+ composed from the original name of the file and a suffix to make it unique
+ ( ex: name_1.jpg ).
@param tutorial_guid The guid of the tutorial
- @param file_path the file path of the ressource to add
- @returns the ressource_id of the ressource
+ @param file_path the file path of the resource to add
+ @returns the resource_id of the resource
"""
-
+ assert os.path.isfile(file_path)
# Get the tutorial path
bundler = TutorialBundler(tutorial_guid)
tutorial_path = bundler.get_tutorial_path(tutorial_guid)
# Get the file name
- fname_splitted = file_path.rsplit('/')
- file_name = fname_splitted[fname_splitted.__len__() - 1]
+ file_name = os.path.basename(file_path)
+ #fname_splitted = file_path.rsplit('/')
+ #file_name = fname_splitted[fname_splitted.__len__() - 1]
base_name, extension = os.path.splitext(file_name)
# Append unique name to file name
file_name_appended = base_name + '_' + str(uuid.uuid1()) + extension
- # Check if the ressource file already exists
- new_file_path = os.path.join(tutorial_path, RESSOURCES_FOLDER, file_name_appended)
+ # Check if the resource file already exists
+ new_file_path = os.path.join(tutorial_path, RESOURCES_FOLDER, file_name_appended)
if os.path.isfile(new_file_path) == False:
- # Copy the ressource file in the vault
- if os.path.isdir(os.path.join(tutorial_path, RESSOURCES_FOLDER)) == False:
- os.makedirs(os.path.join(tutorial_path, RESSOURCES_FOLDER))
- assert os.path.isfile(file_path)
+ # Copy the resource file in the vault
+ if os.path.isdir(os.path.join(tutorial_path, RESOURCES_FOLDER)) == False:
+ os.makedirs(os.path.join(tutorial_path, RESOURCES_FOLDER))
shutil.copyfile(file_path, new_file_path)
return file_name_appended
@staticmethod
- def delete_resource(tutorial_guid, ressource_id):
+ def delete_resource(tutorial_guid, resource_id):
"""
Delete the resource from the resources of the tutorial.
@param tutorial_guid the guid of the tutorial
- @param ressource_id the ressource id of the ressource to delete
+ @param resource_id the resource id of the resource to delete
"""
# Get the tutorial path
bundler = TutorialBundler(tutorial_guid)
tutorial_path = bundler.get_tutorial_path(tutorial_guid)
- # Check if the ressource file exists
- file_path = os.path.join(tutorial_path, RESSOURCES_FOLDER, ressource_id)
+ # Check if the resource file exists
+ file_path = os.path.join(tutorial_path, RESOURCES_FOLDER, resource_id)
if os.path.isfile(file_path):
- # Delete the ressource
+ # Delete the resource
os.remove(file_path)
else:
- print('File not found, no delete took place')
+ logging.info('File not found, no delete took place')
@staticmethod
- def get_resource_path(tutorial_guid, ressource_id):
+ def get_resource_path(tutorial_guid, resource_id):
"""
Returns the absolute file path to the resourceID
@param tutorial_guid the guid of the tutorial
- @param ressource_id the ressource id of the ressource to find the path for
- @returns the absolute path of the ressource file
+ @param resource_id the resource id of the resource to find the path for
+ @returns the absolute path of the resource file
"""
# Get the tutorial path
bundler = TutorialBundler(tutorial_guid)
tutorial_path = bundler.get_tutorial_path(tutorial_guid)
- # Check if the ressource file exists
- file_path = os.path.join(tutorial_path, RESSOURCES_FOLDER, ressource_id)
+ # Check if the resource file exists
+ file_path = os.path.join(tutorial_path, RESOURCES_FOLDER, resource_id)
if os.path.isfile(file_path):
return file_path
else: