def solve(path: str) -> List[List[Magnet]]: print("--- start import ---") js = Config.open(path) times = setupconfiguration(js) result_magnets = [None for _ in times] # 誘導起電力を算出するのに必要 solver = Solver(js["config"]["solver"]) print("----- start solving magnetic field ---") progress = ProgressBar(len(times)) # マルチスレッドで実行 with futures.ThreadPoolExecutor() as executor: fs = [] for i, _ in enumerate(times): fs.append( executor.submit(computemagneticfield, js, solver, i, result_magnets)) for f in futures.as_completed(fs): progress.incrementasprint() # TODO: CLEAR # 残り時間を表示する部分を作る print("") # 改行して再開する必要がある solver.computeinductance(result_magnets, times) return result_magnets
def __init__(self): self.log = Log().setup_logging() self.progressbar = ProgressBar() self.database = DatabaseClass(self.log) self.program_path = os.path.join(utils.get_current_path(), constants.EXE_PROGRAM_NAME) self.new_version = None self.new_version_msg = None self.client_version = None
def __init__(self, qtobj, form): self.qtobj = qtobj self.form = form self.client_version = constants.VERSION self.log = Log().setup_logging() self.database = DatabaseClass(self.log) self.progressbar = ProgressBar() self.check_program_updates = True self.check_reshade_updates = True self.create_screenshots_folder = True self.show_info_messages = True self.use_dark_theme = True self.update_shaders = True self.need_apply = False self.selected_game = None self.game_config_form = None self.reshade_version = None self.program_version = None self.local_reshade_path = None self.new_version = None self.remote_reshade_version = None self.remote_reshade_download_url = None