def test_find_nonexistent_entry_by_name(self): book = PhoneBook() book.add_entry('João', '(11) 1234 4321') entry = book.find_by_name('Maria') self.assertIsNone(entry)
def __init__(self, manufacturer, model, os): """ init method """ self.manufacturer = manufacturer self.model = model self.os = os self.owner = "No owner yet" self._phonebook = PhoneBook()
def test_lookup_by_name(self): phonebook = PhoneBook( ) # Click alt+enter and choose a create new class phonebook.add( "Bob", '12345' ) # PyCharm is highlight a word which needed to define -> click right ande choose 'Add method add() to class PhoneBook' number = phonebook.lookup( "Bob") # Click 'Add method lookup() to class PhoneBook' self.assertEqual("12345", number)
def main(): phonebook = PhoneBook("Examples/Classes/contacts.csv", ";") # Kaksi oliota. Oliot on luotu samasta luokasta, mutta niillä on omat muuttujien arvonsa (olion tila) person1 = Contact("Maija", "Meikäläinen", "123454321", 1990) person2 = Contact("Matti", "Meikäläinen", "987656789", 1991) person3 = Student("Aimo", "Opiskelija", "1232123", 2000, 12345) phonebook.AddContact(person1) phonebook.AddContact(person2) phonebook.AddContact(person3) phonebook.PrintContacts() phonebook.SaveContacts(";")
def main(): phonebook = PhoneBook("Examples/Classes/contacts.csv") person1 = Contact("Maija", "Meikäläinen", "123456789", 1990) person2 = Contact("Matti", "Meikäläinen", "987654321", 1991) person3 = Student("Osku", "Opiskelija", "987656789", 2000, 54321) person4 = Teacher("Sami", "Kojo-Fry", "12121212", 1987, "A3-??") phonebook.AddContact(person1) phonebook.AddContact(person2) phonebook.AddContact(person3) phonebook.AddContact(person4) phonebook.PrintContacts() phonebook.SaveContacts()
def fileParse(xml_file): # parse selected avm_file from fileDialog while True: try: global tree, names tree = ET.ElementTree(file=xml_file) root = tree.getroot() print(root) no_count.set(len(root[0])) names = PhoneBook(tree).address() lbox.insert("end", *names[0].values()) return tree break except ET.ParseError: _msgBox_error() print("Oops! That was no valid XML. Try another one ...") break
def run(self): self._load_configuration() self._init_database() self.pb = PhoneBook(self.dbconn) logging.info("Starting IRCThread thread") self.irc_thread = IRCThread(self, self.config['server'], self.config['server_port'], self.config['nickname'], self.config['channel']) self.irc_thread.start() logging.info("Starting webserver") http_thread = HTTPThread(self, ('0.0.0.0', 8090)) http_thread.start() logging.info("Starting main loop") self._main_loop()
def test_phonebook_gives_access_to_names_and_numbers(): phonebook = PhoneBook() phonebook.add("Alice", "67890") assert "Alice" in phonebook.names() assert "67890" in phonebook.numbers()
def setUp(self) -> None: """ The setUp method is called each time a test case is executed. :return: PhoneBook Class. """ self.phonebook = PhoneBook()
def test_missing_name( self ): # What happend if we have name which doesn;t exist in phonebook phonebook = PhoneBook() with self.assertRaises(KeyError): phonebook.lookup("missing")
def init_mw(self, tmw=None): """ Method to initialize main window (menus and frames) """ t0 = time.time() alarmApp = self tmw = tmw if isinstance(tmw, Qt.QMainWindow) else CleanMainWindow() tmw.setWindowTitle('PANIC') tmw.menuBar = Qt.QMenuBar(tmw) tmw.toolsMenu = Qt.QMenu('Tools', tmw.menuBar) tmw.fileMenu = Qt.QMenu('File', tmw.menuBar) tmw.viewMenu = Qt.QMenu('View', tmw.menuBar) tmw.helpMenu = Qt.QMenu('Help', tmw.menuBar) tmw.setMenuBar(tmw.menuBar) [ tmw.menuBar.addAction(a.menuAction()) for a in (tmw.fileMenu, tmw.toolsMenu, tmw.helpMenu, tmw.viewMenu) ] toolbar = Qt.QToolBar(tmw) toolbar.setIconSize(Qt.QSize(20, 20)) tmw.helpMenu.addAction(getThemeIcon("applications-system"), "Webpage", lambda: os.system('konqueror %s &' % PANIC_URL)) tmw.toolsMenu.addAction(getThemeIcon("applications-system"), "Jive", lambda: os.system('jive &')) tmw.toolsMenu.addAction(getThemeIcon("applications-system"), "Astor", lambda: os.system('astor &')) tmw.fileMenu.addAction(getThemeIcon(":/designer/back.png"), "Export to CSV file", alarmApp.saveToFile) tmw.fileMenu.addAction(getThemeIcon(":/designer/forward.png"), "Import from CSV file", alarmApp.loadFromFile) tmw.fileMenu.addAction(getThemeIcon(":/designer/filereader.png"), "Use external editor", alarmApp.editFile) tmw.fileMenu.addAction(getThemeIcon("applications-system"), "Exit", tmw.close) tmw.viewMenu.connect(tmw.viewMenu, Qt.SIGNAL('aboutToShow()'), alarmApp.setViewMenu) from phonebook import PhoneBook alarmApp.tools['bookApp'] = WindowManager.addWindow( PhoneBook(container=tmw)) tmw.toolsMenu.addAction(getThemeIcon("x-office-address-book"), "PhoneBook", alarmApp.tools['bookApp'].show) toolbar.addAction(getThemeIcon("x-office-address-book"), "PhoneBook", alarmApp.tools['bookApp'].show) trend_action = (getThemeIcon(":/designer/qwtplot.png"), 'Trend', lambda: WindowManager.addWindow( widgets.get_archive_trend(show=True))) tmw.toolsMenu.addAction(*trend_action) toolbar.addAction(*trend_action) alarmApp.tools['config'] = WindowManager.addWindow( dacWidget(container=tmw)) tmw.toolsMenu.addAction(getThemeIcon("applications-system"), "Advanced Configuration", alarmApp.tools['config'].show) toolbar.addAction(getThemeIcon("applications-system"), "Advanced Configuration", alarmApp.tools['config'].show) toolbar.setMovable(False) toolbar.setFloatable(False) tmw.addToolBar(toolbar) if SNAP_ALLOWED: alarmApp.tools['history'] = WindowManager.addWindow( ahWidget(container=tmw)) tmw.toolsMenu.addAction(getThemeIcon("office-calendar"), "Alarm History Viewer", alarmApp.tools['history'].show) toolbar.addAction(getThemeIcon("office-calendar"), "Alarm History Viewer", alarmApp.tools['history'].show) else: trace("Unable to load SNAP", 'History Viewer Disabled!') alarm_preview_action = (getThemeIcon("accessories-calculator"), "Alarm Calculator", lambda g=alarmApp: WindowManager.addWindow( AlarmPreview.showEmptyAlarmPreview(g))) [o.addAction(*alarm_preview_action) for o in (tmw.toolsMenu, toolbar)] try: import PyTangoArchiving.widget.ArchivingBrowser MSW = PyTangoArchiving.widget.ArchivingBrowser.ModelSearchWidget alarmApp.tools['finder'] = WindowManager.addWindow(MSW()) tmw.toolsMenu.addAction(getThemeIcon("system-search"), "Attribute Finder", alarmApp.tools['finder'].show) toolbar.addAction(getThemeIcon("system-search"), "Attribute Finder", alarmApp.tools['finder'].show) except: print('PyTangoArchiving not available') #traceback.print_exc() import panic.gui.panel def showNewAlarmPanel(s=self, a=alarmApp): i = len([ w for w in WindowManager.getWindowsNames() if w.startswith('panel') ]) name = 'panel%d' % i a.tools[name] = WindowManager.addWindow( panic.gui.panel.QAlarmPanel()) a.tools[name].setModel(s.view) a.tools[name].show() url = os.path.dirname(panic.__file__) + '/gui/icon/panel-view.png' panel_icon = Qt.QIcon(Qt.QPixmap(url)) alarm_panel_action = (panel_icon, "Alarm Panel", showNewAlarmPanel) [o.addAction(*alarm_panel_action) for o in (tmw.toolsMenu, toolbar)] import panic.gui.views alarmApp.tools['rawview'] = WindowManager.addWindow( panic.gui.views.ViewRawBrowser()) #url = os.path.dirname(panic.__file__)+'/gui/icon/panel-view.png' #panel_icon = Qt.QIcon(Qt.QPixmap(url)) alarm_panel_action = ( getThemeIcon('actions:leftjust.svg'), "RawView", lambda s=self: alarmApp.tools['rawview'].setModel(self)) [o.addAction(*alarm_panel_action) for o in (tmw.toolsMenu, )] print('Toolbars created after %s seconds' % (time.time() - t0)) tmw.setCentralWidget(alarmApp) tmw.show() return tmw
def run_app(): book = PhoneBook('personal book') # populate the book with test data for i in range(10): book.add_contact('Jhon' + str(i), 'Smith', '+71234567809' + str(i), favorite_contact=False, telegram='@jhony', email='*****@*****.**') book.add_contact('Jhon_fav', 'Smith', '+712345678090', favorite_contact=book.find_contact('Jhon2', 'Smith'), telegram='@jhony', email='*****@*****.**') book.add_contact('Jhon_fav2', 'Smith', '+712345671090', favorite_contact=book.find_contact('Jhon3', 'Smith'), telegram='@jhony', email='*****@*****.**') print(info_message) while True: cmd = input("Выберите действие:\n").lower() if cmd in cmd_list: if cmd == 'q': break elif cmd == 'p': book.print_contacts() elif cmd == 's': firstname = input("Введите имя:\n") lastname = input("Введите фамилию:\n") print(book.find_contact(firstname, lastname)) elif cmd == 'a': firstname = input("Введите имя:\n") lastname = input("Введите фамилию:\n") phone_number = input("Введите номер:\n") fav_contact_id = input( "Введите любимый контакт по номеру в списке или Enter для пропуска:\n" ) if fav_contact_id: fav_contact = book.find_contact_by_id(fav_contact_id) if not fav_contact: print("Любимый контакт не найдет. Продолжение работы.") print( 'Введите дополнительную информацию в формате "key=value" или Enter для пропуска:\n' ) additional_info = dict() while True: v = input("Введите дополнительную информацию :\n").strip() if v == '': break else: additional_info.update([tuple(v.split('='))]) book.add_contact(firstname, lastname, phone_number, fav_contact, **additional_info) elif cmd == 'd': phone_number = input("Введите номер телефона:\n") print("Контакт(ы) удилен(ы)" if book. del_contact(phone_number) else "Контакт не найден") elif cmd == 'f': pprint(book.get_all_favorite_numbers())
def setUp(self) -> None: # Super class self.phonebook = PhoneBook()
from phonebook import PhoneBook phone_book_name = 'Fun' phone_book = PhoneBook(phone_book_name) phone_book.add_contact('Igor', 'Tsallagov', '+79162208682', Telegram='@ionathz', Email='*****@*****.**', Twitter='@chrismexx', Instagram='@chrismexx', favourite=True)
def phonebook(tmpdir): "Provides an empty phonebook" return PhoneBook(tmpdir)
def setUp(self): # Begining of every test self.phonebook = PhoneBook()
def setUp(self) -> None: # construct a new phonebook instance before each test case executes self.phonebook = PhoneBook()
def test_missing_key_raises_error(phonebook): phonebook = PhoneBook() with pytest.raises(KeyError): phonebook.lookup('missing')
def setUp(self) -> None: # this will be now created for each test cases, so no need to create instance in every test function # rather use self.phonebook self.phonebook = PhoneBook()
def phonebook(): return PhoneBook()
def test_lookup_by_name(self): phonebook = PhoneBook() phonebook.add("Bob", '12345') number = phonebook.lookup("Bob") self.assertEqual("12345", number)
def setUp(self) -> None: # print("In setUp") self.phonebook: PhoneBook = PhoneBook()
def setUp(self): self.phonebook = PhoneBook()
def pb(): pb = PhoneBook() yield pb pb.clear()
def phonebook(tmpdir): phonebook = PhoneBook(tmpdir) return phonebook
jhon = Contact('Jhon', 'Smith', '+71234567809', telegram='@jhony', email='*****@*****.**', address='USA') donald = Contact('Donald', 'Trump', '+712134267809', favorite=True, address='White House') george = Contact('George', 'Bush', '+1232134267809', True, status='ExPresident') bill = Contact('Bill', 'Clinton', '+7892134267809', instrument='Sax') barack = Contact('Barack ', 'Obama', '+778934267809', born="Africa") Mypb = PhoneBook('Mypb') Mypb.add_new(jhon) Mypb.add_new(donald) Mypb.add_new(george) Mypb.add_new(bill) # Mypb.print_book() # Mypb.remove('+71234567809') # Mypb.print_book() # Mypb.search_fav() Mypb.search_by('Donald', 'Trump')
def test_add_and_lookup_entry(): phonebook = PhoneBook() phonebook.add("Bob", "12345") assert "12345" == phonebook.lookup("Bob")
def phonebook(tmpdir): phonebook = PhoneBook(tmpdir) yield phonebook phonebook.clear()
def setUp(self) -> None: self.phonebook = PhoneBook()
def test_missing_name(self): phonebook = PhoneBook() # phonebook without args -> passes because the phonebook it is an dictionary with self.assertRaises(KeyError): self.phonebook.lookup("missing")