@@ -131,14 +131,15 @@ def __str__(self) :
131131
132132class AQLQuery (Query ) :
133133 "AQL queries are attached to and instanciated by a database"
134- def __init__ (self , database , query , batchSize , bindVars , options , count , fullCount , rawResults = True , ** moreArgs ) :
134+ def __init__ (self , database , query , batchSize , bindVars , options , count , fullCount , rawResults = True ,
135+ json_encoder = None , ** moreArgs ) :
135136 payload = {'query' : query , 'batchSize' : batchSize , 'bindVars' : bindVars , 'options' : options , 'count' : count , 'fullCount' : fullCount }
136137 payload .update (moreArgs )
137138
138139 self .query = query
139140 self .database = database
140141 self .connection = self .database .connection
141- request = self .connection .session .post (database .cursorsURL , data = json .dumps (payload ))
142+ request = self .connection .session .post (database .cursorsURL , data = json .dumps (payload , cls = json_encoder ))
142143 Query .__init__ (self , request , database , rawResults )
143144
144145 def explain (self , allPlans = False ) :
@@ -165,14 +166,15 @@ def _raiseInitFailed(self, request) :
165166
166167class SimpleQuery (Query ) :
167168 "Simple queries are attached to and instanciated by a collection"
168- def __init__ (self , collection , queryType , rawResults , ** queryArgs ) :
169+ def __init__ (self , collection , queryType , rawResults , json_encoder = None ,
170+ ** queryArgs ) :
169171
170172 self .collection = collection
171173 self .connection = self .collection .database .connection
172174
173175 payload = {'collection' : collection .name }
174176 payload .update (queryArgs )
175- payload = json .dumps (payload )
177+ payload = json .dumps (payload , cls = json_encoder )
176178 URL = "%s/simple/%s" % (collection .database .URL , queryType )
177179 request = self .connection .session .put (URL , data = payload )
178180
0 commit comments