diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-10-22 15:48:19 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-10-22 15:48:19 (GMT) |
commit | 1079387789177aeecee90780b472022df6e63b96 (patch) | |
tree | c46bfb74961ebfb7452bd548a47ab85a2e601e6a | |
parent | b69646ef143afbaebb97bba3c41d9789959ea6bb (diff) |
Support activities that pass properties as eg. title:text
-rw-r--r-- | src/olpc/datastore/filestore.py | 8 | ||||
-rw-r--r-- | src/olpc/datastore/layoutmanager.py | 3 | ||||
-rw-r--r-- | src/olpc/datastore/metadatastore.py | 6 |
3 files changed, 12 insertions, 5 deletions
diff --git a/src/olpc/datastore/filestore.py b/src/olpc/datastore/filestore.py index 8c170bc..730c7ac 100644 --- a/src/olpc/datastore/filestore.py +++ b/src/olpc/datastore/filestore.py @@ -105,10 +105,10 @@ class FileStore(object): attempt = 1 while os.path.exists(destination_path): if attempt > 10: - fd, destination_path = tempfile.mkstemp(prefix=uid, - suffix=extension, - dir=destination_dir) - del fd + fd_, destination_path = tempfile.mkstemp(prefix=uid, + suffix=extension, + dir=destination_dir) + del fd_ os.unlink(destination_path) break else: diff --git a/src/olpc/datastore/layoutmanager.py b/src/olpc/datastore/layoutmanager.py index 2b3e521..dc3fde6 100644 --- a/src/olpc/datastore/layoutmanager.py +++ b/src/olpc/datastore/layoutmanager.py @@ -19,7 +19,8 @@ import os MAX_QUERY_LIMIT = 40960 class LayoutManager(object): - """Provide the logic about how entries are stored inside the datastore directory + """Provide the logic about how entries are stored inside the datastore + directory """ def __init__(self): profile = os.environ.get('SUGAR_PROFILE', 'default') diff --git a/src/olpc/datastore/metadatastore.py b/src/olpc/datastore/metadatastore.py index 5cd97ba..e1fe79a 100644 --- a/src/olpc/datastore/metadatastore.py +++ b/src/olpc/datastore/metadatastore.py @@ -20,6 +20,12 @@ class MetadataStore(object): metadata['uid'] = uid for key, value in metadata.items(): + + # Hack to support activities that still pass properties named as for + # example title:text. + if ':' in key: + key = key.split(':', maxsplit=1)[0] + f = open(os.path.join(metadata_path, key), 'w') try: if isinstance(value, unicode): |