def redirect_to_amazon(request, show_id): show = Show.get_by_id(int(show_id)) if show is None: raise Http404 if not show.amazon_url: raise Http404 return HttpResponseRedirect(show.amazon_url)
def subscribe(request): form = SubscriptionForm(request.POST) if not form.is_valid(): return index(request, form=form) editing = False if form.cleaned_data["subkey"] == "": subkey = Subscription.generate_subkey() subscription = Subscription(last_changed=datetime.datetime.now(), subkey=subkey) else: editing = True subkey = form.cleaned_data["subkey"] subscription = form._subscription sub_settings = {} subscription.set_settings(sub_settings) try: selected_shows = Show.get_by_id(map(int, form.cleaned_data["shows"])) except ValueError: return index(request, form=form) old_shows = [] if editing: old_shows = subscription.get_shows() subscription.reset_cache(selected_shows) subscription.put() # stay here, need key for setting shows! if editing: subscription.set_shows(selected_shows, old_shows=old_shows) else: subscription.set_shows(selected_shows) response = HttpResponseRedirect(subscription.get_absolute_url()) response.set_cookie("subkey", subkey, max_age=31536000) return response