def __init__(self, ui): """Initial""" super().__init__() self.ui = ui self.connect_signals_with_slots() self.screenshot_clicks = 0 self.preview = None self.table_name = None self.original_screenshot = None self.screenshot_image = None self.x1 = None self.x2 = None self.y1 = None self.y2 = None self.top_left_corner_img = None self.tlc = None self.selected_player = '0' self.cropped = False self.select_table = 0 self.tableList = [] mongo = MongoManager() available_tables = mongo.get_available_tables() self.ui.table_name.addItems(available_tables)
def __init__(self, ui_main_window): self.logger = logging.getLogger('gui') l = GameLogger() l.clean_database() self.p = StrategyHandler() self.p.read_strategy() p = self.p self.pause_thread = True self.exit_thread = False QObject.__init__(self) self.strategy_items_with_multipliers = { "always_call_low_stack_multiplier": 1, "out_multiplier": 1, "FlopBluffMaxEquity": 100, "TurnBluffMaxEquity": 100, "RiverBluffMaxEquity": 100, "max_abs_fundchange": 100, "RiverCheckDeceptionMinEquity": 100, "TurnCheckDeceptionMinEquity": 100, "pre_flop_equity_reduction_by_position": 100, "pre_flop_equity_increase_if_bet": 100, "pre_flop_equity_increase_if_call": 100, "minimum_bet_size": 1, "range_multiple_players": 100, "range_utg0": 100, "range_utg1": 100, "range_utg2": 100, "range_utg3": 100, "range_utg4": 100, "range_utg5": 100, "PreFlopCallPower": 1, "secondRiverBetPotMinEquity": 100, "FlopBetPower": 1, "betPotRiverEquityMaxBBM": 1, "TurnMinBetEquity": 100, "PreFlopBetPower": 1, "potAdjustmentPreFlop": 1, "RiverCallPower": 1, "minBullyEquity": 100, "PreFlopMinBetEquity": 100, "PreFlopMinCallEquity": 100, "BetPlusInc": 1, "FlopMinCallEquity": 100, "secondRoundAdjustmentPreFlop": 100, "FlopBluffMinEquity": 100, "TurnBluffMinEquity": 100, "FlopCallPower": 1, "TurnCallPower": 1, "RiverMinCallEquity": 100, "CoveredPlayersCallLikelihoodFlop": 100, "TurnMinCallEquity": 100, "secondRoundAdjustment": 100, "maxPotAdjustmentPreFlop": 100, "bullyDivider": 1, "maxBullyEquity": 100, "alwaysCallEquity": 100, "PreFlopMaxBetEquity": 100, "RiverBetPower": 1, "minimumLossForIteration": -1, "initialFunds": 100, "initialFunds2": 100, "potAdjustment": 1, "FlopCheckDeceptionMinEquity": 100, "bigBlind": 100, "secondRoundAdjustmentPowerIncrease": 1, "considerLastGames": 1, "betPotRiverEquity": 100, "RiverBluffMinEquity": 100, "smallBlind": 100, "TurnBetPower": 1, "FlopMinBetEquity": 100, "strategyIterationGames": 1, "RiverMinBetEquity": 100, "maxPotAdjustment": 100 } self.ui = ui_main_window self.progressbar_value = 0 # Main Window matplotlip widgets self.gui_funds = FundsPlotter(ui_main_window, p) self.gui_bar = BarPlotter(ui_main_window, p) self.gui_curve = CurvePlot(ui_main_window, p) self.gui_pie = PiePlotter(ui_main_window, winnerCardTypeList={'Highcard': 22}) # main window status update signal connections self.signal_progressbar_increase.connect(self.increase_progressbar) self.signal_progressbar_reset.connect(self.reset_progressbar) self.signal_status.connect(self.update_mainwindow_status) self.signal_decision.connect(self.update_mainwindow_decision) self.signal_lcd_number_update.connect(self.update_lcd_number) self.signal_label_number_update.connect(self.update_label_number) self.signal_bar_chart_update.connect(lambda: self.gui_bar.drawfigure(l, p.current_strategy)) self.signal_funds_chart_update.connect(lambda: self.gui_funds.drawfigure(l)) self.signal_curve_chart_update1.connect(self.gui_curve.update_plots) self.signal_curve_chart_update2.connect(self.gui_curve.update_lines) self.signal_pie_chart_update.connect(self.gui_pie.drawfigure) self.signal_open_setup.connect(lambda: self.open_setup(p, l)) ui_main_window.button_genetic_algorithm.clicked.connect(lambda: self.open_genetic_algorithm(p, l)) ui_main_window.button_log_analyser.clicked.connect(lambda: self.open_strategy_analyser(p, l)) ui_main_window.button_strategy_editor.clicked.connect(lambda: self.open_strategy_editor()) ui_main_window.button_pause.clicked.connect(lambda: self.pause(ui_main_window, p)) ui_main_window.button_resume.clicked.connect(lambda: self.resume(ui_main_window, p)) ui_main_window.pushButton_setup.clicked.connect(lambda: self.open_setup(p, l)) ui_main_window.pushButton_help.clicked.connect(lambda: self.open_help(p, l)) ui_main_window.open_chat.clicked.connect(lambda: self.open_chat()) ui_main_window.button_table_setup.clicked.connect(lambda: self.open_table_setup()) self.signal_update_strategy_sliders.connect(lambda: self.update_strategy_editor_sliders(p.current_strategy)) mongo = MongoManager() available_tables = mongo.get_available_tables() ui_main_window.table_selection.addItems(available_tables) playable_list = p.get_playable_strategy_list() ui_main_window.comboBox_current_strategy.addItems(playable_list) ui_main_window.comboBox_current_strategy.currentIndexChanged[str].connect( lambda: self.signal_update_selected_strategy(l, p)) ui_main_window.table_selection.currentIndexChanged[str].connect( lambda: self.signal_update_selected_strategy(l, p)) config = ConfigObj("config.ini") initial_selection = config['last_strategy'] for i in [i for i, x in enumerate(playable_list) if x == initial_selection]: idx = i ui_main_window.comboBox_current_strategy.setCurrentIndex(idx) table_scraper_name = config['table_scraper_name'] idx = available_tables.index(table_scraper_name) ui_main_window.table_selection.setCurrentIndex(idx)