def app_main(): FSGSDirectories.initialize() Settings.instance().load() print("") print("Directories:") print("* base_dir =", FSGSDirectories.get_base_dir()) print("* cache_dir =", FSGSDirectories.get_cache_dir()) print("* cdroms_dir =", FSGSDirectories.get_cdroms_dir()) print("* configurations_dir =", FSGSDirectories.get_configurations_dir()) print("* controllers_dir =", FSGSDirectories.get_controllers_dir()) print("* covers_dir =", FSGSDirectories.get_covers_dir()) print("* data_dir =", FSGSDirectories.get_data_dir()) print("* downloads_dir =", FSGSDirectories.downloads_dir()) print("* floppies_dir =", FSGSDirectories.get_floppies_dir()) print("* hard_drives_dir =", FSGSDirectories.get_hard_drives_dir()) # print("* images_dir =", FSGSDirectories.get_images_dir()) print("* kickstarts_dir =", FSGSDirectories.get_kickstarts_dir()) print("* launcher_dir =", FSGSDirectories.get_launcher_dir()) print("* logs_dir =", FSGSDirectories.get_logs_dir()) print("* plugins_dir =", FSGSDirectories.get_plugins_dir()) # print("* portable_dir =", FSGSDirectories.portable_dir()) print("* save_states_dir =", FSGSDirectories.get_save_states_dir()) print("* screenshots_dir =", FSGSDirectories.get_screenshots_dir()) print("* screenshots_output_dir =", FSGSDirectories.screenshots_output_dir()) print("* themes_dir =", FSGSDirectories.get_themes_dir()) print("* titles_dir =", FSGSDirectories.get_titles_dir()) print("* whdload_dir =", FSGSDirectories.get_whdload_dir()) print("")
def app_main(): FSGSDirectories.initialize() Settings.instance().load() print("") print("Directories:") print("* base_dir =", FSGSDirectories.get_base_dir()) print("* cache_dir =", FSGSDirectories.get_cache_dir()) print("* cdroms_dir =", FSGSDirectories.get_cdroms_dir()) print("* configurations_dir =", FSGSDirectories.get_configurations_dir()) print("* controllers_dir =", FSGSDirectories.get_controllers_dir()) print("* covers_dir =", FSGSDirectories.get_covers_dir()) print("* data_dir =", FSGSDirectories.get_data_dir()) print("* downloads_dir =", FSGSDirectories.downloads_dir()) print("* floppies_dir =", FSGSDirectories.get_floppies_dir()) print("* hard_drives_dir =", FSGSDirectories.get_hard_drives_dir()) # print("* images_dir =", FSGSDirectories.get_images_dir()) print("* kickstarts_dir =", FSGSDirectories.get_kickstarts_dir()) print("* launcher_dir =", FSGSDirectories.get_launcher_dir()) print("* logs_dir =", FSGSDirectories.get_logs_dir()) print("* plugins_dir =", FSGSDirectories.get_plugins_dir()) # print("* portable_dir =", FSGSDirectories.portable_dir()) print("* save_states_dir =", FSGSDirectories.get_save_states_dir()) print("* screenshots_dir =", FSGSDirectories.get_screenshots_dir()) print("* screenshots_output_dir =", FSGSDirectories.screenshots_output_dir()) print("* themes_dir =", FSGSDirectories.get_themes_dir()) print("* titles_dir =", FSGSDirectories.get_titles_dir()) print("* whdload_dir =", FSGSDirectories.get_whdload_dir()) print("")
def app_main(): FSGSDirectories.initialize() Settings.instance().verbose = False Settings.instance().load() print("base_dir", FSGSDirectories.get_base_dir()) print("cache_dir", FSGSDirectories.get_cache_dir()) print("cdroms_dir", FSGSDirectories.get_cdroms_dir()) print("configurations_dir", FSGSDirectories.get_configurations_dir()) print("controllers_dir", FSGSDirectories.get_controllers_dir()) print("covers_dir", FSGSDirectories.get_covers_dir()) print("data_dir", FSGSDirectories.get_data_dir()) print("downloads_dir", FSGSDirectories.downloads_dir()) print("floppies_dir", FSGSDirectories.get_floppies_dir()) print("hard_drives_dir", FSGSDirectories.get_hard_drives_dir()) # print("images_dir", FSGSDirectories.get_images_dir()) print("kickstarts_dir", FSGSDirectories.get_kickstarts_dir()) print("launcher_dir", FSGSDirectories.get_launcher_dir()) print("logs_dir", FSGSDirectories.get_logs_dir()) print("plugins_dir", FSGSDirectories.get_plugins_dir()) # print("portable_dir", FSGSDirectories.portable_dir()) print("save_states_dir", FSGSDirectories.get_save_states_dir()) print("screenshots_dir", FSGSDirectories.get_screenshots_dir()) print("screenshots_output_dir =", FSGSDirectories.screenshots_output_dir()) print("themes_dir", FSGSDirectories.get_themes_dir()) print("titles_dir", FSGSDirectories.get_titles_dir())
def get_default_directory(self, type): if type == "floppy": return FSGSDirectories.get_floppies_dir() elif type == "cd": return FSGSDirectories.get_cdroms_dir() elif type == "hd": return FSGSDirectories.get_hard_drives_dir() elif type == "rom": return FSGSDirectories.get_kickstarts_dir() raise Exception("unknown file dialog type")
def on_item_selected(self, index): self.set_path(FSGSDirectories.get_hard_drives_dir()) if index == 0: size = "256" elif index == 1: size = "1024" else: raise Exception("Unexpected index " + repr(index)) self.size_field.set_text(size) self.size_field.enable(True)
def on_item_selected(self, index): self.set_path(FSGSDirectories.get_hard_drives_dir()) if index == 0: size = "256" elif index == 1: size = "1024" else: raise Exception("Unexpected index " + repr(index)) self.size_field.set_text(size) self.size_field.enable(True)
def get_default_directory(media_type): if media_type == "floppy": return FSGSDirectories.get_floppies_dir() elif media_type == "cd": return FSGSDirectories.get_cdroms_dir() elif media_type == "hd": return FSGSDirectories.get_hard_drives_dir() elif media_type == "rom": return FSGSDirectories.get_kickstarts_dir() # FIXME: Return new Media directory instead return FSGSDirectories.get_base_dir()
def get_default_directory(media_type): if media_type == "floppy": return FSGSDirectories.get_floppies_dir() elif media_type == "cd": return FSGSDirectories.get_cdroms_dir() elif media_type == "hd": return FSGSDirectories.get_hard_drives_dir() elif media_type == "rom": return FSGSDirectories.get_kickstarts_dir() # FIXME: Return new Media directory instead return FSGSDirectories.get_base_dir()
def browse(self, dir_mode): default_dir = FSGSDirectories.get_hard_drives_dir() dialog = LauncherFilePicker( self.get_window(), gettext("Choose Hard Drive"), "hd", LauncherConfig.get(self.config_key), dir_mode=dir_mode, ) if not dialog.show_modal(): dialog.destroy() return path = dialog.get_path() dialog.destroy() checksum_tool = ChecksumTool(self.get_window()) sha1 = "" if dir_mode: print("not calculating HD checksums for directories") else: size = os.path.getsize(path) if size < 64 * 1024 * 1024: sha1 = checksum_tool.checksum(path) else: print("not calculating HD checksums HD files > 64MB") full_path = path # FIXME: use contract function dir_path, file = os.path.split(path) self.text_field.set_text(file) if os.path.normcase(os.path.normpath(dir_path)) == os.path.normcase( os.path.normpath(default_dir) ): path = file self.text_field.set_text(path) values = [(self.config_key, path), (self.config_key_sha1, sha1)] if self.index == 0: # whdload_args = "" # dummy, ext = os.path.splitext(path) # if not dir_mode and ext.lower() in Archive.extensions: # try: # whdload_args = self.calculate_whdload_args(full_path) # except Exception: # traceback.print_exc() # values.append(("x_whdload_args", whdload_args)) values.extend( whdload.generate_config_for_archive( full_path, model_config=False ).items() ) LauncherConfig.set_multiple(values)
def browse(self, dir_mode): default_dir = FSGSDirectories.get_hard_drives_dir() dialog = LauncherFilePicker( self.get_window(), gettext("Choose Hard Drive"), "hd", LauncherConfig.get(self.config_key), dir_mode=dir_mode, ) if not dialog.show_modal(): dialog.destroy() return path = dialog.get_path() dialog.destroy() checksum_tool = ChecksumTool(self.get_window()) sha1 = "" if dir_mode: print("not calculating HD checksums for directories") else: size = os.path.getsize(path) if size < 64 * 1024 * 1024: sha1 = checksum_tool.checksum(path) else: print("not calculating HD checksums HD files > 64MB") full_path = path # FIXME: use contract function dir_path, file = os.path.split(path) self.text_field.set_text(file) if os.path.normcase(os.path.normpath(dir_path)) == os.path.normcase( os.path.normpath(default_dir)): path = file self.text_field.set_text(path) values = [(self.config_key, path), (self.config_key_sha1, sha1)] if self.index == 0: # whdload_args = "" # dummy, ext = os.path.splitext(path) # if not dir_mode and ext.lower() in Archive.extensions: # try: # whdload_args = self.calculate_whdload_args(full_path) # except Exception: # traceback.print_exc() # values.append(("x_whdload_args", whdload_args)) values.extend( whdload.generate_config_for_archive( full_path, model_config=False).items()) LauncherConfig.set_multiple(values)
def fix_loaded_config(cls, config): print("[CONFIG] Fix loaded config") # cls.fix_joystick_ports(config) # FIXME: parent checksum_tool = ChecksumTool(None) def fix_file_checksum(sha1_key, key, base_dir, is_rom=False): path = config.get(key, "") # hack to synchronize URLs # print(repr(path)) if path.startswith("http://") or path.startswith("https://"): sha1 = path config[sha1_key] = sha1 return path = Paths.expand_path(path) sha1 = config.get(sha1_key, "") if not path: return if sha1: # assuming sha1 is correct return if not os.path.exists(path): print(repr(path), "does not exist") path = os.path.join(base_dir, path) if not os.path.exists(path): print(repr(path), "does not exist") return if os.path.isdir(path): # could set a fake checksum here or something, to indicate # that it isn't supposed to be set.. return print("checksumming", repr(path)) size = os.path.getsize(path) if size > 64 * 1024 * 1024: # not checksumming large files right now print("not checksumming large file") return if is_rom: sha1 = checksum_tool.checksum_rom(path) else: sha1 = checksum_tool.checksum(path) config[sha1_key] = sha1 for i in range(Amiga.MAX_FLOPPY_DRIVES): fix_file_checksum( "x_floppy_drive_{0}_sha1".format(i), "floppy_drive_{0}".format(i), FSGSDirectories.get_floppies_dir(), ) for i in range(Amiga.MAX_FLOPPY_IMAGES): fix_file_checksum( "x_floppy_image_{0}_sha1".format(i), "floppy_image_{0}".format(i), FSGSDirectories.get_floppies_dir(), ) for i in range(Amiga.MAX_CDROM_DRIVES): fix_file_checksum( "x_cdrom_drive_{0}_sha1".format(i), "cdrom_drive_{0}".format(i), FSGSDirectories.get_cdroms_dir(), ) for i in range(Amiga.MAX_CDROM_IMAGES): fix_file_checksum( "x_cdrom_image_{0}_sha1".format(i), "cdrom_image_{0}".format(i), FSGSDirectories.get_cdroms_dir(), ) for i in range(Amiga.MAX_HARD_DRIVES): fix_file_checksum( "x_hard_drive_{0}_sha1".format(i), "hard_drive_{0}".format(i), FSGSDirectories.get_hard_drives_dir(), ) # FIXME: need to handle checksums for Cloanto here fix_file_checksum( "x_kickstart_file_sha1", "x_kickstart_file", FSGSDirectories.get_kickstarts_dir(), is_rom=True, ) fix_file_checksum( "x_kickstart_ext_file_sha1", "x_kickstart_ext_file", FSGSDirectories.get_kickstarts_dir(), is_rom=True, ) # Convert uaegfx_card to new graphics_card option uae_gfx_card = config.get(Option.UAEGFX_CARD, "") if uae_gfx_card: if uae_gfx_card == "1": if not config.get(Option.GRAPHICS_CARD, ""): config[Option.GRAPHICS_CARD] = "uaegfx" del config[Option.UAEGFX_CARD] # FIXME: Set changed! config["__changed"] = "1"
def get_hard_drives_dir(self): # FIXME: dependency loop return FSGSDirectories.get_hard_drives_dir()
def get_hard_drives_dir(self): # FIXME: dependency loop return FSGSDirectories.get_hard_drives_dir()
def fix_loaded_config(cls, config): print("[CONFIG] Fix loaded config") # cls.fix_joystick_ports(config) # FIXME: parent checksum_tool = ChecksumTool(None) def fix_file_checksum(sha1_key, key, base_dir, is_rom=False): path = config.get(key, "") # hack to synchronize URLs # print(repr(path)) if path.startswith("http://") or path.startswith("https://"): sha1 = path config[sha1_key] = sha1 return path = Paths.expand_path(path) sha1 = config.get(sha1_key, "") if not path: return if sha1: # assuming sha1 is correct return if not os.path.exists(path): print(repr(path), "does not exist") path = os.path.join(base_dir, path) if not os.path.exists(path): print(repr(path), "does not exist") return if os.path.isdir(path): # could set a fake checksum here or something, to indicate # that it isn't supposed to be set.. return print("checksumming", repr(path)) size = os.path.getsize(path) if size > 64 * 1024 * 1024: # not checksumming large files right now print("not checksumming large file") return if is_rom: sha1 = checksum_tool.checksum_rom(path) else: sha1 = checksum_tool.checksum(path) config[sha1_key] = sha1 for i in range(Amiga.MAX_FLOPPY_DRIVES): fix_file_checksum( "x_floppy_drive_{0}_sha1".format(i), "floppy_drive_{0}".format(i), FSGSDirectories.get_floppies_dir()) for i in range(Amiga.MAX_FLOPPY_IMAGES): fix_file_checksum( "x_floppy_image_{0}_sha1".format(i), "floppy_image_{0}".format(i), FSGSDirectories.get_floppies_dir()) for i in range(Amiga.MAX_CDROM_DRIVES): fix_file_checksum( "x_cdrom_drive_{0}_sha1".format(i), "cdrom_drive_{0}".format(i), FSGSDirectories.get_cdroms_dir()) for i in range(Amiga.MAX_CDROM_IMAGES): fix_file_checksum( "x_cdrom_image_{0}_sha1".format(i), "cdrom_image_{0}".format(i), FSGSDirectories.get_cdroms_dir()) for i in range(Amiga.MAX_HARD_DRIVES): fix_file_checksum( "x_hard_drive_{0}_sha1".format(i), "hard_drive_{0}".format(i), FSGSDirectories.get_hard_drives_dir()) # FIXME: need to handle checksums for Cloanto here fix_file_checksum( "x_kickstart_file_sha1", "x_kickstart_file", FSGSDirectories.get_kickstarts_dir(), is_rom=True) fix_file_checksum( "x_kickstart_ext_file_sha1", "x_kickstart_ext_file", FSGSDirectories.get_kickstarts_dir(), is_rom=True) # Convert uaegfx_card to new graphics_card option uae_gfx_card = config.get(Option.UAEGFX_CARD, "") if uae_gfx_card: if uae_gfx_card == "1": if not config.get(Option.GRAPHICS_CARD, ""): config[Option.GRAPHICS_CARD] = "uaegfx" del config[Option.UAEGFX_CARD] # FIXME: Set changed! config["__changed"] = "1"