def get(self): d_from = utils.parseIsoDate(self.request.get("from")) if d_from == None: d_from = datetime.date.today() d_to = utils.parseIsoDate(self.request.get("to")) if d_to == None: d_to = d_from + datetime.timedelta(days=7) q = db.GqlQuery( "select * from News_Record_v2 where when > :1 and when < :2 order by when", d_from, d_to) if self.request.get("csv"): self.response.headers[ 'Content-Type'] = 'text/plain; charset=cp1251' self.response.out.write( "timestamp,importance,title,curr,prev,fore\n") for ev in q: self.response.out.write( ("%d,%s,%s,%s,%s,%s\n" % (time.mktime(ev.when.timetuple()), ev.importance, norm_str(ev.title), norm_str(ev.curr), norm_str( ev.pred), norm_str(ev.fore)))) else: res = [] index = 1 for ev in q: ev.index = index ev.imp = news.val2imp(ev.importance) ev.date = ev.when.date().isoformat() ev.time = ev.when.time().isoformat() ev.title = norm_str(ev.title, 1) ev.pred = norm_str(ev.pred, 1) ev.fore = norm_str(ev.fore, 1) ev.curr = norm_str(ev.curr, 1) index = index + 1 res.append(ev) path = os.path.join(os.path.dirname(__file__), "tmpl/news-list.html") ub_day = (d_from - datetime.timedelta(days=7)).isoformat() lb_day = (d_from - datetime.timedelta(days=1)).isoformat() back_url = "/news?from=%s&to=%s" % (ub_day, lb_day) ub_day = (d_to + datetime.timedelta(days=1)).isoformat() lb_day = (d_to + datetime.timedelta(days=7)).isoformat() forward_url = "/news?from=%s&to=%s" % (ub_day, lb_day) self.response.out.write( template.render(path, { "news": res, "back": back_url, "forward": forward_url }))
def get (self): d_from = utils.parseIsoDate (self.request.get ("from")) if d_from == None: d_from = datetime.date.today () d_to = utils.parseIsoDate (self.request.get ("to")) if d_to == None: d_to = d_from + datetime.timedelta (days = 7) q = db.GqlQuery ("select * from News_Record_v2 where when > :1 and when < :2 order by when", d_from, d_to) if self.request.get ("csv"): self.response.headers['Content-Type'] = 'text/plain; charset=cp1251' self.response.out.write ("timestamp,importance,title,curr,prev,fore\n") for ev in q: self.response.out.write (("%d,%s,%s,%s,%s,%s\n" % (time.mktime (ev.when.timetuple ()), ev.importance, norm_str (ev.title), norm_str (ev.curr), norm_str (ev.pred), norm_str (ev.fore)))) else: res = [] index = 1 for ev in q: ev.index = index ev.imp = news.val2imp (ev.importance) ev.date = ev.when.date ().isoformat () ev.time = ev.when.time ().isoformat () ev.title = norm_str (ev.title, 1) ev.pred = norm_str (ev.pred, 1) ev.fore = norm_str (ev.fore, 1) ev.curr = norm_str (ev.curr, 1) index = index + 1 res.append (ev) path = os.path.join (os.path.dirname (__file__), "tmpl/news-list.html") ub_day = (d_from - datetime.timedelta (days = 7)).isoformat () lb_day = (d_from - datetime.timedelta (days = 1)).isoformat () back_url = "/news?from=%s&to=%s" % (ub_day, lb_day) ub_day = (d_to + datetime.timedelta (days = 1)).isoformat () lb_day = (d_to + datetime.timedelta (days = 7)).isoformat () forward_url = "/news?from=%s&to=%s" % (ub_day, lb_day) self.response.out.write (template.render (path, { "news" : res, "back" : back_url, "forward" : forward_url}))
return True for item in curr.split (","): if item.upper () in filter: return True return False # generate importance filter string imp_list = [] for i in xrange(imp, 3): imp_list.append ("%d" % i) imp_filter = "(" + ",".join (imp_list) + ")" q = db.GqlQuery ("select * from News_Record_v2 where when > :1 and when < :2 and importance in %s order by when" % imp_filter, d_from, d_to) id = 0 for ev in q: if not check_filter (curr_filter, ev.curr): continue event = Event () event['uid'] = "*****@*****.**" % (id, time.mktime (ev.when.timetuple ())) event['summary'] = vText (u"%s, Imp: %s" % (norm_str (ev.title), news.val2imp (ev.importance))) event['description'] = vText ("Prev: %s\\, Fore: %s" % (norm_str (ev.pred), norm_str (ev.fore))) event['dtstamp'] = ev.when.strftime ("%Y%m%dT%H%M%SZ") event['dtstart'] = ev.when.strftime ("%Y%m%dT%H%M%SZ") event['dtend'] = (ev.when + datetime.timedelta (minutes = 10)).strftime ("%Y%m%dT%H%M%SZ") event['priority'] = 0 cal.add_component (event) id += 1 print cal.as_string (),
# generate importance filter string imp_list = [] for i in xrange(imp, 3): imp_list.append("%d" % i) imp_filter = "(" + ",".join(imp_list) + ")" q = db.GqlQuery( "select * from News_Record_v2 where when > :1 and when < :2 and importance in %s order by when" % imp_filter, d_from, d_to) id = 0 for ev in q: if not check_filter(curr_filter, ev.curr): continue event = Event() event['uid'] = "*****@*****.**" % ( id, time.mktime(ev.when.timetuple())) event['summary'] = vText(u"%s, Imp: %s" % (norm_str(ev.title), news.val2imp(ev.importance))) event['description'] = vText("Prev: %s\\, Fore: %s" % (norm_str(ev.pred), norm_str(ev.fore))) event['dtstamp'] = ev.when.strftime("%Y%m%dT%H%M%SZ") event['dtstart'] = ev.when.strftime("%Y%m%dT%H%M%SZ") event['dtend'] = ( ev.when + datetime.timedelta(minutes=10)).strftime("%Y%m%dT%H%M%SZ") event['priority'] = 0 cal.add_component(event) id += 1 print cal.as_string(),