def reorder_rows(self, sort_by=None):
     if sort_by is not None:
         self.sorting = facet.Sorting(sort_by)
     response = self.do_json('reorder-rows',
                             {'sorting': self.sorting.as_json()})
     # clear sorting
     self.sorting = facet.Sorting()
     return response
 def __init__(self, server, project_id=None):
     if not isinstance(server, RefineServer):
         if '/project?project=' in server:
             server, project_id = server.split('/project?project=')
             server = RefineServer(server)
         elif re.match(r'\d+$', server):  # just digits => project ID
             server, project_id = RefineServer(), server
         else:
             server = RefineServer(server)
     self.server = server
     if not project_id:
         raise Exception('Missing OpenRefine project ID')
     self.project_id = project_id
     self.engine = facet.Engine()
     self.sorting = facet.Sorting()
     self.history_entry = None
     # following filled in by get_models()
     self.key_column = None
     self.has_records = False
     self.columns = None
     self.column_order = {}  # map of column names to order in UI
     self.rows_response_factory = None  # for parsing get_rows()
     self.get_models()
     # following filled in by get_reconciliation_services
     self.recon_services = None
Beispiel #3
0
 def get_rows(self, facets=None, sort_by=None, start=1, limit=100):
     if facets:
         self.engine.set_facets(facets)
     if sort_by is not None:
         self.sorting = facet.Sorting(sort_by)
     response = self.do_json('get-rows', {'sorting': self.sorting.as_json(),
                                          'start': start, 'limit': limit})
     return self.rows_response_factory(response)