コード例 #1
0
ファイル: nsi.py プロジェクト: KirpichenkovPavel/merger
 def get_objects(self,
                 url,
                 query=None,
                 page=0,
                 sort=None,
                 desc=None,
                 model=None):
     query_url = self.__server_uri + self.__api_path + url
     if query is not None:
         query_url += "/query2;q=\"{}\"".format(query_quote(query))
     elif sort is not None and desc is not None:
         query_url += "/query2;"
     query_url += ";page={}".format(page)
     if sort:
         query_url += ";sort={}".format(sort)
     if desc:
         query_url += ";desc={}".format(desc)
     r = self.auth_get(query_url, model=model)
     if r.status_code == codes.ok:
         info("nsi.get_objects", query_url, r)
         results = self.__json_or_none(r)
         return results
     else:
         error("nsi.get_objects", query_url, r)
         raise RemoteDatabaseError(remote_error_json=self.__json_or_none(r))
コード例 #2
0
ファイル: core.py プロジェクト: KirpichenkovPavel/merger
 def prepare_query_params(self,
                          result_type,
                          permission,
                          page=None,
                          query=None,
                          sort=None,
                          desc=None,
                          parents=None,
                          agg=None):
     params = [("jsonResultType", result_type),
               ("permissionType", permission), ("brief", "true")]
     if page is not None:
         params.append(("page", page))
     if desc is not None:
         params.append(("sortDesc", desc))
     if sort is not None:
         params.append(("sortBy", sort))
     if query is not None:
         q = "\"{}\"".format(query_quote(query))
         params.append(("q", q))
     if agg is not None:
         params.append(("agg", agg))
     if parents is not None:
         params += [("parentInternalIds", parent.internal_id)
                    for parent in parents]
     return ";".join(["{}={}".format(k, v) for k, v in params])
コード例 #3
0
ファイル: nsi.py プロジェクト: KirpichenkovPavel/merger
 def get_objects_count(self, url, query=None, model=None):
     query_url = self.__server_uri + self.__api_path + url
     if query is not None:
         query_url += "/query2/count;q=\"{}\"".format(query_quote(query))
     else:
         query_url += "/count"
     r = self.auth_get(query_url, model=model)
     if r.status_code == codes.ok:
         info("nsi.get_objects_count", query_url, r)
         result = r.json()
         return result
     else:
         error("nsi.get_objects_count", query_url, r)
         raise RemoteDatabaseError(remote_error_json=self.__json_or_none(r))
コード例 #4
0
ファイル: nsi.py プロジェクト: KirpichenkovPavel/merger
 def get_objects_agg(self, url, agg, query=None, model=None):
     query_url = self.__server_uri + self.__api_path + url + "/query2/aggregate"
     query_url += ";agg={}".format(agg)
     if query is not None:
         query_url += ";q=\"{}\"".format(query_quote(query))
     r = self.auth_get(query_url, model=model)
     if r.status_code == codes.ok:
         info("nsi.get_objects_agg", query_url, r)
         result = r.json()
         if result == "NaN":
             result = None
         return result
     else:
         error("nsi.get_objects_agg", query_url, r)
         raise RemoteDatabaseError(remote_error_json=self.__json_or_none(r))