def finalize_menu(self): final = input('(Confirm - type "finalize" or to exit "give up") >') if final == 'finalize': MainController.save_seat_finalize() else: print('The reservation weren\'t saved!')
def main(argv): partner_str = "" process = "" try: opts, args = getopt.getopt(argv, "p:r:", ["partner=", "process="]) except getopt.GetoptError: print "Wrong syntax or parameter." sys.exit(2) for opt, arg in opts: if opt in ("-p", "--partner"): partner_str = arg elif opt in ("-r", "--process"): process = arg # Set partner if partner_str.isdigit(): partner = MainController.set_partner(int(partner_str)) else: partner = MainController.set_partner(partner_str) controller = IngestController(partner, process) controller.import_metadata()
def open_main_window(self, error_text): if error_text: self.view.set_error_to_label(error_text) else: main_controller = MainController(self.jira_client) main_controller.show() self.app.setQuitOnLastWindowClosed(False) self.view.close()
def __init__(self): super().__init__() if not Config.exists(): Config.set_defaults() self.watch_only_wallet = WatchOnlyWallet() self.main_controller = MainController(self.watch_only_wallet) self.main_view = MainView(self.main_controller, self.watch_only_wallet) self.main_controller.sync_to_blockchain_loop_async() self.main_controller.sync_to_hardware_wallet_loop_async()
class wattrApp(wx.App): """Main Application Class""" def OnInit(self): #Create the Main Controller for the app self.controller = MainController(self) return True def onExit(self): super(wattrApp, self).onExit() self.controller.on_exit()
def main(): parser = argparse.ArgumentParser(description='Generate Joyjet output') parser.add_argument( '-l', '--level', type=int, choices=[1, 2, 3], required=True, help='an integer to inform the output level' ) args = parser.parse_args() with open(f'data/level{args.level}.json') as f: input_data = json.loads(f.read()) controller = MainController(input_data=input_data) return controller.generate_output()
def test_generate_input_level2_output_level3_fail(): INPUT_FILE = 'data/level2.json' OUTPUT_FILE = 'tests/mock/output3.json' with open(INPUT_FILE) as f: input_data = json.loads(f.read()) controller = MainController(input_data=input_data) output_generated = controller.generate_output() with open(OUTPUT_FILE) as f: output_mocked = json.loads(f.read()) assert output_generated != output_mocked
def login_register_menu(self): while self.user is None: print('You need to be a user in the system to make reservations!') print('1. login\n2. register\n3. cancel') command = input('>>>') if command == '1': self.user = MainController.login() elif command == '2': self.user = MainController.register() elif command == '3': break else: print('Invalid command!')
def test_purge_block(mock_client): watch_only_wallet = WatchOnlyWallet() controller = MainController(watch_only_wallet) controller.blockchain_client = mock_client watch_only_wallet.load(*WalletFile.load()) controller._sync_to_blockchain() watch_only_wallet.refresh_balances() # Tx_ins from the orphaned block should not show up in our balance assert watch_only_wallet.spendable_balance_satoshis == 0 assert watch_only_wallet.incoming_balance_satoshis == 888 # Current block should be the most recent valid block assert watch_only_wallet.current_block == valid_block_4 # Addresses that received a tx_in in an orphaned block should count as fresh assert list(watch_only_wallet.external_addresses.values())[0].is_fresh
def __init__(self, controller: MainController, show_grades, parent=None): super(AssignGroupDialogBox, self).__init__(parent) self.controller = controller self.showGrades = show_grades layout = QVBoxLayout() box = QHBoxLayout() box.addWidget(QLabel("Group: ")) self.group = QLineEdit() box.addWidget(self.group) layout.addItem(box) self.assignments = QListWidget() assignments = controller.show_assignments() for assignment in assignments: item = QListWidgetItem() item.setText(assignment) self.assignments.addItem(item) layout.addWidget(self.assignments) self.assign = QPushButton("Assign") self.assign.clicked.connect(self.on_assign_click) layout.addWidget(self.assign) self.setLayout(layout) self.resize(600, 300) self.setWindowTitle("Assign group")
def __init__(self, argv): super(QApplication,self).__init__(argv) self.model = MainModel() self.controller = MainController(self.model) self.mainView = MainView(self.model,self.controller) self.mainView.show()
class AppMain (Gtk.Application): def __init__ (self): Gtk.Application.__init__ (self) self.config = Config() def do_activate (self): self.window = AppMainWindow (self) self.window.show_all() self.controller = MainController(self) self.controller.start() #self.window.show_add_account_popup (self.config) def do_startup (self): Gtk.Application.do_startup (self)
def __init__(self, sys_argv): super(App, self).__init__(sys_argv) self.model = Model() self.main_controller = MainController(self.model) self.main_view = MainView(self.model, self.main_controller) self.main_view.resize(1920, 1000) self.main_view.show()
def __init__(self, parent=None): super(QMainWindow, self).__init__() self.controller = MainController( self) # объект для обработки действий пользователя self.model = MainModel(self) # объект для взаимодействия с сервером self._show_connection_error_flag = False self._show_create_team_error_flag = False self._block_tbl = False self._tbl_blink = False # подключаем визуальное представление self.ui = GUI_Main_Window() self.ui.setupUi(self) self.ui.custom_setup(self) self.load_style() self.hide_reboot_btn() self.ui.exit_btn.clicked.connect(self.controller.click_exit_btn) self.ui.create_team_btn.clicked.connect( self.controller.click_create_team_btn) self.ui.teamslist_btn.clicked.connect( self.controller.click_teamslist_btn) self.ui.rebootButton.clicked.connect(self.controller.click_reboot_btn) # обновления ТЧ по таймеру self.update_tbl_timer = QtCore.QTimer() self.update_tbl_timer.timeout.connect(self._fill_table_by_timer) self.update_tbl_timer.start(1000) # обновления часов по таймеру self.update_clock_timer = QtCore.QTimer() self.update_clock_timer.timeout.connect(self._fill_clock_by_timer) self.update_clock_timer.start(1000) # every 1000 milliseconds if not FULLSCREEN: self.showNormal() else: self.showFullScreen() if not TEST_MODE: self.setCursor(Qt.BlankCursor) center_on_screen(self) self.fill_header()
def __init__(self, controller: MainController, showGrades, parent=None): super(AssignStudentDialogBox, self).__init__(parent) self.controller = controller self.showGrades = showGrades layout = QVBoxLayout() box = QHBoxLayout() self.students = QListWidget() students = controller.show_students() for student in students: item = QListWidgetItem() item.setText(student) self.students.addItem(item) self.assignments = QListWidget() assignments = controller.show_assignments() for assignment in assignments: item = QListWidgetItem() item.setText(assignment) self.assignments.addItem(item) box.addWidget(self.students) box.addSpacerItem(QSpacerItem(10, 10)) box.addWidget(self.assignments) layout.addItem(box) box = QHBoxLayout() box.addSpacerItem( QSpacerItem(0, 0, QSizePolicy.Maximum, QSizePolicy.Expanding)) self.assign = QPushButton("Assign") self.assign.setFixedWidth(100) self.assign.clicked.connect(self.on_assign_click) box.addWidget(self.assign) box.addSpacerItem( QSpacerItem(0, 0, QSizePolicy.Maximum, QSizePolicy.Expanding)) layout.addItem(box) self.setLayout(layout) self.resize(900, 300) self.setWindowTitle("Assign")
def run(cls): print("Welcome to Hospital Hack Bulgaria!") options = """ Do you want to sign in or sign up? Options: 1 - sign in 2 - sign up 3 - exit """ print(options) start_option = input() # TODO check if the option number is correct username = input('Username:> ') password = input('Password:> ') if start_option == '1': # TODO hide password current_user = MainController.sign_in(username, password) if current_user: MainMenu.show_options(current_user) else: print("Wrong username or password!") sys.exit(1) elif start_option == '2': # TODO hide password second_password = input('Second Password:>') try: current_user = MainController.sign_up( username, password, second_password) except UserAlreadyExistsError: print('Sign up failed! User already exists!') sys.exit(1) except DatabaseConnectionError: print('Sign up failed! Server error! Try again') sys.exit(1) except PasswordsDontMatchError: print('Sign up failed! Password don\'t match! Try again') sys.exit(1) else: MainMenu.show_options(current_user) else: sys.exit(1)
def pick_seats_menu(self, projection_id, number_of_tickets): seat_number = 1 seats_taken = [] number_of_tickets = int(number_of_tickets) while number_of_tickets > 0: MainController.show_all_taken_seets_for_projection( projection_id, seats_taken) seat = input(f'Choose seat {seat_number}>> ') if seat == 'cancel': raise CancelException('The operation was canceled!') try: seats_taken.append( MainController.save_seat(self.user.id, projection_id, seat)) number_of_tickets -= 1 seat_number += 1 except SeatError as e: print(str(e))
def show_options(cls, current_user): OPTION_MENU = (""" 1: Show members 2: Available slots """) print(OPTION_MENU) option = input() if option == '1': members = MainController.show_members(current_user) cls._pretty_print_members(members)
def run(cls): print('Welcome to the Hospital!') options = """ 'Do you want to sign in or sign up? 1 - sign in 2 - sign up 3 - exit """ print(options) start_option = input() # TODO check if the num is ok username = input('Username:> ') password = input('Password:> ') if start_option == '1': # TODO hide password is_signed = MainController.sign_in(username, password) if is_signed: MainMenu.show_options(is_signed) else: print('Wrong username or password!') sys.exit(1) elif start_option == '2': #TODO hide pass second_password = input('Second password:> ') status = input('Are you a Patient or a Doctor?> ') try: current_user = MainController.sign_up(username, password, second_password, status) except UserAlreadyExists: print('Sign up failed! User already exists') sys.exit(1) except DatabaseConnectionError: print('Sign up failed! Server error! Try again!') sys.exit(1) except PasswordsDontMatchError: print('Sign up failed! Passwords do not match!') sys.exit(1) MainMenu.show_options(current_user) else: sys.exit(1)
def show_start_menu(self): command = '' while command != 'exit': command = input(f'\n{self.start_menu}\n\nOption:\n>>>') if command == '1': MainController.show_movies() elif command == '2': movie_id = input('Movie_id >>>') if movie_id.isdigit() is False or MovieController.check_id( int(movie_id)) is False: print('Invalid movie ID!') else: MainController.show_movie_projections(int(movie_id)) elif command == '3': try: self.make_reservation_menu() except CancelException as e: print('The reservation was canceled!') elif command != 'exit': print('Invalid option!')
def __init__(self, sys_argv): super(App, self).__init__(sys_argv) self.dependency = DependencyService() self.dependency.register(ContentsPathManager) self.dependency.register(JsonWriter) self.dependency.register(LocalProblemRepository) self.dependency.register(StrippedProblemWriter) self.dependency.register(OldProblemIO) self.dependency.register(OldProblemViewer) self.dependency.register(SectorEditor) self.main_controller = MainController(self.dependency)
def initController(): studentRepo = Repository() studentRepo.initialize_students() assignmentRepo = Repository() assignmentRepo.initialize_assignments() gradeRepo = GradeRepository() undoController = UndoController() gradeController = GradeController(gradeRepo) studentController = StudentController(studentRepo) assignmentController = AssignmentController(assignmentRepo) main_controller = MainController(gradeController, studentController, undoController, assignmentController) return main_controller
def test_posiible_workflows_with_backlog(): issue = sn(fields=sn(status=sn(name='Backlog'))) issues = {} issues['issue_obj'] = issue issues['workflow'] = { 'Return to Backlog': '131', 'Selected for development': '51', 'Declare done': '171', 'Flag': '181' } assert MainController(None).get_possible_workflows(issues) == [ 'Return to Backlog', 'Selected for development', 'Declare done', 'Flag' ]
def make_reservation_menu(self): self.login_register_menu() if self.user is None: return print(f'Hello, {self.user.username}') MainController.show_movies() movie_id = self.get_number_input('Movie ID >>> ', MovieController.check_id) number_of_tickets = self.get_number_input('Number of tickets >>> ', lambda x: int(x) > 0) MainController.show_movie_projections(movie_id) projection_id = self.get_number_input( 'Choose a projection >>> ', lambda p_id: MovieController.check_id_for_projection( movie_id, int(p_id))) self.pick_seats_menu(projection_id, number_of_tickets) self.finalize_menu()
def main(): app = QGuiApplication(sys.argv) qml_engine = QQmlApplicationEngine() main_controller = MainController(app) context = qml_engine.rootContext() context.setContextProperty("main", main_controller) this_directory = os.path.dirname(os.path.abspath(__file__)) qml_path = os.path.join(this_directory, 'qml/main.qml') qml_engine.load(qml_path) main_window = qml_engine.rootObjects()[0] main_window.show() QTimer.singleShot(0, main_controller.startup) sys.exit(app.exec_())
def main(): bot = telebot.TeleBot(env.get('TELEGRAM_API_TOKEN')) set_logger() conn = sqlite3.connect(env.get('DATABASE_PATH'), check_same_thread=False, isolation_level=None) cursor: sqlite3.Cursor = conn.cursor() init_db(cursor) none_controller = NoneController(bot) receipt_controller = ReceiptController(bot, cursor) menu = [ receipt_controller.get_menu_btn() ] main_controller = MainController(bot, menu, cursor) bot.skip_pending = True bot.polling(none_stop=True, interval=0)
def _init(self): if self._settings.repository == 'inmemory': studentRepo = Repository() studentRepo.initialize_students() assignmentRepo = Repository() assignmentRepo.initialize_assignments() gradeRepo = GradeRepository() gradeRepo.init_grades() elif self._settings.repository == "JSON": studentRepo = StudentRepoJSON(self._settings.students) assignmentRepo = AssignmentRepoJSON(self._settings.assignments) gradeRepo = GradeRepoJSON(self._settings.grades) elif self._settings.repository == "DATABASE": myClient = pymongo.MongoClient( "mongodb+srv://admin:[email protected]/test?retryWrites=true&w=majority" ) studentRepo = StudentMongoRepo(myClient) assignmentRepo = AssignmentMongoRepo(myClient) gradeRepo = GradeMongoRepo(myClient) else: studentRepo = PersistentStudentRepo(self._settings.students, self._settings.repository) assignmentRepo = PersistentAssignmentRepo( self._settings.assignments, self._settings.repository) gradeRepo = PersistentGradeRepo(self._settings.grades, self._settings.repository) undoController = UndoController() gradeController = GradeController(gradeRepo) studentController = StudentController(studentRepo) assignmentController = AssignmentController(assignmentRepo) main_controller = MainController(gradeController, studentController, undoController, assignmentController) if self._settings.ui == '': ui = UI(main_controller) ui.start() elif self._settings.ui == 'GUI': gui = Ui_MainWindow() app = QApplication(sys.argv) main_window = QMainWindow() gui.setupUi(main_window, main_controller) main_window.show() sys.exit(app.exec_())
def __init__(self, controller: MainController, show_grades, parent=None): super(GradeDialogBox, self).__init__(parent) students = controller.show_students() self.controller = controller self.show_grades = show_grades self.myLayout = QVBoxLayout() self.students = QListWidget() for student in students: item = QListWidgetItem() item.setText(student) self.students.addItem(item) self.myLayout.addWidget(self.students) self.select = QPushButton("Select") self.select.clicked.connect(self.on_select_clicked) self.myLayout.addWidget(self.select) self.setLayout(self.myLayout) self.setWindowTitle("Grade student") self.resize(500, 300)
def __init__(self, controller: MainController, parent=None): super(DeadlineStatisticsDialog, self).__init__(parent) self.controller = controller layout = QVBoxLayout() self.assignments = QListWidget() assignments = controller.show_assignments() for assignment in assignments: item = QListWidgetItem() item.setText(str(assignment)) self.assignments.addItem(item) layout.addWidget(self.assignments) selectButton = QPushButton("Get statistics") selectButton.clicked.connect(self.on_select_click) layout.addWidget(selectButton) self.setLayout(layout) self.setWindowTitle("Deadline statistics") self.resize(600, 200)
def test_load_wallet(): watch_only_wallet = WatchOnlyWallet() controller = MainController(watch_only_wallet) assert len(controller.watch_only_wallet.external_addresses) == 1 assert len(controller.watch_only_wallet.change_addresses) == 0 assert controller.watch_only_wallet.spendable_balance_satoshis == 100000
def do_activate (self): self.window = AppMainWindow (self) self.window.show_all() self.controller = MainController(self) self.controller.start()
#!/usr/bin/env python # coding=utf-8 from controllers.login_controller import LoginController from controllers.main_controller import MainController # Just for testing, db migrate & seed # import db_seed import sys from PyQt4.QtGui import QApplication app = QApplication(sys.argv) login = LoginController() main = MainController() # login.show() # login.loggedin.connect(main.show) main.show() sys.exit(app.exec_())
class MetadataDownload(object): partner = MainController.get_partner() print type(partner.name), partner.name handler = ftp_handler.FtpHandlerFactory.create_handler(partner.name) print handler @classmethod def get_metadata_list_from_ftp(cls): try: start_time = time.time() print "start" xml_paths = cls.handler.get_new_xml_list() end_time = time.time() print "\n===get_metadata_list_from_ftp Elapsed Time: " + str( int(end_time - start_time)) + " seconds===" return xml_paths except: raise @classmethod def filter_new_metadata(cls, xml_paths): new_xml_locations = [] session = Connection.create_session() stored_paths = [ seq[0] for seq in session.query(Videos.ftpInfoLocation).filter_by( partnerId=cls.partner.id).all() ] for xml_path in xml_paths: if xml_path not in stored_paths: xml_location = {} filename = xml_path.split('/')[-1] xml_location['remote_folder'] = xml_path[:-len(filename)] xml_location['local_folder'] = cls.handler.local_meta_folder xml_location[ 'archive_folder'] = cls.handler.archive_meta_folder xml_location['filename'] = filename new_xml_locations.append(xml_location) print new_xml_locations @classmethod def download_new_xmls(cls, xml_locations): try: start_time = time.time() if xml_locations: if cls.partner.name == "UMG": # TODO: UMG does not need ftp print "nah..." else: for xml_location in xml_locations: sys.stdout.write("Downloading: %s" % xml_location['remote_folder'] + xml_location['filename']) try: cls.handler.sftp.get( xml_location['remote_folder'] + xml_location['filename'], xml_location['local_folder'] + xml_location['filename']) sys.stdout.write(" Success.\n") except: sys.stdout.write(" Failed...skip\n") xml_locations.remove(xml_location) else: print "No new XMLs need to be downloaded for " + cls.partner.name end_time = time.time() print "\n===download_new_xmls Elapsed Time: " + str( int(end_time - start_time)) + " seconds===" return except: raise
def OnInit(self): #Create the Main Controller for the app self.controller = MainController(self) return True