Esempio n. 1
0
  def post(self, channelid):
    """Handles a POST to the /channel/{id}/subscriber/ resource
    which is to add a subscriber to the channel
    """
#   Get channel first
    channel = Channel.get_by_id(int(channelid))
    if channel is None:
      self.response.out.write("Channel %s not found" % (channelid, ))
      self.response.set_status(404)
      return

#   Add subscriber
    name = self.request.get('name').rstrip('\n')
    resource = self.request.get('resource').rstrip('\n')
    subscriber = Subscriber()
    subscriber.channel = channel
    subscriber.name = name
    subscriber.resource = resource
    subscriber.put()
#   Not sure I like this ... re-put()ing
    if len(subscriber.name) == 0:
      subscriber.name = 'subscriber-' + str(subscriber.key().id())
      subscriber.put()

#   If we've got here from a web form, redirect the user to the 
#   channel subscriber resource, otherwise return the 201
    if self.request.get('subscribersubmissionform'):
      self.redirect(self.request.path_info)
    else:
      self.response.headers['Location'] = self.request.url + str(subscriber.key().id()) + '/'
      self.response.set_status(201)
Esempio n. 2
0
File: app.py Progetto: xeb/flowdle
    def get(self, urlparam):
        cmn = Common()
        user = users.get_current_user()

        # create or get a subscriber...
        query = db.GqlQuery("SELECT * FROM Subscriber WHERE who = :1", user)
        numUsers = query.count(1)
        if numUsers == 0:
            sub = Subscriber(who=user)
            sub.put()
        cmn.showMain(self, urlparam)
Esempio n. 3
0
  def post(self):
    device_id = self.request.get('device_id')
    device = Device.get_by_key_name(device_id)
    if not device:  
      self.response.out.write('<p>Device does not exist</p>')
      return

    email = self.request.get('email')
    subscriber = Subscriber(device=device, email=email)
    subscriber.trigger_state = "Ready"
    subscriber.put()

    self.response.out.write('<p>Subscribed</p>')
Esempio n. 4
0
def addSubscriber(request):
	form = SubscriberForm(request.POST)
	if form.is_valid():
		subscriber = Subscriber(email=form.clean_data['email'])
		subscriber.put()
		message = mail.EmailMessage(sender=u"DunTeam <*****@*****.**>", subject=u"Дагасанд баярлалаа")
		message.to = subscriber.email
		message.body = u"Баярлалаа\nТа бидний шинэ мэдээг дагахаар амжилттай бүртгүүллээ.\nDunTeam"
		message.send()
	else:
		return render_to_response('index.html', {'form': form })

	return HttpResponseRedirect('/')
Esempio n. 5
0
def add_subcriber(data, instance_id=""):
    if instance_id:
        subscriber = Subscriber.get_by_id(str(instance_id))
    else:
        subscriber = Subscriber()

    if data["name"]:
        subscriber.name = data["name"]
    if data["email"]:
        subscriber.email = data["email"]
    if data["fb_id"]:
        subscriber.fb_id = data["fb_id"]
    if data["distribution"]:
        subscriber.distribution = ndb.Key("Distribution", data["distribution"])

    subscriber.put()
    return subscriber
Esempio n. 6
0
    def post(self):
        device_id = self.request.get("device_id")
        device = Device.get_by_key_name(device_id)
        if not device:
            logging.info("Unknown device")
            self.redirect("/")
            return

        email = self.request.get("email")
        if not match(r"[^@]+@[^@]+\.[^@]+", email):
            self.response.out.write("Invalid email")
            return

        subscriber = device.subscriber_set.filter("email =", email).filter("trigger_state =", "ready").get()
        if subscriber:
            self.response.out.write("Subscribed")
            return

        subscriber = Subscriber(device=device, email=email)
        subscriber.trigger_state = "ready"
        subscriber.put()

        self.response.out.write("Subscribed")
Esempio n. 7
0
    def post(self):
        device_id = self.request.get('device_id')
        device = Device.get_by_key_name(device_id)
        if not device:
            logging.info('Unknown device')
            self.redirect('/')
            return

        email = self.request.get('email')
        if not match(r"[^@]+@[^@]+\.[^@]+", email):
            self.response.out.write('Invalid email')
            return

        subscriber = device.subscriber_set.filter('email =', email).filter(
            'trigger_state =', "ready").get()
        if subscriber:
            self.response.out.write('Subscribed')
            return

        subscriber = Subscriber(device=device, email=email)
        subscriber.trigger_state = "ready"
        subscriber.put()

        self.response.out.write('Subscribed')