Ejemplo n.º 1
0
    def get(self):
        user = users.get_current_user()
        print 'user is ', user
        subscribed_streams = []
        qry = StreamInfo.query_stream(ndb.Key('User', str(user))).fetch()
        if len(qry) > 0:
            for key in qry[0].subscribed:
                subscribed_streams.append(key.get())

        print subscribed_streams
        template_values = {
            'nav_links': USER_NAV_LINKS,
            'path': os.path.basename(self.request.path).capitalize(),
            'user_id': users.get_current_user(),
            'user_streams': Stream.query(Stream.owner == str(user)).fetch(),
            'subscribed_streams': subscribed_streams,
            'usr': user,
        }

        # all_streams = Stream.query(Stream.stream_id != '').fetch()
        # for s in all_streams:
        #     print s.stream_id
        #
        # print 'length of user_stream', len(template_values['user_streams'])
        # print 'length of subscribed streams', len(template_values['subscribed_streams'])

        template = JINJA_ENVIRONMENT.get_template('manage.html')
        self.response.write(template.render(template_values))
        print "in manage page, "
    def get(self):
        user = users.get_current_user()
        stream_id = self.request.get('stream_id')
        print 'stream id is', stream_id
        info = {'stream_id': self.request.get('stream_id')}
        info = urllib.urlencode(info)
        upload_url = blobstore.create_upload_url('/upload_image?'+info)

#       we should use the actual user
        user_streams = Stream.query(Stream.stream_id == stream_id).fetch()
        blob_key_list = []
        image_url = [""] * 3

        stream = user_streams[0]
        owner = stream.owner
        print 'stream id is', stream.stream_id
        if owner != str(user):
            stream.views += 1
            while len(stream.view_queue) > 0 and (datetime.now() - stream.view_queue[0]).seconds > 3600:
                del stream.view_queue[0]
            stream.view_queue.append(datetime.now())
            stream.put()
        blob_key_list = stream.blob_key     #get blob_key_list should be after stream.put()

        counter = 0
        has_image = True
        if len(blob_key_list) > 0:
            for blob_key in blob_key_list:
                image_url[counter] = images.get_serving_url(blob_key)
                counter += 1
                if counter == 3:
                    break;

        #calculate hasSub
        qry = StreamInfo.query_stream(ndb.Key('User', str(user))).fetch()
        has_sub = False
        if len(qry) == 0:
            has_sub = False
        else:
            for key in qry[0].subscribed:
                if key.get().stream_id == stream_id:
                    has_sub = True
                    break

        template_values = {
            'nav_links': USER_NAV_LINKS,
            'path': os.path.basename(self.request.path).capitalize(),
            'owner': owner,         #the owner of the stream
            'user': str(users.get_current_user()),   #current user
            'upload_url': upload_url,
            'image_url': image_url,
            'has_image': has_image,
            'hasSub': has_sub,
            'stream_id': stream_id,
        }

        print "owner is ", template_values['owner']
        print "user is ", template_values['user']
        template = JINJA_ENVIRONMENT.get_template('viewstream.html')
        self.response.write(template.render(template_values))
Ejemplo n.º 3
0
    def get(self):
        user = users.get_current_user()
        print 'user is ', user
        subscribed_streams = []
        qry = StreamInfo.query_stream(ndb.Key('User', str(user))).fetch()
        if len(qry) > 0:
            for key in qry[0].subscribed:
                subscribed_streams.append(key.get())

        print subscribed_streams
        template_values = {
            'nav_links': USER_NAV_LINKS,
            'path': os.path.basename(self.request.path).capitalize(),
            'user_id': users.get_current_user(),
            'user_streams': Stream.query(Stream.owner == str(user)).fetch(),
            'subscribed_streams': subscribed_streams,
            'usr': user,
        }

        # all_streams = Stream.query(Stream.stream_id != '').fetch()
        # for s in all_streams:
        #     print s.stream_id
        #
        # print 'length of user_stream', len(template_values['user_streams'])
        # print 'length of subscribed streams', len(template_values['subscribed_streams'])

        template = JINJA_ENVIRONMENT.get_template('manage.html')
        self.response.write(template.render(template_values))
        print "in manage page, "
