示例#1
0
文件: last.py 项目: arthru/pystil
def process_data(site, graph, criteria, from_date, to_date, step, stamp, lang):
    poll = get_poll(site)
    if stamp == None:
        visits = (Visit.query.filter(
            on(site)).filter(Visit.date > (datetime.utcfromtimestamp(
                stamp / 1000) if stamp else datetime.min)).order_by(
                    Visit.date.desc()).limit(10).all())

        visits.reverse()
        visits = [polish_visit(visit_to_dict(visit)) for visit in visits]
        stamp = len(poll.visits)
    else:
        visits, stamp = poll.get(stamp)

    return {'list': visits, 'stamp': stamp}
示例#2
0
文件: last.py 项目: arthru/pystil
def process_data(site, graph, criteria, from_date, to_date, step, stamp, lang):
    poll = get_poll(site)
    if stamp == None:
        visits = (
            Visit.query.filter(on(site))
            .filter(Visit.date > (datetime.utcfromtimestamp(stamp / 1000) if stamp else datetime.min))
            .order_by(Visit.date.desc())
            .limit(10)
            .all()
        )

        visits.reverse()
        visits = [polish_visit(visit_to_dict(visit)) for visit in visits]
        stamp = len(poll.visits)
    else:
        visits, stamp = poll.get(stamp)

    return {"list": visits, "stamp": stamp}
示例#3
0
 def callback(ch, method, properties, body):
     app.logger.debug('Got a message')
     from pystil.data.utils import polish_visit
     try:
         visit = pickle.loads(body)
         site = visit['host']
         visit = polish_visit(visit)
         # Release site event
         poll = get_poll(site)
         poll.add(visit)
         # If there is a subdomain release the super domain
         parts = site.split('.')
         if len(parts) > 2:
             supersite = '.'.join([parts[-2], parts[-1]])
             superpoll = get_poll(supersite)
             superpoll.add(visit)
         # Release all event
         all = get_poll('all')
         all.add(visit)
         ch.basic_ack(delivery_tag=method.delivery_tag)
         app.logger.debug('Message acknowledged')
     except Exception:
         app.logger.exception('Push callback crashed')
示例#4
0
文件: events.py 项目: arthru/pystil
    def callback(ch, method, properties, body):
        app.logger.debug("Got a message")
        from pystil.data.utils import polish_visit

        try:
            visit = pickle.loads(body)
            site = visit["host"]
            visit = polish_visit(visit)
            # Release site event
            poll = get_poll(site)
            poll.add(visit)
            # If there is a subdomain release the super domain
            parts = site.split(".")
            if len(parts) > 2:
                supersite = ".".join([parts[-2], parts[-1]])
                superpoll = get_poll(supersite)
                superpoll.add(visit)
            # Release all event
            all = get_poll("all")
            all.add(visit)
            ch.basic_ack(delivery_tag=method.delivery_tag)
            app.logger.debug("Message acknowledged")
        except Exception:
            app.logger.exception("Push callback crashed")