jweinst1
11/14/2016 - 7:14 PM

class practice with twitter

class practice with twitter

#class practice questions
#This practice tests class organization and inheritance

class User:
	#base is the mother twitter instance
	def __init__(self, name):
		self.name = name
		
	def __repr__(self):
		return "({0})".format(self.name)
		
		
class Tweet:
	
	def __init__(self, user, message):
		self.user = user
		self.message = message
		
	def __repr__(self):
		return str(self.user) + "==\"{0}\"".format(self.message)
		
		
class Follow:
	
	def __init__(self, follower, user):
		self.follower = follower
		self.user = user
		
	def __repr__(self):
		return str(self.follower) + " --> " + str(self.user)
		

#all components of the twitter are stored in one class, while other classes 
#store specific components
class Twitter:
	
	def __init__(self):
		self.users = {}
		self.tweets = []
		self.follows = []
	
	def __repr__(self):
		return "USERS=[{0}]\nTWEETS=[{1}]\nFOLLOWS=[{2}]".format(self.users, self.tweets, self.follows)
		
	def create_follow(self, follower, user):
		self.follows.append(Follow(follower, user))
		
	def create_user(self, name):
		self.users[name] = User(name)
		
	def create_tweet(self, user, message):
		self.tweet.append(Tweet(user, message))