Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Silbe <sascha@silbe.org>2009-08-17 11:23:32 (GMT)
committer Sascha Silbe <sascha@silbe.org>2009-08-17 11:23:32 (GMT)
commit1dd650d774dc3d6797934e3ca479b5e81ee0cd8f (patch)
treee0fc698f664f51e8cdf1f1079500d5f851b6bf0d
parent2d74b6d2df03dc77e64c82e4a754200bad21a0b5 (diff)
API fix (byte_arrays), add ChangedMetadata signal, some minor changes (ea0750fa0fbc99d66f1707a18b79c4cadf923d88 rebased)
-rw-r--r--src/carquinyol/datastore.py20
-rw-r--r--src/carquinyol/indexstore.py9
2 files changed, 20 insertions, 9 deletions
diff --git a/src/carquinyol/datastore.py b/src/carquinyol/datastore.py
index 03b0032..60cf94c 100644
--- a/src/carquinyol/datastore.py
+++ b/src/carquinyol/datastore.py
@@ -122,7 +122,7 @@ class DataStore(dbus.service.Object):
byte_arrays=True)
@trace()
def save(self, tree_id, parent_id, metadata, path, delete_after):
- return self._save(self, tree_id, parent_id, metadata, path, delete_after)
+ return self._save(tree_id, parent_id, metadata, path, delete_after)
def _save(self, tree_id, parent_id, metadata, path, delete_after):
# TODO: copy docstring from datastore-redesign.html
@@ -188,17 +188,25 @@ class DataStore(dbus.service.Object):
def change_metadata(self, tree_id, version_id, metadata) :
# TODO: copy docstring from datastore-redesign.html
self._metadata_store.store(tree_id, version_id, metadata)
+ self._index_store.store(tree_id, version_id, metadata)
+ self.ChangedMetadata(tree_id, version_id, metadata)
+
+ @dbus.service.signal(DS_DBUS_INTERFACE, signature="ssa{sv}")
+ def ChangedMetadata(self, tree_id, version_id, metadata):
+ pass
@dbus.service.method(DS_DBUS_INTERFACE,
in_signature='a{sv}a{sv}',
- out_signature='aa{sv}u')
+ out_signature='aa{sv}u',
+ byte_arrays=True)
@trace()
def find(self, query, options):
return self._find(query, options)
@dbus.service.method(DS_DBUS_INTERFACE,
in_signature='sa{sv}a{sv}',
- out_signature='aa{sv}u')
+ out_signature='aa{sv}u',
+ byte_arrays=True)
@trace()
def textsearch(self, querystring, query, options) :
return self._find(query, options, querystring)
@@ -249,7 +257,8 @@ class DataStore(dbus.service.Object):
@dbus.service.method(DS_DBUS_INTERFACE,
in_signature='ss',
out_signature='s',
- sender_keyword='sender')
+ sender_keyword='sender',
+ byte_arrays=True)
@trace()
def get_data(self, tree_id, version_id, sender=None):
# TODO: copy docstring from datastore-redesign.html
@@ -288,7 +297,8 @@ class DataStore(dbus.service.Object):
@dbus.service.method(DS_DBUS_INTERFACE,
in_signature='ss',
- out_signature='')
+ out_signature='',
+ byte_arrays=True)
def delete(self, tree_id, version_id):
# TODO: version_id=None/'' => remove all versions
self._optimizer.remove(tree_id, version_id)
diff --git a/src/carquinyol/indexstore.py b/src/carquinyol/indexstore.py
index 2aa90c3..a8061a3 100644
--- a/src/carquinyol/indexstore.py
+++ b/src/carquinyol/indexstore.py
@@ -78,7 +78,8 @@ class IndexStore(object):
def store(self, tree_id, version_id, properties):
document = Document()
- document.add_term("%s%s%s%s" % (_PREFIX_TID, tree_id, _PREFIX_VID, version_id))
+ docid = "%s%s%s%s" % (_PREFIX_TID, tree_id, _PREFIX_VID, version_id)
+ document.add_term(docid)
document.add_term(_PREFIX_TID + tree_id)
document.add_term(_PREFIX_VID + version_id)
document.add_term(_PREFIX_BUNDLE_ID + properties.get('bundle_id', ''))
@@ -111,7 +112,7 @@ class IndexStore(object):
if not self.contains(tree_id, version_id):
self._database.add_document(document)
else:
- self._database.replace_document("%s%s%s%s" % (_PREFIX_TID, tree_id, _PREFIX_VID, version_id), document)
+ self._database.replace_document(docid, document)
self._flush()
def _extract_text(self, properties):
@@ -162,7 +163,7 @@ class IndexStore(object):
'keep': _PREFIX_KEEP,
}
def _parse_query(self, query_dict, query_str):
- logging.debug('_parse_query %r' % query_dict)
+ logging.debug('_parse_query %r %r', query_dict, query_str)
queries = []
if query_str:
@@ -208,7 +209,7 @@ class IndexStore(object):
queries.append(Query(''))
if query_dict:
- logging.warning('Unknown term(s): %r' % query_dict)
+ logging.warning('Unknown term(s): %r', query_dict)
return Query(Query.OP_AND, queries)