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
def resetUpdates(): subs = Subscription.query() for s in subs: if s.updates: print("s %s" % s.email) s.updates = None s.put()
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()
def printUpdates(): subs = Subscription.query() for s in subs: print("s %s" % s.updates)
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)