Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/journal/expandedentry.py
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@gmail.com>2011-06-15 21:23:35 (GMT)
committer Gonzalo Odiard <godiard@gmail.com>2011-06-24 11:52:46 (GMT)
commit59607687c643feb3dc7d6d4ab4a8620b68ca8a6b (patch)
treef2984df89422be1e96b7b0a30fe00378d304eb1c /src/jarabe/journal/expandedentry.py
parent782f013040527abea5a641254003ec0c70b42216 (diff)
Journal: Enable saving metadata in external device - OLPC#10717
This patch enable saving metadata and renaming files in device with write permission. There are code to avoid break if the user change the title and other properties, like description, tags or favorites, because changing the title, the files used to save the meatata change the name too. Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org> Acked-By: Simon Schampijer <simon@laptop.org>
Diffstat (limited to 'src/jarabe/journal/expandedentry.py')
-rw-r--r--src/jarabe/journal/expandedentry.py20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/jarabe/journal/expandedentry.py b/src/jarabe/journal/expandedentry.py
index fe2f320..d293694 100644
--- a/src/jarabe/journal/expandedentry.py
+++ b/src/jarabe/journal/expandedentry.py
@@ -18,6 +18,7 @@ import logging
from gettext import gettext as _
import StringIO
import time
+import os
import hippo
import cairo
@@ -406,7 +407,14 @@ class ExpandedEntry(hippo.CanvasBox):
needs_update = True
if needs_update:
- model.write(self._metadata, update_mtime=False)
+ if self._metadata.get('mountpoint', '/') == '/':
+ model.write(self._metadata, update_mtime=False)
+ else:
+ old_file_path = os.path.join(self._metadata['mountpoint'],
+ model.get_file_name(old_title,
+ self._metadata['mime_type']))
+ model.write(self._metadata, file_path=old_file_path,
+ update_mtime=False)
self._update_title_sid = None
@@ -420,7 +428,15 @@ class ExpandedEntry(hippo.CanvasBox):
self._metadata['keep'] = 0
else:
self._metadata['keep'] = 1
- model.write(self._metadata, update_mtime=False)
+
+ if self._metadata.get('mountpoint', '/') == '/':
+ model.write(self._metadata, update_mtime=False)
+ else:
+ f_path = os.path.join(self._metadata['mountpoint'],
+ model.get_file_name(self._metadata['title'],
+ self._metadata['mime_type']))
+ model.write(self._metadata, file_path=f_path,
+ update_mtime=False)
keep_icon.props.keep = self.get_keep()