コード例 #1
0
    def post(self):
        # We set the same parent key on the 'Greeting' to ensure each
        # Greeting is in the same entity group. Queries across the
        # single entity group will be consistent. However, the write
        # rate to a single entity group should be limited to
        # ~1/second.
        name = self.request.get('name')
        stream = Stream(name=name,
                        created_by_user_id=users.get_current_user().user_id())
        stream.put()

        self.response.out.write("ok")
コード例 #2
0
ファイル: controllers.py プロジェクト: azizclass/apt-mh3338
 def post(self):
     user = users.get_current_user()
     if not user:
         self.login_page()
     else:
         name = self.request.get('name')
         message = self.request.get('message')
         key = ndb.Key('Stream', name)
         stream = key.get()
         if stream:
             self.template(
                 'views/error.html',
                 error='Error: you tried to create a new stream ' +
                 'whose name is the same as an existing ' +
                 'stream; operation did not complete')
         else:
             subscribers = filter(
                 lambda s: s != '',
                 map(
                     unicode.lower,
                     map(unicode.strip,
                         self.request.get('subscribers').split(','))))
             message = self.request.get('message')
             tags = filter(
                 lambda t: t != '',
                 map(unicode.strip,
                     self.request.get('tags').split(',')))
             cover_image_url = self.request.get('cover_image_url')
             cover_image_url = cover_image_url if cover_image_url \
                 else 'http://placehold.it/190x190.png'
             stream = Stream(id=name,
                             name=name,
                             owner=user.email().lower(),
                             subscribers=subscribers,
                             tags=tags,
                             cover_image_url=cover_image_url,
                             images=[])
             body = ('You are now subscribed to the %s stream:\n' +
                     'http://mh33338-connexus.appspot.com/view?' +
                     'stream_name=%s&increment=1\n%s' % (name, message))
             sender_address = 'Matthew Halpern <*****@*****.**>'
             subject = '[mh33338-conexus] Subscription to %s Stream' % name
             stream.put()
             for subscriber in subscribers:
                 mail.send_mail(sender_address, subscriber, subject, body)
             self.redirect('/manage')
コード例 #3
0
def create_stream(pigeon_id, name, cover_url, sub_list, tag_list):
    pigeon_key = ndb.Key(Pigeon, pigeon_id)
    stream = Stream()
    stream.key = ndb.Key(Stream, name, parent=pigeon_key)
    stream.name = name
    stream.cover_url = cover_url
    stream.tags = tag_list
    stream.put()
    for pid in sub_list:
        if pid != pigeon_id:
            if not pigeon_exists(pid):
                create_pigeon(pid)
            suber_key = ndb.Key(Pigeon, pid)
            sub = Subscription()
            sub.Pigeon_key = suber_key
            sub.Stream_key = stream.key
            sub.put()
    return
コード例 #4
0
ファイル: controllers.py プロジェクト: azizclass/apt-mh3338
 def post(self):
     user = users.get_current_user()
     if not user:
         self.login_page()
     else:
         name = self.request.get('name')
         message = self.request.get('message')
         key = ndb.Key('Stream', name)
         stream = key.get()
         if stream:
             self.template('views/error.html',
                           error='Error: you tried to create a new stream ' +
                                  'whose name is the same as an existing ' +
                                  'stream; operation did not complete')
         else:
             subscribers = filter(lambda s: s != '', map(unicode.lower,
                                  map(unicode.strip,
                                  self.request.get('subscribers').split(','))
                                  ))
             message = self.request.get('message')
             tags = filter(lambda t: t != '', map(unicode.strip,
                           self.request.get('tags').split(',')))
             cover_image_url = self.request.get('cover_image_url')
             cover_image_url = cover_image_url if cover_image_url \
                 else 'http://placehold.it/190x190.png'
             stream = Stream(id=name, name=name, owner=user.email().lower(),
                             subscribers=subscribers, tags=tags,
                             cover_image_url=cover_image_url,
                             images=[])
             body = ('You are now subscribed to the %s stream:\n' +
                     'http://mh33338-connexus.appspot.com/view?' +
                     'stream_name=%s&increment=1\n%s' % (name, message))
             sender_address = 'Matthew Halpern <*****@*****.**>'
             subject = '[mh33338-conexus] Subscription to %s Stream' % name
             stream.put()
             for subscriber in subscribers:
                 mail.send_mail(sender_address, subscriber, subject, body)
             self.redirect('/manage')