Exemple #1
0
def _guide(request, subscription, template="guide.html", public=False, extra_context=None):
    subscription.is_public = public
    sub_settings = subscription.get_settings()
    now = datetime.datetime.now()
    the_shows = subscription.get_shows()
    episodes = Episode.get_for_shows(the_shows, order="date")
    twentyfour_hours_ago = now - datetime.timedelta(hours=24)
    recently = []
    last_week = []
    upcoming = []
    for episode in episodes:
        if episode.date < twentyfour_hours_ago:
            last_week.append(episode)
        elif episode.date <= now:
            recently.append(episode)
        else:
            upcoming.append(episode)
    context = {"subscription":subscription, 
                "recently": recently, 
                "upcoming": upcoming, 
                "last_week": last_week}
    if extra_context is not None:
        context.update(extra_context)
    response = render_to_response(template, RequestContext(request, context))
    if not public:
        response.set_cookie("subkey", subscription.subkey)
    try:
        if subscription.check_beacon_status(now):
            subscription.put() # this put is not highly relevant
    except Exception, e:
        logging.warning(e)
Exemple #2
0
 def get_icalendar(self, public):
     """Nice hints from here: http://blog.thescoop.org/archives/2007/07/31/django-ical-and-vobject/"""
     the_shows = self.get_shows()
     # two_weeks_ago = now - datetime.timedelta(days=7)
     # five_hours = datetime.timedelta(hours=5)
     sub_settings = self.get_settings()
     episodes = Episode.get_for_shows(the_shows, order="date")
     cal = vobject.iCalendar()
     cal.add('method').value = 'PUBLISH'  # IE/Outlook needs this
     for episode in episodes:
         vevent = episode.create_event_details(cal)
     return cal.serialize()
Exemple #3
0
 def get_icalendar(self, public):
     """Nice hints from here: http://blog.thescoop.org/archives/2007/07/31/django-ical-and-vobject/"""
     the_shows = self.get_shows()
     # two_weeks_ago = now - datetime.timedelta(days=7)
     # five_hours = datetime.timedelta(hours=5)
     sub_settings = self.get_settings()
     episodes = Episode.get_for_shows(the_shows, order="date")
     cal = vobject.iCalendar()
     cal.add('method').value = 'PUBLISH'  # IE/Outlook needs this
     for episode in episodes:
         vevent = episode.create_event_details(cal)
     return cal.serialize()
Exemple #4
0
def _feed(request, subscription, template, public=False):
    now = datetime.datetime.now()
    sub_settings = subscription.get_settings()
    subscription.updated = now.strftime('%Y-%m-%dT%H:%M:%SZ')
    subscription.expires = (now + datetime.timedelta(days=1)).strftime('%Y-%m-%dT%H:%M:%SZ')
    the_shows = subscription.get_shows()
    wait_time = datetime.timedelta(hours=6)
    episodes = Episode.get_for_shows(the_shows, before=now, order="-date")
    items = []
    for episode in episodes:
        if now > episode.date + wait_time:
            pub_date = episode.date_local
            episode.pub_date = pub_date
            items.append(episode)
    return render_to_string(template, RequestContext(request, {"subscription":subscription, "items": items}))
Exemple #5
0
 def get_message_context(self):
     the_shows = self.get_shows()
     now = datetime.datetime.now()
     twentyfour_hours_ago = now - datetime.timedelta(hours=24)
     episodes = Episode.get_for_shows(the_shows, after=twentyfour_hours_ago, order="date")
     if not len(episodes):
         return None
     context = {"subscription": self, "items": []}
     for episode in episodes:
         if episode.date > now:
             self.next_airtime = episode.date.date()
             break
         context["items"].append(episode)
     if not context["items"]:
         return None
     return context
Exemple #6
0
 def get_message_context(self):
     the_shows = self.get_shows()
     now = datetime.datetime.now()
     twentyfour_hours_ago = now - datetime.timedelta(hours=24)
     episodes = Episode.get_for_shows(the_shows,
                                      after=twentyfour_hours_ago,
                                      order="date")
     if not len(episodes):
         return None
     context = {"subscription": self, "items": []}
     for episode in episodes:
         if episode.date > now:
             self.next_airtime = episode.date.date()
             break
         context["items"].append(episode)
     if not context["items"]:
         return None
     return context
Exemple #7
0
def _feed(request, subscription, template, public=False):
    now = datetime.datetime.now()
    sub_settings = subscription.get_settings()
    subscription.updated = now.strftime('%Y-%m-%dT%H:%M:%SZ')
    subscription.expires = (
        now + datetime.timedelta(days=1)).strftime('%Y-%m-%dT%H:%M:%SZ')
    the_shows = subscription.get_shows()
    wait_time = datetime.timedelta(hours=6)
    episodes = Episode.get_for_shows(the_shows, before=now, order="-date")
    items = []
    for episode in episodes:
        if now > episode.date + wait_time:
            pub_date = episode.date_local
            episode.pub_date = pub_date
            items.append(episode)
    return render_to_string(
        template,
        RequestContext(request, {
            "subscription": subscription,
            "items": items
        }))
Exemple #8
0
def _guide(request,
           subscription,
           template="guide.html",
           public=False,
           extra_context=None):
    subscription.is_public = public
    sub_settings = subscription.get_settings()
    now = datetime.datetime.now()
    the_shows = subscription.get_shows()
    episodes = Episode.get_for_shows(the_shows, order="date")
    twentyfour_hours_ago = now - datetime.timedelta(hours=24)
    recently = []
    last_week = []
    upcoming = []
    for episode in episodes:
        if episode.date < twentyfour_hours_ago:
            last_week.append(episode)
        elif episode.date <= now:
            recently.append(episode)
        else:
            upcoming.append(episode)
    context = {
        "subscription": subscription,
        "recently": recently,
        "upcoming": upcoming,
        "last_week": last_week
    }
    if extra_context is not None:
        context.update(extra_context)
    response = render_to_response(template, RequestContext(request, context))
    if not public:
        response.set_cookie("subkey", subscription.subkey)
    try:
        if subscription.check_beacon_status(now):
            subscription.put()  # this put is not highly relevant
    except Exception, e:
        logging.warning(e)