예제 #1
0
파일: pubsub.py 프로젝트: johan--/gfw-api
def report(begin=None,end=None):
  if not end:
    end = arrow.now().format('YYYY-MM-DD')
  rpt = {}
  confirmed = Subscription.query(Subscription.confirmed==True)
  unconfirmed = Subscription.query(ndb.OR(Subscription.confirmed==False,Subscription.confirmed==None))
  rpt['total'] = {
    'confirmed': confirmed.count(),
    'unconfirmed': unconfirmed.count()
  }
  def sub_tuple(sub):
    params=sub.params
    typ = params.get('iso','geojson')
    date = arrow.get(sub.created).format("YYYY-MM-DD")
    return (typ,date,sub.email)

  if begin:
    filtered_confirmed = filter_subscriptions(confirmed,begin,end)
    filtered_unconfirmed = filter_subscriptions(unconfirmed,begin,end)
    rpt['filtered'] = {
      'begin': begin,
      'end': end
    }
    rpt['filtered']['confirmed'] = {
      'count': filtered_confirmed.count(),
      'subscriptions': map(sub_tuple,filtered_confirmed)
    }
    rpt['filtered']['unconfirmed'] = {
      'count': filtered_unconfirmed.count(),
      'subscriptions': map(sub_tuple,filtered_unconfirmed)
    }
  return rpt
예제 #2
0
파일: pubsub.py 프로젝트: johan--/gfw-api
def resetUpdates():
  subs = Subscription.query()
  for s in subs:
    if s.updates:
      print("s %s" % s.email)
      s.updates = None
      s.put()
예제 #3
0
파일: pubsub.py 프로젝트: johan--/gfw-api
def clearSubs(email=None):
  if not email:
    email = 'bguzder.wri.org'
  subs = Subscription.query(Subscription.email==email)
  for s in subs:
      print("clear sub:  %s" % s)
      s.updates = None
      s.put()
예제 #4
0
파일: pubsub.py 프로젝트: johan--/gfw-api
def printUpdates():
  subs = Subscription.query()
  for s in subs:
    print("s %s" % s.updates)
예제 #5
0
파일: pubsub.py 프로젝트: johan--/gfw-api
def checkSubs(email=None):
  if not email:
    email = 'bguzder.wri.org'
  subs = Subscription.query(Subscription.email==email)
  for s in subs:
      print("check sub:  %s" % s)