Ejemplo n.º 1
0
def client_poll(request):
    try:
        recipient = unicode(request.matchdict["recipient"].strip())

        # Get all events for this recipient and display as a newline delimited list
        session = DBSession()
        query_results = session.query(PullQueueEvent, Event).filter(
            and_(
                PullQueueEvent.recipient == recipient,
                PullQueueEvent.event_created == Event.created,
                PullQueueEvent.event_sender == Event.sender,
            ))

        results = query_results.all()

        # Save to a list
        def format(result):
            qe, e = result
            return "%s:%s" % (e.type, e.data)

        out = u"total:%i\n%s" % (len(results), "\n".join(
            [format(result) for result in results]))

        # Remove the results
        session.query(PullQueueEvent).filter(
            PullQueueEvent.recipient == recipient).delete()

        transaction.commit()

        return out

    except Exception, e:
        return u"total:0\nerror:%s" % e
Ejemplo n.º 2
0
Archivo: views.py Proyecto: pfoley/yot
def client_poll(request):
   try:
      recipient = unicode(request.matchdict["recipient"].strip())
   
      # Get all events for this recipient and display as a newline delimited list
      session = DBSession()
      query_results = session.query(PullQueueEvent, Event).filter(
                                    and_(
                                       PullQueueEvent.recipient==recipient, 
                                       PullQueueEvent.event_created==Event.created,
                                       PullQueueEvent.event_sender==Event.sender, 
                                    ))

      results = query_results.all()

      # Save to a list
      def format(result):
         qe, e = result
         return "%s:%s" % (e.type, e.data)

      out = u"total:%i\n%s" % (len(results), "\n".join([format(result) for result in results]))      

      # Remove the results
      session.query(PullQueueEvent).filter(PullQueueEvent.recipient==recipient).delete()

      transaction.commit()

      return out

   except Exception, e:      
      return u"total:0\nerror:%s" % e