def main(): """Основная функция""" config = config_load() listen_address, listen_port, gui_flag = arg_parser( config['SETTINGS']['Default_port'], config['SETTINGS']['Listen_Address']) database = ServerStorage( os.path.join(config['SETTINGS']['Database_path'], config['SETTINGS']['Database_file'])) server = MessageProcessor(listen_address, listen_port, database) server.daemon = True server.start() if gui_flag: while True: command = input('Введите exit для завершения работы сервера.') if command == 'exit': server.running = False server.join() break else: server_app = QApplication(sys.argv) server_app.setAttribute(Qt.AA_DisableWindowContextHelpButton) main_window = MainWindow(database, server, config) server_app.exec_() server.running = False
def main(): """Main server method. Loads the settings, starts network part in the background and then opens the main window.""" config = config_load() address, port, gui_flag = arg_parser(config['SETTINGS']['default_port'], config['SETTINGS']['listen_address']) db = ServerBase( os.path.join(config['SETTINGS']['database_path'], config['SETTINGS']['database_file'])) server = MessageProcessor(address, port, db) server.daemon = True server.start() # print_help() if gui_flag: while True: command = input('Type "exit" to stop the server...') if command == 'exit': server.running = False server.join() break else: server_app = QApplication(sys.argv) server_app.setAttribute(Qt.AA_DisableWindowContextHelpButton) main_window = MainWindow(db, server, config) server_app.exec_() server.running = False
def main(): config = config_load() # Загрузка параметров командной строки listen_address, listen_port, gui_flag = arg_parser( config['SETTINGS']['Default_port'], config['SETTINGS']['Listen_Address']) # Инициализация базы данных database = ServerStorage( os.path.join(config['SETTINGS']['Database_path'], config['SETTINGS']['Database_file'])) server = MessageProcessor(listen_address, listen_port, database) server.daemon = True server.start() if gui_flag: while True: command = input('Введите exit для завершения работы сервера.') if command == 'exit': server.running = False server.join() break else: # графическое окуружение для сервера: server_app = QApplication(sys.argv) server_app.setAttribute(Qt.AA_DisableWindowContextHelpButton) main_window = MainWindow(database, server, config) # Запускаем GUI server_app.exec_() server.running = False
def main(): """ Основная функция :return: None """ # Загрузка файла конфигурации сервера config = config_load() # Загрузка параметров командной строки, если нет параметров, то задаём # значения по умоланию. listen_address, listen_port, gui_flag = arg_parser( config['SETTINGS']['Default_port'], config['SETTINGS']['Listen_Address']) # Инициализация базы данных database = ServerDB( os.path.join(config['SETTINGS']['Database_path'], config['SETTINGS']['Database_file'])) # Создание экземпляра класса - сервера и его запуск: server = MessageProcessor(listen_address, listen_port, database) server.daemon = True server.start() # Если указан параметр без GUI то запускаем простенький обработчик # консольного ввода if gui_flag: while True: command = input('Введите exit для завершения работы сервера.') if command == 'exit': # Если выход, то завршаем основной цикл сервера. server.running = False server.join() break # Если не указан запуск без GUI, то запускаем GUI: else: # Создаём графическое окуружение для сервера: server_app = QApplication(sys.argv) server_app.setAttribute(Qt.AA_DisableWindowContextHelpButton) main_window = MainWindow(database, server, config) # Запускаем GUI server_app.exec_() # По закрытию окон останавливаем обработчик сообщений server.running = False