Advertisement
adepeter

method_call_methods.py

Jan 16th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.76 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: UTF8 -*-
  3. #-------------------------------------------------------------------------------
  4. # Author    :  Oluwaseun Peter
  5. # Copyright : Copyright (C) 2018
  6. # Target    : All platforms supporting python
  7. # Limitations : None known as of now
  8. #-------------------------------------------------------------------------------
  9.  
  10. class Library:
  11.     def __init__(self, books=[]):
  12.         self._id = 0
  13.         self._catalog = books
  14.         self._book_name = ''
  15.        
  16.        
  17.     def display_avail_book(self):
  18.         pass
  19.        
  20.     def borrow_out_book(self, title):
  21.         pass
  22.        
  23.     def add_borrowed_book(self, title):
  24.         pass
  25.        
  26. class User:
  27.     def __init__(self):
  28.         self._name = ''
  29.         self.database = {}
  30.         self._id = 0
  31.        
  32.     def _increment_id(self):
  33.         self._id += 1
  34.         return self._id
  35.        
  36.     def _find_error(self, username, password):
  37.         if not username.isspace() or username == '':
  38.             if username in self.database.keys():
  39.                 print('The username: "{}" you chose is already registered with us. Please choose another one'.format(username))
  40.                 return True
  41.             elif len(username) <= 3 or len(username) >= 15:
  42.                 print('The username you entered should be between 3 and 15 characters')
  43.                 return True
  44.             elif username.isspace():
  45.                 print('Username field cannot be empty')
  46.                 return True
  47.             elif password.isspace():
  48.                 print('Password cant be left blank')
  49.                 return True
  50.         else:
  51.             return False
  52.        
  53.     def _set_user_details(self, username):
  54.         self.username = username.lower()
  55.         #self.password = password
  56.        
  57.     def _signup(self, username, password):
  58.         increment_user_id = self._increment_id()
  59.         self.database[self.username] = {'user_id': increment_user_id, 'username': username, 'password': password}
  60.         print('Success')
  61.        
  62.     def display_signup_form(self):
  63.         username = input('Enter your username: ')
  64.         password = input('Enter your password: ')
  65.         find_error = self._find_error(username, password)
  66.         if not find_error:
  67.             self._set_user_details(username)
  68.             self._signup(username, password)
  69.            
  70.            
  71.            
  72.     def show(self):
  73.         print(self.database)
  74.        
  75.        
  76. class Menu:
  77.     def display_menu(self):
  78.         userMenu = ['Enter 1 to signup', 'Enter 2 login']
  79.         print('\n'.join(userMenu))
  80.         try:
  81.             userChoice = int(input('Make your choice: '))
  82.             if isinstance(userChoice, int):
  83.                 self.userChoice = userChoice
  84.         except ValueError:
  85.             print('Wrong input')
  86.         else:
  87.             return self.userChoice
  88.        
  89. library = Library()
  90. access = User()
  91. usermenu = Menu()
  92.  
  93. print('Welcome to my Second Project')
  94. print()
  95. print('-------------------------------')
  96. print('Title: Library System')
  97. print('Version:  1')
  98. print('-------------------------------')
  99.  
  100. print()
  101.  
  102. while True:
  103.     userChoice = usermenu.display_menu()
  104.     if userChoice == 1:
  105.         signup_form = access.display_signup_form()
  106.     if userChoice == 2:
  107.         access.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement