Example #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
Example #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
Example #3
0
File: url.py Project: 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)
Example #4
0
File: base.py Project: 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)
Example #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)
Example #6
0
File: base.py Project: 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)
Example #7
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)
Example #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)
Example #9
0
 def _order_visitor_factory(self):
     visitor_cls = get_order_specification_visitor(EXPRESSION_KINDS.SQL)
     return visitor_cls(self.entity_class)
Example #10
0
 def _order_visitor_factory(self):
     visitor_cls = get_order_specification_visitor(EXPRESSION_KINDS.SQL)
     return visitor_cls(self.entity_class)
Example #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)
Example #12
0
 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)