Beispiel #1
0
 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)
Beispiel #2
0
 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)
Beispiel #3
0
    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
Beispiel #4
0
    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
Beispiel #5
0
    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
Beispiel #6
0
    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
Beispiel #7
0
 def render(self, date, date2=None):
     return smartertimesince(date, date2)
Beispiel #8
0
 def render(self, date, date2=None):
     return smartertimesince(date, date2)
Beispiel #9
0
 def render(self, date, date2=None):
     assert date
     if date2 is None:
         date2 = datetime.datetime.utcnow()
     return smartertimesince(date, date2)
Beispiel #10
0
 def render(self, date, date2=None):
     assert date
     if date2 is None:
         date2 = datetime.datetime.utcnow()
     return smartertimesince(date, date2)