Ejemplo n.º 1
0
 def get(self):
     streams = Stream.query().fetch()
     sorted_streams = sorted(streams,
                             key=lambda s: len(s.recent_views),
                             reverse=True)
     config = TrendingEmailConfig.query().fetch(1)[0]
     if not config:
         config = TrendingEmailConfig()
     template_values = {
         'streams': sorted_streams[:3],
         'email_mode': config.mode
     }
     template = JINJA_ENVIRONMENT.get_template('views/trending.html')
     self.response.headers['Content-Type'] = 'text/html; charset=utf-8'
     self.response.write(template.render(template_values))
Ejemplo n.º 2
0
 def get(self):
     MINUTES_PER_TICK = 5
     TICKS_PER_HOUR = 60 / MINUTES_PER_TICK
     TICKS_PER_DAY = 24 * TICKS_PER_HOUR
     config = TrendingEmailConfig.query().fetch(1)[0]
     if config:
         if config.mode == "none":
             config.ticks = 0
         elif config.mode == "minutes":
             config.ticks = 0
         elif config.mode == "hourly":
             config.ticks += 1
             config.ticks = config.ticks % TICKS_PER_HOUR
         elif config.mode == "daily":
             config.ticks += 1
             config.ticks = config.ticks % TICKS_PER_DAY
         if config.mode != "none" and config.ticks == 0:
             sender_address = 'Matthew Halpern <*****@*****.**>'
             subject = '[mh33338-conexus] Trending'
             streams = Stream.query().fetch()
             sorted_streams = sorted(streams, key=lambda s: len(s.recent_views),
                             reverse=True)
             body = "Trending Streams:\n\n"
             for idx, stream in enumerate(sorted_streams[:3]):
                 body += "%d. %s %s" % (idx + 1, stream.name,
                                        "http://mh33338-connexus.appspot" +
                                        ".com/view?stream_name=%s" %
                                        stream.name + "&increment=1\n")
             mail.send_mail(sender_address, "*****@*****.**", subject,
                            body)
Ejemplo n.º 3
0
 def get(self):
     MINUTES_PER_TICK = 5
     TICKS_PER_HOUR = 60 / MINUTES_PER_TICK
     TICKS_PER_DAY = 24 * TICKS_PER_HOUR
     config = TrendingEmailConfig.query().fetch(1)[0]
     if config:
         if config.mode == "none":
             config.ticks = 0
         elif config.mode == "minutes":
             config.ticks = 0
         elif config.mode == "hourly":
             config.ticks += 1
             config.ticks = config.ticks % TICKS_PER_HOUR
         elif config.mode == "daily":
             config.ticks += 1
             config.ticks = config.ticks % TICKS_PER_DAY
         if config.mode != "none" and config.ticks == 0:
             sender_address = 'Matthew Halpern <*****@*****.**>'
             subject = '[mh33338-conexus] Trending'
             streams = Stream.query().fetch()
             sorted_streams = sorted(streams,
                                     key=lambda s: len(s.recent_views),
                                     reverse=True)
             body = "Trending Streams:\n\n"
             for idx, stream in enumerate(sorted_streams[:3]):
                 body += "%d. %s %s" % (idx + 1, stream.name,
                                        "http://mh33338-connexus.appspot" +
                                        ".com/view?stream_name=%s" %
                                        stream.name + "&increment=1\n")
             mail.send_mail(sender_address, "*****@*****.**", subject,
                            body)
Ejemplo n.º 4
0
 def post(self):
     config = TrendingEmailConfig.query().fetch(1)[0]
     if not config:
         config = TrendingEmailConfig()
     if self.request.get("none"):
         config.mode = "none"
     elif self.request.get("minutes"):
         config.mode = "minutes"
     elif self.request.get("hourly"):
         config.mode = "hourly"
     elif self.request.get("daily"):
         config.mode = "daily"
     config.put()
     self.redirect('/trending')
Ejemplo n.º 5
0
 def post(self):
     config = TrendingEmailConfig.query().fetch(1)[0]
     if not config:
         config = TrendingEmailConfig()
     if self.request.get("none"):
         config.mode = "none"
     elif self.request.get("minutes"):
         config.mode = "minutes"
     elif self.request.get("hourly"):
         config.mode = "hourly"
     elif self.request.get("daily"):
         config.mode = "daily"
     config.put()
     self.redirect('/trending')
Ejemplo n.º 6
0
 def get(self):
     streams = Stream.query().fetch()
     sorted_streams = sorted(streams, key=lambda s: len(s.recent_views),
                             reverse=True)
     config = TrendingEmailConfig.query().fetch(1)[0]
     if not config:
         config = TrendingEmailConfig()
     template_values = {
         'streams': sorted_streams[:3],
         'email_mode': config.mode
     }
     template = JINJA_ENVIRONMENT.get_template('views/trending.html')
     self.response.headers['Content-Type'] = 'text/html; charset=utf-8'
     self.response.write(template.render(template_values))