Ejemplo n.º 4
0
    def get(self):
        user = users.get_current_user()
        stream_id = self.request.get("stream_id")
        print "stream id is", stream_id
        info = {"stream_id": self.request.get("stream_id")}
        info = urllib.urlencode(info)
        upload_url = blobstore.create_upload_url("/upload_image?" + info)

        #       we should use the actual user
        user_streams = Stream.query(Stream.stream_id == stream_id).fetch()
        blob_key_list = []
        image_url = [""] * 3

        stream = user_streams[0]
        owner = stream.owner
        print "stream id is", stream.stream_id
        if owner != str(user):
            stream.views += 1
            while len(stream.view_queue) > 0 and (datetime.now() - stream.view_queue[0]).seconds > 3600:
                del stream.view_queue[0]
            stream.view_queue.append(datetime.now())
            stream.put()
        blob_key_list = stream.blob_key  # get blob_key_list should be after stream.put()

        counter = 0
        has_image = True
        if len(blob_key_list) > 0:
            for blob_key in blob_key_list:
                image_url[counter] = images.get_serving_url(blob_key)
                counter += 1
                if counter == 3:
                    break

        # calculate hasSub
        qry = StreamInfo.query_stream(ndb.Key("User", str(user))).fetch()
        has_sub = False
        if len(qry) == 0:
            has_sub = False
        else:
            for key in qry[0].subscribed:
                if (not key) and key.get().stream_id == stream_id:
                    has_sub = True
                    break

        template_values = {
            "nav_links": USER_NAV_LINKS,
            "path": os.path.basename(self.request.path).capitalize(),
            "owner": owner,  # the owner of the stream
            "user": str(users.get_current_user()),  # current user
            "upload_url": upload_url,
            "image_url": image_url,
            "has_image": has_image,
            "hasSub": has_sub,
            "stream_id": stream_id,
        }

        print "owner is ", template_values["owner"]
        print "user is ", template_values["user"]
        template = JINJA_ENVIRONMENT.get_template("viewstream.html")
        self.response.write(template.render(template_values))
Ejemplo n.º 5
0
    def get(self):
        user = users.get_current_user()
        stream_id = self.request.get('stream_id')
        print 'stream id is', stream_id
        info = {'stream_id': self.request.get('stream_id')}
        info = urllib.urlencode(info)
#       we should use the actual user
        user_streams = Stream.query(Stream.stream_id == stream_id).fetch()

        stream = user_streams[0]
        owner = stream.owner
        print 'stream id is', stream.stream_id
        if owner != str(user):
            stream.views += 1
            stream.view_queue.append(datetime.now())
            stream.put()

        has_image = True
        image_url = []
        image_query = db.GqlQuery("SELECT *FROM Image WHERE ANCESTOR IS :1 ORDER BY upload_date DESC",
                                  db.Key.from_path('Stream', stream.stream_id))

        # for image in image_query[0: len(stream.image_list)]:
        for image in image_query[0:stream.num_images]:
            d = dict()
            d["url"] = "image?image_id=" + str(image.key())
            d["lat"] = str(image.geo_loc.lat)
            d["long"] = str(image.geo_loc.lon)
            image_url.append(d)

        #calculate hasSub
        qry = StreamInfo.query_stream(ndb.Key('User', str(user))).fetch()
        has_sub = False
        if len(qry) == 0:
            has_sub = False
        else:
            for key in qry[0].subscribed:
                if key.get().stream_id == stream_id:
                    has_sub = True
                    break


        template_values = {
            'nav_links': USER_NAV_LINKS,
            'path': os.path.basename(self.request.path).capitalize(),
            'owner': owner,         #the owner of the stream
            'user': str(users.get_current_user()),   #current user
            'image_url': image_url,
            'has_image': has_image,
            'hasSub': has_sub,
            'stream_id': stream_id,
        }

        print "owner is ", template_values['owner']
        print "user is ", template_values['user']
        template = JINJA_ENVIRONMENT.get_template('viewMoreWithMap.html')
        self.response.write(template.render(template_values))
Ejemplo n.º 6
0
    def get(self):
        user = users.get_current_user()
        stream_id = self.request.get('stream_id')
        print 'stream id is', stream_id
        info = {'stream_id': self.request.get('stream_id')}
        info = urllib.urlencode(info)
        #       we should use the actual user
        user_streams = Stream.query(Stream.stream_id == stream_id).fetch()

        stream = user_streams[0]
        owner = stream.owner
        print 'stream id is', stream.stream_id
        if owner != str(user):
            stream.views += 1
            stream.view_queue.append(datetime.now())
            stream.put()

        has_image = True
        image_url = []
        image_query = db.GqlQuery(
            "SELECT *FROM Image WHERE ANCESTOR IS :1 ORDER BY upload_date DESC",
            db.Key.from_path('Stream', stream.stream_id))

        # for image in image_query[0: len(stream.image_list)]:
        for image in image_query[0:stream.num_images]:
            d = dict()
            d["url"] = "image?image_id=" + str(image.key())
            d["lat"] = str(image.geo_loc.lat)
            d["long"] = str(image.geo_loc.lon)
            image_url.append(d)

        #calculate hasSub
        qry = StreamInfo.query_stream(ndb.Key('User', str(user))).fetch()
        has_sub = False
        if len(qry) == 0:
            has_sub = False
        else:
            for key in qry[0].subscribed:
                if key.get().stream_id == stream_id:
                    has_sub = True
                    break

        template_values = {
            'nav_links': USER_NAV_LINKS,
            'path': os.path.basename(self.request.path).capitalize(),
            'owner': owner,  #the owner of the stream
            'user': str(users.get_current_user()),  #current user
            'image_url': image_url,
            'has_image': has_image,
            'hasSub': has_sub,
            'stream_id': stream_id,
        }

        print "owner is ", template_values['owner']
        print "user is ", template_values['user']
        template = JINJA_ENVIRONMENT.get_template('viewMoreWithMap.html')
        self.response.write(template.render(template_values))
Ejemplo n.º 7
0
    def post(self):
        print "in unsubscribe handler"
        data = json.loads(self.request.body)
        user = data["user"]
        ancestor_key = ndb.Key("User", user)
        stream_info = StreamInfo.query_stream(ancestor_key).fetch()
        print stream_info[0].subscribed
        for stream_id in data["stream_id"]:
            for key in stream_info[0].subscribed:
                print key.get().stream_id, stream_id
                if key.get().stream_id == stream_id:
                    stream_info[0].subscribed.remove(key)
                    stream_info[0].put()  # remember to put it back in ndbstore
                    break

        self.redirect("/manage")
Ejemplo n.º 8
0
    def post(self):
        print 'in unsubscribe handler'
        data = json.loads(self.request.body)
        user = data['user']
        ancestor_key = ndb.Key('User', user)
        stream_info = StreamInfo.query_stream(ancestor_key).fetch()
        print stream_info[0].subscribed
        print data['stream_id']
        for stream_id in data['stream_id']:
            for key in stream_info[0].subscribed:
                print "here is ", key.get().stream_id, stream_id
                if key.get().stream_id == stream_id:
                    stream_info[0].subscribed.remove(key)
                    stream_info[0].put()  #remember to put it back in ndbstore
                    break

        self.redirect('/manage')
Ejemplo n.º 9
0
    def post(self):
        print 'in unsubscribe handler'
        data = json.loads(self.request.body)
        user = data['user']
        ancestor_key = ndb.Key('User', user)
        stream_info = StreamInfo.query_stream(ancestor_key).fetch()
        print stream_info[0].subscribed
        print data['stream_id']
        for stream_id in data['stream_id']:
            for key in stream_info[0].subscribed:
                print "here is ", key.get().stream_id, stream_id
                if key.get().stream_id == stream_id:
                    stream_info[0].subscribed.remove(key)
                    stream_info[0].put()       #remember to put it back in ndbstore
                    break

        self.redirect('/manage')
Ejemplo n.º 10
0
    def get(self):
        user = self.request.get('user_id')
        stream_id = self.request.get('stream_id')
        print 'stream id is', stream_id
#       we should use the actual user
        user_streams = Stream.query(Stream.stream_id == stream_id).fetch()

        stream = user_streams[0]
        owner = stream.owner
        print 'stream id is', stream.stream_id
        my_own = True
        if owner != str(user):
            my_own = False
            stream.views += 1
            stream.view_queue.append(datetime.now())
            stream.put()

        image_url = []
        image_query = db.GqlQuery("SELECT *FROM Image WHERE ANCESTOR IS :1 ORDER BY upload_date DESC",
                                  db.Key.from_path('Stream', stream.stream_id))

        # for image in image_query[0: len(stream.image_list)]:
        for image in image_query[0:stream.num_images]:
            d = dict()
            d["url"] = SERVICES_URL +"image?image_id=" + str(image.key())
            d["lat"] = str(image.geo_loc.lat)
            d["long"] = str(image.geo_loc.lon)
            image_url.append(d)

        #calculate hasSub
        qry = StreamInfo.query_stream(ndb.Key('User', str(user))).fetch()
        has_sub = False
        if len(qry) == 0:
            has_sub = False
        else:
            for key in qry[0].subscribed:
                if key.get().stream_id == stream_id:
                    has_sub = True
                    break

        dict_passed = {'displayImages': image_url, 'myOwn': my_own, 'hasSub': has_sub}
        json_obj = json.dumps(dict_passed, sort_keys=True, indent=4, separators=(',', ': '))
        self.response.write(json_obj)
Ejemplo n.º 11
0
    def post(self):
        data = json.loads(self.request.body)
        user = data['user']
        stream_id = data['stream_id']
        print stream_id, 'hello'
        qry = Stream.query(Stream.stream_id == stream_id).fetch()
        print 'lenght of qry is ', len(qry)

        ancestor_key = ndb.Key('User', user)
        stream_info = StreamInfo.query_stream(ancestor_key).fetch()
        if len(stream_info) == 0:
            print 'create a new stream_info'
            new_stream_info = StreamInfo(parent=ndb.Key('User', user))
            new_stream_info.subscribed.insert(0, qry[0].key)
            new_stream_info.put()
        else:
            new_stream_info = stream_info[0]
            new_stream_info.subscribed.insert(0, qry[0].key)
            new_stream_info.put()

        print 'finished'
        self.redirect('/manage')
Ejemplo n.º 12
0
    def post(self):
        data = json.loads(self.request.body)
        user = data['user']
        stream_id = data['stream_id']
        print stream_id, 'hello'
        qry = Stream.query(Stream.stream_id == stream_id).fetch()
        print 'lenght of qry is ', len(qry)

        ancestor_key = ndb.Key('User', user)
        stream_info = StreamInfo.query_stream(ancestor_key).fetch()
        if len(stream_info) == 0:
            print 'create a new stream_info'
            new_stream_info = StreamInfo(parent=ndb.Key('User', user))
            new_stream_info.subscribed.insert(0, qry[0].key)
            new_stream_info.put()
        else:
            new_stream_info = stream_info[0]
            new_stream_info.subscribed.insert(0, qry[0].key)
            new_stream_info.put()

        print 'finished'
        self.redirect('/manage')
Ejemplo n.º 13
0
    def post(self):
        data = json.loads(self.request.body)
        user = data["user"]
        stream_id = data["stream_id"]
        print stream_id, "hello"
        qry = Stream.query(Stream.stream_id == stream_id).fetch()
        print "lenght of qry is ", len(qry)

        ancestor_key = ndb.Key("User", user)
        stream_info = StreamInfo.query_stream(ancestor_key).fetch()
        if len(stream_info) == 0:
            print "create a new stream_info"
            new_stream_info = StreamInfo(parent=ndb.Key("User", user))
            new_stream_info.subscribed.insert(0, qry[0].key)
            new_stream_info.put()
        else:
            new_stream_info = stream_info[0]
            new_stream_info.subscribed.insert(0, qry[0].key)
            new_stream_info.put()

        print "finished"
        self.redirect("/manage")
Ejemplo n.º 14
0
    def get(self):
        user = users.get_current_user()
        stream_id = self.request.get('stream_id')
        print 'stream id is', stream_id
        info = {'stream_id': self.request.get('stream_id')}
        info = urllib.urlencode(info)

        #       we should use the actual user
        user_streams = Stream.query(Stream.stream_id == stream_id).fetch()
        image_url = [""] * 3
        hidden_image = []

        stream = user_streams[0]
        owner = stream.owner
        print 'stream id is', stream.stream_id
        if owner != str(user):
            stream.views += 1
            while len(stream.view_queue) > 0 and (
                    datetime.now() - stream.view_queue[0]).seconds > 3600:
                del stream.view_queue[0]
            stream.view_queue.append(datetime.now())
            stream.put()

        #get first three pictures
        counter = 0
        has_image = True
        has_hidden = len(hidden_image) > 0
        image_query = db.GqlQuery(
            "SELECT *FROM Image WHERE ANCESTOR IS :1 ORDER BY upload_date DESC",
            db.Key.from_path('Stream', stream.stream_id))

        logging.debug("type of gqlquery is %s", type(image_query))
        maxdate = None
        mindate = None
        for image in image_query[0:stream.num_images]:
            d = dict()
            d["url"] = "image?image_id=" + str(image.key())
            d["lat"] = str(image.geo_loc.lat)
            d["long"] = str(image.geo_loc.lon)
            date = str.split(str(image.upload_date))
            dateint = int(date[0].replace("-", ""))
            d["time"] = dateint
            if maxdate == None or dateint > maxdate:
                maxdate = dateint
            if mindate == None or dateint < mindate:
                mindate = dateint
            if counter < 3:
                image_url[counter] = d
            else:
                hidden_image.append(d)
            counter += 1

        #calculate hasSub
        qry = StreamInfo.query_stream(ndb.Key('User', str(user))).fetch()
        has_sub = False
        if len(qry) == 0:
            has_sub = False
        else:
            for key in qry[0].subscribed:
                if key.get().stream_id == stream_id:
                    has_sub = True
                    break
        upload_url = ''
        template_values = {
            'nav_links': USER_NAV_LINKS,
            'path': os.path.basename(self.request.path).capitalize(),
            'owner': owner,  #the owner of the stream
            'user': str(users.get_current_user()),  #current user
            'upload_url': upload_url,
            'image_url': image_url,
            'hidden_image': hidden_image,
            'has_image': has_image,
            'hasSub': has_sub,
            'stream_id': stream_id,
            'has_hidden': has_hidden,
            'maxdate': maxdate,
            'mindate': mindate
        }

        print "owner is ", template_values['owner']
        print "user is ", template_values['user']
        template = JINJA_ENVIRONMENT.get_template('viewstream.html')
        self.response.write(template.render(template_values))
Ejemplo n.º 15
0
    def get(self):
        user = users.get_current_user()
        stream_id = self.request.get('stream_id')
        print 'stream id is', stream_id
        info = {'stream_id': self.request.get('stream_id')}
        info = urllib.urlencode(info)

        #       we should use the actual user
        user_streams = Stream.query(Stream.stream_id == stream_id).fetch()
        image_url = [""] * 3

        stream = user_streams[0]
        owner = stream.owner
        print 'stream id is', stream.stream_id
        if owner != str(user):
            stream.views += 1
            while len(stream.view_queue) > 0 and (
                    datetime.now() - stream.view_queue[0]).seconds > 3600:
                del stream.view_queue[0]
            stream.view_queue.append(datetime.now())
            stream.put()

        #get first three pictures
        counter = 0
        has_image = True
        image_query = db.GqlQuery(
            "SELECT *FROM Image WHERE ANCESTOR IS :1 ORDER BY upload_date DESC",
            db.Key.from_path('Stream', stream.stream_id))

        print "type of gqlquery", type(image_query)
        for image in image_query[0:stream.num_images]:
            image_url[counter] = "image?image_id=" + str(image.key())
            counter += 1
            if counter == 3:
                break

        print "image url is", image_url
        #calculate hasSub
        qry = StreamInfo.query_stream(ndb.Key('User', str(user))).fetch()
        has_sub = False
        if len(qry) == 0:
            has_sub = False
        else:
            for key in qry[0].subscribed:
                if key.get().stream_id == stream_id:
                    has_sub = True
                    break
        upload_url = ''
        template_values = {
            'nav_links': USER_NAV_LINKS,
            'path': os.path.basename(self.request.path).capitalize(),
            'owner': owner,  #the owner of the stream
            'user': str(users.get_current_user()),  #current user
            'upload_url': upload_url,
            'image_url': image_url,
            'has_image': has_image,
            'hasSub': has_sub,
            'stream_id': stream_id,
        }

        print "owner is ", template_values['owner']
        print "user is ", template_values['user']
        template = JINJA_ENVIRONMENT.get_template('viewstream.html')
        self.response.write(template.render(template_values))
Ejemplo n.º 16
0
    def get(self):
        user = users.get_current_user()
        stream_id = self.request.get('stream_id')
        print 'stream id is', stream_id
        info = {'stream_id': self.request.get('stream_id')}
        info = urllib.urlencode(info)

