You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by jp...@apache.org on 2014/05/16 17:53:38 UTC
svn commit: r1595244 - in /chemistry/cmislib/trunk/src/cmislib:
browser/binding.py util.py
Author: jpotts
Date: Fri May 16 15:53:38 2014
New Revision: 1595244
URL: http://svn.apache.org/r1595244
Log:
implement cmislib browser binding queries
Modified:
chemistry/cmislib/trunk/src/cmislib/browser/binding.py
chemistry/cmislib/trunk/src/cmislib/util.py
Modified: chemistry/cmislib/trunk/src/cmislib/browser/binding.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/cmislib/browser/binding.py?rev=1595244&r1=1595243&r2=1595244&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/cmislib/browser/binding.py (original)
+++ chemistry/cmislib/trunk/src/cmislib/browser/binding.py Fri May 16 15:53:38 2014
@@ -1096,7 +1096,7 @@ class BrowserRepository(object):
"""
# build the CMIS query XML that we're going to POST
- queryUrl = self.getRepositoryUrl() + "?cmisaction=query&q=" + statement
+ queryUrl = self.getRepositoryUrl() + "?cmisaction=query&q=" + quote(statement)
# do the POST
result = self._cmisClient.binding.post(queryUrl.encode('utf-8'),
@@ -1107,7 +1107,7 @@ class BrowserRepository(object):
**kwargs)
# return the result set
- return BrowserResultSet(self._cmisClient, self, result)
+ return BrowserResultSet(self._cmisClient, self, result, serializer=ResultsSerializer())
def getContentChanges(self, **kwargs):
@@ -2995,6 +2995,18 @@ def encode_multipart_formdata(fields, fi
return content_type, body
+class ResultsSerializer(object):
+ def fromJSON(self, client, repo, jsonObj):
+ entries = []
+ for obj in jsonObj['results']:
+ cmisObject = getSpecializedObject(BrowserCmisObject(client,
+ repo,
+ data=obj))
+ entries.append(cmisObject)
+
+ return entries
+
+
class ChildrenSerializer(object):
def fromJSON(self, client, repo, jsonObj):
entries = []
Modified: chemistry/cmislib/trunk/src/cmislib/util.py
URL: http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/cmislib/util.py?rev=1595244&r1=1595243&r2=1595244&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/cmislib/util.py (original)
+++ chemistry/cmislib/trunk/src/cmislib/util.py Fri May 16 15:53:38 2014
@@ -101,7 +101,12 @@ def parsePropValueByType(value, typeName
return 0
elif typeName == 'decimal':
if value:
- return float(value)
+ # search result relevance is returning as an arrary of decimals
+ # in the browser binding for some reason
+ if isinstance(value, list):
+ return float(value[0])
+ else:
+ return float(value)
else:
return 0.0
elif typeName == 'datetime':