예제 #1
0
 def __get_entities(self):
     if self._relationship is None:
         ents = list(self._session.iterator(self.entity_class))
     else:
         if self._relationship.children is None:
             ents = list(self._session.iterator(self.entity_class))
             visitor = \
                 get_filter_specification_visitor(EXPRESSION_KINDS.EVAL)()
             self._relationship.specification.accept(visitor)
             ents = visitor.expression(ents)
         else:
             ents = self._relationship.children
     if not self._filter_spec is None:
         visitor = get_filter_specification_visitor(EXPRESSION_KINDS.EVAL)()
         self._filter_spec.accept(visitor)
         ents = visitor.expression(ents)
     # Record the total count of matching entities.
     count = len(ents)
     if not self._order_spec is None:
         visitor = get_order_specification_visitor(EXPRESSION_KINDS.EVAL)()
         self._order_spec.accept(visitor)
         ents = visitor.expression(ents)
     if not self._slice_key is None:
         ents = ents[self._slice_key]
     return ents, count
예제 #2
0
 def __get_entities(self):
     if self._relationship is None:
         ents = list(self._session.iterator(self.entity_class))
     else:
         if self._relationship.children is None:
             ents = list(self._session.iterator(self.entity_class))
             visitor = \
                 get_filter_specification_visitor(EXPRESSION_KINDS.EVAL)()
             self._relationship.specification.accept(visitor)
             ents = visitor.expression(ents)
         else:
             ents = self._relationship.children
     if not self._filter_spec is None:
         visitor = get_filter_specification_visitor(EXPRESSION_KINDS.EVAL)()
         self._filter_spec.accept(visitor)
         ents = visitor.expression(ents)
     # Record the total count of matching entities.
     count = len(ents)
     if not self._order_spec is None:
         visitor = get_order_specification_visitor(EXPRESSION_KINDS.EVAL)()
         self._order_spec.accept(visitor)
         ents = visitor.expression(ents)
     if not self._slice_key is None:
         ents = ents[self._slice_key]
     return ents, count
예제 #3
0
파일: url.py 프로젝트: b8va/everest
 def make_order_string(cls, order_specification):
     """
     Converts the given order specification to a CQL order expression.
     """
     visitor_cls = get_order_specification_visitor(EXPRESSION_KINDS.CQL)
     visitor = visitor_cls()
     order_specification.accept(visitor)
     return str(visitor.expression)
예제 #4
0
파일: base.py 프로젝트: b8va/everest
 def order_by(self, *args):
     spec = order(*args)
     visitor_cls = get_order_specification_visitor(self.expression_kind)
     vst = visitor_cls(self._entity_class)
     spec.accept(vst)
     return vst.order_query(self)
예제 #5
0
 def order_by(self, *args):
     spec = order(*args)
     vst_cls = get_order_specification_visitor(EXPRESSION_KINDS.SQL)
     vst = vst_cls(self._entity_class)
     spec.accept(vst)
     return vst.order_query(self)
예제 #6
0
파일: base.py 프로젝트: b8va/everest
 def _order_visitor_factory(self):
     """
     Override this to create order visitors with custom clauses.
     """
     visitor_cls = get_order_specification_visitor(self.expression_kind)
     return visitor_cls(self.entity_class)
예제 #7
0
파일: querying.py 프로젝트: papagr/everest
 def order_by(self, *args):
     spec = order(*args)
     vst_cls = get_order_specification_visitor(EXPRESSION_KINDS.SQL)
     vst = vst_cls(self._entity_class)
     spec.accept(vst)
     return vst.order_query(self)
예제 #8
0
 def make_order_string(cls, order_specification):
     visitor_cls = get_order_specification_visitor(EXPRESSION_KINDS.CQL)
     visitor = visitor_cls()
     order_specification.accept(visitor)
     return str(visitor.expression)
예제 #9
0
 def _order_visitor_factory(self):
     visitor_cls = get_order_specification_visitor(EXPRESSION_KINDS.SQL)
     return visitor_cls(self.entity_class)
예제 #10
0
 def _order_visitor_factory(self):
     visitor_cls = get_order_specification_visitor(EXPRESSION_KINDS.SQL)
     return visitor_cls(self.entity_class)
예제 #11
0
 def make_order_string(cls, order_specification):
     visitor_cls = get_order_specification_visitor(EXPRESSION_KINDS.CQL)
     visitor = visitor_cls()
     order_specification.accept(visitor)
     return str(visitor.expression)
예제 #12
0
파일: base.py 프로젝트: papagr/everest
 def order_by(self, *args):
     spec = order(*args)
     visitor_cls = get_order_specification_visitor(self.expression_kind)
     vst = visitor_cls(self._entity_class)
     spec.accept(vst)
     return vst.order_query(self)