def user_registration(name, phoneNo, email, password): usr = User() body_message = {'isError': False, 'msg': 'User Successfully Registered'} usr.set_name(name) usr.set_phoneNo(int(phoneNo)) validateEmail = regValidations.is_user_present(phoneNo) # print(validateEmail) if (validateEmail == True): usr.set_email(email) else: body_message['isError'] = True body_message['msg'] = 'User Already Registered. Kindly login' pwd = str(user_encode_password(password)) usr.set_password(str(pwd)) print(type(usr.get_password())) if (body_message['isError'] == False): updateDB = viewUpdateDB.update_tableUser(usr) return body_message
class App: """ Klasa logiki programu stanowiąza warstwę modelu. """ server: smtplib.SMTP_SSL user: User def __init__(self): self.players = [] def login(self, name, login, pwd): """ Metoda logowania się do konta Gmail. :param name: podpis :param login: login :param pwd: hasło """ try: self.__set_user(name, login, pwd) self.__connect_to_server() except ConnectionRefusedError as error: print('ConnectionRefusedError', str(error)) raise error except smtplib.SMTPServerDisconnected as error: print('SMTPServerDisconnected', str(error)) raise error except smtplib.SMTPAuthenticationError as error: print('SMTPAuthenticationError', str(error)) raise error except smtplib.SMTPException as error: print(str(error)) raise error except Exception as error: print('SMTPException', str(error)) raise error def __set_user(self, name, login, pwd): """ Metoda przypisująca dane logowania do pola user. :param name: podpis :param login: login :param pwd: hasło """ self.user = User(login, pwd, name) def __connect_to_server(self): """ Metoda tworząca połączenie z serwerem poczty Gmail. """ try: context = ssl.create_default_context() server = smtplib.SMTP_SSL('smtp.gmail.com', 465, context=context) server.ehlo() server.login(self.user.get_email(), self.user.get_password()) self.server = server except Exception as error: raise error def load_players_csv(self, file): """ Metoda wczytująca plik CSV z listą graczy. :param file: plik CSV """ try: csv_file = open(file, newline='') csv_reader = csv.reader(csv_file, delimiter=';', quotechar='|') for row in csv_reader: self.players.append(Player(row[0], row[1])) except FileNotFoundError: print('\n ! Nie znaleziono takiego pliku !') raise FileNotFoundError('Nie znaleziono takiego pliku.') except PermissionError: print('\n ! Nie masz uprawnień !') raise PermissionError('Nie masz uprawnień.') except OSError: print('\n ! Nieprawidłowa ścieżka !') raise OSError('Nieprawidłowa ścieżka.') except IndexError: print('\n ! Nieprawidłowy plik !') raise IndexError('Nieprawidłowy plik.') def execute_emails(self): """ Metoda zarządzająca wysłaniem maili. """ self.__set_targets() self.__send_emails() self.__close_server() def __set_targets(self): """ Metoda ustalająca graczom swoje cele. """ random.shuffle(self.players) for i in range(len(self.players) - 1): self.players[i].set_target_name(self.players[i + 1].get_name()) self.players[len(self.players) - 1].set_target_name( self.players[0].get_name()) def __send_emails(self): """ Metoda wysyłająca maile. """ for player in self.players: mail = player.get_email_message(self.user) self.server.send_message(mail) def __close_server(self): """ Metoda zamykająca połączenie z serwerem poczty Gmail. """ self.server.close() def get_players_info(self): """ Metoda zwracająca informacje o graczach. """ return [el.info() for el in self.players]