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!')
Example #2
0
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()
Example #4
0
 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()
Example #5
0
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()
Example #6
0
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()
Example #7
0
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()
Example #13
0
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)
Example #14
0
 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()
Example #15
0
    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))
Example #19
0
    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)
Example #20
0
 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!')
Example #22
0
    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)
Example #23
0
 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
Example #24
0
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()
Example #26
0
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 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_())
Example #28
0
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)
Example #29
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)
Example #32
0
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
Example #33
0
	def do_activate (self):
		self.window = AppMainWindow (self)
		self.window.show_all()

		self.controller = MainController(self)
		self.controller.start()
Example #34
0
#!/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_())
Example #35
0
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
Example #36
0
 def OnInit(self):
     #Create the Main Controller for the app
     self.controller = MainController(self)
     return True