Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/journal/model.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/jarabe/journal/model.py')
-rw-r--r--src/jarabe/journal/model.py38
1 files changed, 22 insertions, 16 deletions
diff --git a/src/jarabe/journal/model.py b/src/jarabe/journal/model.py
index 0a5b354..07c34ac 100644
--- a/src/jarabe/journal/model.py
+++ b/src/jarabe/journal/model.py
@@ -25,13 +25,15 @@ import tempfile
from stat import S_IFLNK, S_IFMT, S_IFDIR, S_IFREG
import re
from operator import itemgetter
-import simplejson
+import json
from gettext import gettext as _
-from gi.repository import GObject
import dbus
from gi.repository import Gio
from gi.repository import GConf
+from gi.repository import GLib
+
+from gi.repository import SugarExt
from sugar3 import dispatch
from sugar3 import mime
@@ -130,7 +132,7 @@ class BaseResultSet(object):
remaining_forward_entries = 0
else:
remaining_forward_entries = self._offset + len(self._cache) - \
- self._position
+ self._position
if self._position > self._offset + len(self._cache):
remaining_backwards_entries = 0
@@ -145,7 +147,7 @@ class BaseResultSet(object):
limit = self._page_size * MIN_PAGES_TO_CACHE
offset = max(0, self._position - limit / 2)
logging.debug('remaking cache, offset: %r limit: %r', offset,
- limit)
+ limit)
query = self._query.copy()
query['limit'] = limit
query['offset'] = offset
@@ -160,7 +162,7 @@ class BaseResultSet(object):
# Add one page to the end of cache
logging.debug('appending one more page, offset: %r',
- last_cached_entry)
+ last_cached_entry)
query = self._query.copy()
query['limit'] = self._page_size
query['offset'] = last_cached_entry
@@ -184,7 +186,7 @@ class BaseResultSet(object):
self._offset = max(0, self._offset - limit)
logging.debug('prepending one more page, offset: %r limit: %r',
- self._offset, limit)
+ self._offset, limit)
query = self._query.copy()
query['limit'] = limit
query['offset'] = self._offset
@@ -269,7 +271,7 @@ class InplaceResultSet(BaseResultSet):
self._pending_directories = [self._mount_point]
self._visited_directories = []
self._pending_files = []
- GObject.idle_add(self._scan)
+ GLib.idle_add(self._scan)
def stop(self):
self._stopped = True
@@ -395,7 +397,7 @@ class InplaceResultSet(BaseResultSet):
if self._mime_types:
mime_type, uncertain_result_ = \
- Gio.content_type_guess(filename=full_path, data=None)
+ Gio.content_type_guess(filename=full_path, data=None)
if mime_type not in self._mime_types:
return
@@ -467,7 +469,7 @@ def _get_file_metadata_from_json(dir_path, filename, fetch_preview):
return None
try:
- metadata = simplejson.load(open(metadata_path))
+ metadata = json.load(open(metadata_path))
except (ValueError, EnvironmentError):
os.unlink(metadata_path)
if os.path.exists(preview_path):
@@ -638,7 +640,7 @@ def write(metadata, file_path='', update_mtime=True, transfer_ownership=True):
"""Creates or updates an entry for that id
"""
logging.debug('model.write %r %r %r', metadata.get('uid', ''), file_path,
- update_mtime)
+ update_mtime)
if update_mtime:
metadata['mtime'] = datetime.now().isoformat()
metadata['timestamp'] = int(time.time())
@@ -646,13 +648,13 @@ def write(metadata, file_path='', update_mtime=True, transfer_ownership=True):
if metadata.get('mountpoint', '/') == '/':
if metadata.get('uid', ''):
object_id = _get_datastore().update(metadata['uid'],
- dbus.Dictionary(metadata),
- file_path,
- transfer_ownership)
+ dbus.Dictionary(metadata),
+ file_path,
+ transfer_ownership)
else:
object_id = _get_datastore().create(dbus.Dictionary(metadata),
- file_path,
- transfer_ownership)
+ file_path,
+ transfer_ownership)
else:
object_id = _write_entry_on_external_device(metadata, file_path)
@@ -720,6 +722,10 @@ def _write_entry_on_external_device(metadata, file_path):
if not os.path.exists(metadata_dir_path):
os.mkdir(metadata_dir_path)
+ if SugarExt.fat_set_hidden_attrib(metadata_dir_path) == 0:
+ logging.error('Could not set hidden attribute on %s' %
+ (metadata_dir_path))
+
preview = None
if 'preview' in metadata_copy:
preview = metadata_copy['preview']
@@ -727,7 +733,7 @@ def _write_entry_on_external_device(metadata, file_path):
metadata_copy.pop('preview', None)
try:
- metadata_json = simplejson.dumps(metadata_copy)
+ metadata_json = json.dumps(metadata_copy)
except (UnicodeDecodeError, EnvironmentError):
logging.error('Could not convert metadata to json.')
else: