Beispiel #1
0
	def post(self):
		#which takes a stream definition and returns a status code
		statusCode = 0
		username = self.request.get('username')
		streamName = self.request.get('stream_name')
		sId = cStream.getStreamId(streamName)
		newSubscribers = self.request.get('new_subscriber_list')
		comment = self.request.get('message')
		newSubscribers = newSubscribers.split(',')
		urlCoverImage = self.request.get('url_cover_image')
		streamTags = self.request.get('stream_tags')
		streamTagsList = streamTags.split('#')
		streamTagsList.pop(0)

		streamList = []
		for stream in cStream.query():
			if stream.streamId == sId:
				statusCode = 1
			if stream.streamName == streamName:
				statusCode = 2
			streamList.append((stream.streamName, stream.creatorName))
		if statusCode == 0:
			streamKey = cStream.addNewStream(sId, streamName, username,urlCoverImage,streamTagsList)
			cUser.addUserStream(username, streamKey)
			CreateStream.addNewSubscribers(newSubscribers, streamKey)
			CreateStream.sendSubscriptionEmail(newSubscribers, streamName, username, comment)

		self.response.write(json.dumps({'status_code': statusCode, 'streams': streamList,}))
Beispiel #2
0
	def post(self):
		streamInfo = []
		for stream in tStream.query():
			streamInfo.append({'stream_id': stream.streamId, stream.streamId: (stream.streamName, stream.totalViews,stream.coverImageURL)})
		username = self.request.get('username')
		user = cUser.query(cUser.username == username).get()
		self.response.write(json.dumps({'stream_list': streamInfo, 'emailPreference': user.emailPreference}))
Beispiel #3
0
	def post(self):

		time = self.request.get('time')
		username = self.request.get('username')
		user = cUser.query(cUser.username == username).get()
		if user:
			user.emailPreference = int(time)
			user.put()
Beispiel #4
0
	def post(self):
		statusCode=0
		username = self.request.get('username')
		user = cUser.query(cUser.username == username).get()
		if not user:
			newUser = cUser(username = username,emailPreference=0)
			newUser.put()
			statusCode=1

		self.response.write(json.dumps({'status_code': statusCode}))
Beispiel #5
0
	def post(self):
		streamId = self.request.get('streamId')
		username = self.request.get('username')

		stream = cStream.query(cStream.streamId == int(streamId)).get()
		if stream:
			user = cUser.query(cUser.username == username).get()
			if user:
				if stream.key not in user.subbedStreams:
					user.subbedStreams.append(stream.key)
					user.put()
Beispiel #6
0
	def post(self):
		params = self.request.arguments()
		streamsIds = []
		for i in range(len(params)):
			streamsIds.append(self.request.get(params[i]))

		for i in range(len(streamsIds)):

			streamToDelete = cStream.query(cStream.streamId == int(streamsIds[i])).get()
			streamKeyToDelete = streamToDelete.key
			for user in cUser.query():
				if (streamKeyToDelete in user.subbedStreams):
					user.subbedStreams.remove(streamKeyToDelete)
					user.put()

			owner = cUser.query(cUser.username == streamToDelete.creatorName).get()
			owner.userStreams.remove(streamKeyToDelete)
			owner.put()
			cStream.deleteStream(int(streamsIds[i]))

			top_stream = tStream.query(tStream.streamId == int(streamsIds[i])).get()
			top_stream.key.delete()
Beispiel #7
0
	def post(self):
		#in which you take a user id and return two lists of streams
		logging.error("in management")
		uName = self.request.get('username')

		userStreams = []
		subbedStreams = []
		result = cUser.query(cUser.username == uName)
		user = result.get()
		if user:
			userStreams = Management.getStreamList(user.userStreams)
			subbedStreams = Management.getStreamList(user.subbedStreams)
		logging.info(subbedStreams)
		returnList = {'user_stream_list': userStreams, 'subbed_stream_list': subbedStreams}
		self.response.write(json.dumps(returnList))
Beispiel #8
0
	def post(self):
		streamInfo = []
		username = self.request.get('username')
		if not username == "":
			user = cUser.query(cUser.username == username).get()
			if user:
				for streamKey in user.subbedStreams:
					stream = streamKey.get()
					if stream:
						streamInfo.append({'stream_id': int(stream.streamId), stream.streamId: (stream.streamName, stream.coverImageURL, (stream.lastViewed - datetime.datetime.utcfromtimestamp(0)).total_seconds())})
				returnList = {'stream_list': streamInfo}
				self.response.write(json.dumps(returnList))
		else:
			for stream in cStream.query():
				streamInfo.append({'stream_id': int(stream.streamId), stream.streamId: (stream.streamName, stream.coverImageURL, (stream.lastViewed - datetime.datetime.utcfromtimestamp(0)).total_seconds())})
			self.response.write(json.dumps({'stream_list': streamInfo}))
Beispiel #9
0
	def post(self):
		username = self.request.get('username')
		streamsIds=[]

		params = self.request.arguments()
		for i in range(len(params)):
			if (params[i].find('stream') != -1):
				streamsIds.append(str(self.request.get(params[i])))

		self.response.write(streamsIds[0])

		for i in range(len(streamsIds)):
			streamToUnsubscribe = cStream.query(cStream.streamId ==int(streamsIds[i])).get()
			if streamToUnsubscribe:
				streamKey = streamToUnsubscribe.key
				user = cUser.query(cUser.username == username).get()
				if user:
					user.subbedStreams.remove(streamKey)
					user.put()
Beispiel #10
0
	def get(self):
		message_to_send = ""

		for stream in tStream.query():
			message_to_send = message_to_send + stream.streamName + " "
			

		for user in cUser.query(cUser.emailPreference ==24):
			if (mail.is_email_valid(user.username)):
				message = mail.EmailMessage(sender="*****@*****.**",subject="Trending Streams")
				logging.info('in if')
				message.to = user.username
				message.body = """
				Dear Connexus User:
				The Following Streams are Trending: {0}
				""".format(message_to_send)
				message.body = message.body + """
				Please let us know if you have any questions.
				The Connexus Team
				"""
				message.send()
Beispiel #11
0
	def get(self):
		username="******"
		user = cUser.query(cUser.username == username).get()
		self.response.write(user.emailPreference)
Beispiel #12
0
	def addNewSubscribers(subList, streamKey):
		for i in range(len(subList)):
			user = cUser.query(cUser.username == subList[i]).get()
			if user:
				user.subbedStreams.append(streamKey)
				user.put()