def run_client(self): """ Responsible for the logic for this part of the program. Creates necessary objects, chooses reciever, gets message, appends header and sends message. If message is successful displays sent message. Continues to loop until user exits the program. """ flag1 = True while flag1: self.client = TauClient() self.choose_receiver() self.get_message() if self.message == "exit": self.exit_program() else: self.append_header() success = self.client.connect_client(self.address, self.message) if not success == -1: print self.message
class TauClientInterface: def __init__(self): """ Initializes all variables needed, including reading in the address book from a json file """ self.client = None self.address_book = json.load(open("code_files/address_book.json")) self.addresses = self.address_book["Address_Book"] self.version = "version: 0.2\r\n" self.sender = "from: chupacabra\r\n" self.receiver = None self.address = None self.message = None self.time_stamp = None def choose_receiver(self): """ Prompts user to pick a recipient. If a flag is entered displays the information associated with that flag. If an invalid recipient is entered, displays message and loops to the prompt. If "exit" is entered, exits program. """ flag = True while flag: self.receiver = raw_input("Pick recipient: ") if self.receiver in ("-address", "-a"): self.display_addresses() elif self.receiver in ("-help", "-h"): self.display_help() elif self.receiver == 'clear': self.clear() elif self.receiver == 'exit': self.exit_program() else: for name, address in self.addresses.items(): if self.receiver == name: self.address = address print self.address flag = False break else: print "Recipient entered was not found." print "\nPlease try again." print "(-help(-h) for help menu, -address(-a) to display addresses.\n\n" def get_message(self): """ Prompts and reads in message to send from user. If "exit" is entered, exits program. """ self.message = raw_input("Enter message: ") if self.message == "exit": self.exit_program() def append_header(self): """ Appends header information to message """ self.message = self.version + self.sender + "to: " + self.receiver + "\r\n" + "\r\n" + self.message def display_addresses(self): """ Displays address book in sorted order by username """ # Makes copy of address dictionary so the original is not affected. addresses = self.addresses addresses = sorted(addresses.items(), key=operator.itemgetter(0)) for name, address in addresses: print name, "-->", address print "\n\n" @staticmethod def display_help(): """ Displays help message """ print """ -address (-a): display address book -help (-h): displays the help message 'clear': clears the client screen (only on recipient prompt) 'exit': exits program ('exit' can be entered on recipient/message prompt to exit program.) Choose a person to send a message to by entering in the user name of the intended recipient. """ @staticmethod def clear(): """ Clears the screen """ os.system('clear') def exit_program(self): print ("Exiting Client..") self.client.close_client() exit(-1) def run_client(self): """ Responsible for the logic for this part of the program. Creates necessary objects, chooses reciever, gets message, appends header and sends message. If message is successful displays sent message. Continues to loop until user exits the program. """ flag1 = True while flag1: self.client = TauClient() self.choose_receiver() self.get_message() if self.message == "exit": self.exit_program() else: self.append_header() success = self.client.connect_client(self.address, self.message) if not success == -1: print self.message
class TauClientInterface: def __init__(self): """ Initializes all variables needed, including reading in the address book from a json file """ self.client = None self.address_book = json.load(open("code_files/address_book.json")) self.addresses = self.address_book["Address_Book"] self.version = "version: 0.2\r\n" self.sender = "from: chupacabra\r\n" self.receiver = None self.address = None self.message = None self.time_stamp = None def choose_receiver(self): """ Prompts user to pick a recipient. If a flag is entered displays the information associated with that flag. If an invalid recipient is entered, displays message and loops to the prompt. If "exit" is entered, exits program. """ flag = True while flag: self.receiver = raw_input("Pick recipient: ") if self.receiver in ("-address", "-a"): self.display_addresses() elif self.receiver in ("-help", "-h"): self.display_help() elif self.receiver == 'clear': self.clear() elif self.receiver == 'exit': self.exit_program() else: for name, address in self.addresses.items(): if self.receiver == name: self.address = address print self.address flag = False break else: print "Recipient entered was not found." print "\nPlease try again." print "(-help(-h) for help menu, -address(-a) to display addresses.\n\n" def get_message(self): """ Prompts and reads in message to send from user. If "exit" is entered, exits program. """ self.message = raw_input("Enter message: ") if self.message == "exit": self.exit_program() def append_header(self): """ Appends header information to message """ self.message = self.version + self.sender + "to: " + self.receiver + "\r\n" + "\r\n" + self.message def display_addresses(self): """ Displays address book in sorted order by username """ # Makes copy of address dictionary so the original is not affected. addresses = self.addresses addresses = sorted(addresses.items(), key=operator.itemgetter(0)) for name, address in addresses: print name, "-->", address print "\n\n" @staticmethod def display_help(): """ Displays help message """ print """ -address (-a): display address book -help (-h): displays the help message 'clear': clears the client screen (only on recipient prompt) 'exit': exits program ('exit' can be entered on recipient/message prompt to exit program.) Choose a person to send a message to by entering in the user name of the intended recipient. """ @staticmethod def clear(): """ Clears the screen """ os.system('clear') def exit_program(self): print("Exiting Client..") self.client.close_client() exit(-1) def run_client(self): """ Responsible for the logic for this part of the program. Creates necessary objects, chooses reciever, gets message, appends header and sends message. If message is successful displays sent message. Continues to loop until user exits the program. """ flag1 = True while flag1: self.client = TauClient() self.choose_receiver() self.get_message() if self.message == "exit": self.exit_program() else: self.append_header() success = self.client.connect_client(self.address, self.message) if not success == -1: print self.message