def render(self, event): add_ago = smartertimesince(event.add_date) user_name = "" if event.user.first_name: user_name = event.user.first_name elif event.user.email: user_name = event.user.email return self.render_string("modules/eventpreview.html", event=event, add_ago=add_ago, user_name=user_name)
def render(self, event): add_ago = smartertimesince(event.add_date) user_name = '' if event.user.first_name: user_name = event.user.first_name elif event.user.email: user_name = event.user.email return self.render_string("modules/eventpreview.html", event=event, add_ago=add_ago, user_name=user_name)
def _summorize_event(self, event): """return a one-line summary of the event""" user_settings = self.get_user_settings(event.user) ampm_format = user_settings and user_settings.get("ampm_format", False) or False line = u"" if event.all_day: line += u"(All day) " else: duration = smartertimesince(event.start, event.end) line += u"(%s, %s) " % (format_time_ampm(event.start), duration) return line + event.title
def _summorize_event(self, event): """return a one-line summary of the event""" user_settings = self.get_user_settings(event.user) ampm_format = user_settings and user_settings.get( 'ampm_format', False) or False line = u'' if event.all_day: line += u"(All day) " else: duration = smartertimesince(event.start, event.end) line += u"(%s, %s) " % (format_time_ampm(event.start), duration) return line + event.title
def get(self, cutoff_seconds=None, max_date=None, iteration=0): items = [] if cutoff_seconds is None: cutoff_seconds = self.CUTOFF_DELTA no_items = int(self.get_argument('items', self.MIN_ITEMS)) now = datetime.datetime.utcnow() cutoff = now - datetime.timedelta(seconds=cutoff_seconds) filter_ = {'add_date': {'$gt': cutoff}} if max_date: filter_['add_date']['$lt'] = max_date _categories = {} _locations = {} for model in (self.db.User, self.db.Feedback, self.db.Question, self.db.Award, self.db.HTMLDocument): objects = model.collection.find(filter_).sort('add_date', -1) for item in objects: items.append({ # send our dict of categories/locations to prevent excessive # lookups inside get_summary() 'summary': self.get_summary(item, model, categories=_categories, locations=_locations), 'url': self.get_url(item, model), 'ts': time.mktime(item['add_date'].timetuple()), 'date': smartertimesince(item['add_date'], now=now), }) items.sort(lambda x, y: cmp(y['ts'], x['ts'])) if len(items) > no_items: items = items[:no_items] if len(items) < no_items and iteration < self.MAX_ITERATIONS: items.extend( self.get(cutoff_seconds=cutoff_seconds + self.CUTOFF_DELTA, max_date=cutoff, iteration=iteration + 1)) if max_date is None: self.write({'items': items}) else: return items
def get(self, cutoff_seconds=None, max_date=None, iteration=0): items = [] if cutoff_seconds is None: cutoff_seconds = self.CUTOFF_DELTA no_items = int(self.get_argument('items', self.MIN_ITEMS)) now = datetime.datetime.utcnow() cutoff = now - datetime.timedelta(seconds=cutoff_seconds) filter_ = {'add_date': {'$gt': cutoff}} if max_date: filter_['add_date']['$lt'] = max_date _categories = {} _locations = {} for model in (self.db.User, self.db.Feedback, self.db.Question, self.db.Award, self.db.HTMLDocument): objects = model.collection.find(filter_).sort('add_date', -1) for item in objects: items.append({ # send our dict of categories/locations to prevent excessive # lookups inside get_summary() 'summary': self.get_summary(item, model, categories=_categories, locations=_locations), 'url': self.get_url(item, model), 'ts': time.mktime(item['add_date'].timetuple()), 'date': smartertimesince(item['add_date'], now=now), }) items.sort(lambda x, y: cmp(y['ts'], x['ts'])) if len(items) > no_items: items = items[:no_items] if len(items) < no_items and iteration < self.MAX_ITERATIONS: items.extend(self.get( cutoff_seconds=cutoff_seconds + self.CUTOFF_DELTA, max_date=cutoff, iteration=iteration + 1 )) if max_date is None: self.write({'items': items}) else: return items
def render(self, date, date2=None): return smartertimesince(date, date2)
def render(self, date, date2=None): assert date if date2 is None: date2 = datetime.datetime.utcnow() return smartertimesince(date, date2)