#       we should use the actual user
        user_streams = Stream.query(Stream.stream_id == stream_id).fetch()
        image_url = [""]*3
        hidden_image = []

        stream = user_streams[0]
        owner = stream.owner
        print 'stream id is', stream.stream_id
        if owner != str(user):
            stream.views += 1
            while len(stream.view_queue) > 0 and (datetime.now() - stream.view_queue[0]).seconds > 3600:
                del stream.view_queue[0]
            stream.view_queue.append(datetime.now())
            stream.put()

        #get first three pictures
        counter = 0
        has_image = True
        has_hidden = len(hidden_image)>0
        image_query = db.GqlQuery("SELECT *FROM Image WHERE ANCESTOR IS :1 ORDER BY upload_date DESC",
                                  db.Key.from_path('Stream', stream.stream_id))

        logging.debug("type of gqlquery is %s", type(image_query))
        maxdate = None
        mindate = None
        for image in image_query[0:stream.num_images]:
            d = dict()
            d["url"] = "image?image_id=" + str(image.key())
            d["lat"] = str(image.geo_loc.lat)
            d["long"] = str(image.geo_loc.lon)
            date = str.split(str(image.upload_date))
            dateint = int(date[0].replace("-",""))
            d["time"] = dateint
            if maxdate == None or dateint > maxdate:
                maxdate = dateint
            if mindate==None or dateint < mindate:
                mindate = dateint
            if counter < 3:
                image_url[counter] = d
            else:
                hidden_image.append(d)
            counter += 1

        #calculate hasSub
        qry = StreamInfo.query_stream(ndb.Key('User', str(user))).fetch()
        has_sub = False
        if len(qry) == 0:
            has_sub = False
        else:
            for key in qry[0].subscribed:
                if key.get().stream_id == stream_id:
                    has_sub = True
                    break
        upload_url = ''
        template_values = {
            'nav_links': USER_NAV_LINKS,
            'path': os.path.basename(self.request.path).capitalize(),
            'owner': owner,         #the owner of the stream
            'user': str(users.get_current_user()),   #current user
            'upload_url': upload_url,
            'image_url': image_url,
            'hidden_image':hidden_image,
            'has_image': has_image,
            'hasSub': has_sub,
            'stream_id': stream_id,
            'has_hidden':has_hidden,
            'maxdate':maxdate,
            'mindate':mindate
        }

        print "owner is ", template_values['owner']
        print "user is ", template_values['user']
        template = JINJA_ENVIRONMENT.get_template('viewstream.html')
        self.response.write(template.render(template_values))
Ejemplo n.º 17
0
    def get(self):
        user = users.get_current_user()
        stream_id = self.request.get('stream_id')
        print 'stream id is', stream_id
        info = {'stream_id': self.request.get('stream_id')}
        info = urllib.urlencode(info)

#       we should use the actual user
        user_streams = Stream.query(Stream.stream_id == stream_id).fetch()
        image_url = [""] * 3

        stream = user_streams[0]
        owner = stream.owner
        print 'stream id is', stream.stream_id
        if owner != str(user):
            stream.views += 1
            while len(stream.view_queue) > 0 and (datetime.now() - stream.view_queue[0]).seconds > 3600:
                del stream.view_queue[0]
            stream.view_queue.append(datetime.now())
            stream.put()

        #get first three pictures
        counter = 0
        has_image = True
        image_query = db.GqlQuery("SELECT *FROM Image WHERE ANCESTOR IS :1 ORDER BY upload_date DESC",
                                  db.Key.from_path('Stream', stream.stream_id))

        print "type of gqlquery", type(image_query)
        for image in image_query[0:stream.num_images]:
            image_url[counter] = "image?image_id=" + str(image.key())
            counter += 1
            if counter == 3:
                break

        print "image url is", image_url
        #calculate hasSub
        qry = StreamInfo.query_stream(ndb.Key('User', str(user))).fetch()
        has_sub = False
        if len(qry) == 0:
            has_sub = False
        else:
            for key in qry[0].subscribed:
                if key.get().stream_id == stream_id:
                    has_sub = True
                    break
        upload_url = ''
        template_values = {
            'nav_links': USER_NAV_LINKS,
            'path': os.path.basename(self.request.path).capitalize(),
            'owner': owner,         #the owner of the stream
            'user': str(users.get_current_user()),   #current user
            'upload_url': upload_url,
            'image_url': image_url,
            'has_image': has_image,
            'hasSub': has_sub,
            'stream_id': stream_id,
        }

        print "owner is ", template_values['owner']
        print "user is ", template_values['user']
        template = JINJA_ENVIRONMENT.get_template('viewstream.html')
        self.response.write(template.render(template_values))