def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.init_template() self.label_backup_directory_path.set_text( str(get_app_paths().dir_backup)) self.list_export_settings_header.set_header_func( list_header_nested_func, None) self.list_export_settings.set_header_func(list_header_func, None) self.list_auto_save_interval.set_header_func(list_header_nested_func, None) self.list_open_back_directory.set_header_func(list_header_nested_func, None) # Bind settings to widgets s = get_settings() s.bind_import_open_video_automatically( self.switch_load_video_automatically, "active") s.bind_export_qc_document_nick(self.label_nick, "label") s.bind_export_append_nick(self.switch_append_nick, "active") s.bind_export_write_header(self.switch_write_header, "active") s.bind_export_write_header(self.revealer_header_section, "reveal-child") s.bind_export_write_date(self.switch_write_date, "active") s.bind_export_write_generator(self.switch_write_generator, "active") s.bind_export_write_nick(self.switch_write_nick, "active") s.bind_export_write_path(self.switch_write_path, "active") s.bind_auto_save_enabled(self.switch_auto_save, "active") s.bind_auto_save_enabled(self.revealer_auto_save, "reveal-child") s.bind_auto_save_interval(self.spin_btn_auto_save_interval, "value")
def on_button_open_backup_directory_clicked(self, _): directory = str(get_app_paths().dir_backup) plat = platform.system() if plat == "Windows": import os os.startfile(directory) else: from gi.repository import Gio # The following code should even work on Windows, but it doesn't Gio.app_info_launch_default_for_uri(uri="file:///" + directory)
def __init__(self, resource_path: str): from mpvqc import get_app_paths self.__resource_path = resource_path self.__file_path = get_app_paths().dir_config / Path( resource_path).name self.__file_path.parent.mkdir(parents=True, exist_ok=True) self.__content_default = Gio \ .resources_lookup_data(self.__resource_path, Gio.ResourceLookupFlags.NONE) \ .get_data() \ .decode("utf-8") self.__content = self.__read()
def write_auto_save(video_path, file_content): """ Writes a qc file into the auto save zip. :param video_path: the name of the current video file :param file_content: the content to write """ today = str(datetime.today()) zip_name = "{}.zip".format("-".join(today.split("-")[:2])) zip_path = path.join(get_app_paths().dir_backup, zip_name) zip_file = ZipFile(zip_path, "a" if path.isfile(zip_path) else "w", compression=ZIP_DEFLATED) file_name = "{}-{}.txt".format(today.replace(":", "-").replace(" ", "_"), path.splitext(path.basename(video_path))[0]) try: zip_file.writestr(file_name, file_content) finally: zip_file.close()
def on_realize(self, area): self.make_current() app_paths = get_app_paths() mpv = MPV(vo="libmpv", keep_open="yes", idle="yes", osc="yes", cursor_autohide="no", input_cursor="no", config="yes", input_default_bindings="no", config_dir=app_paths.dir_config, screenshot_directory=app_paths.dir_screenshots, log_handler=print) self.__ctx = MpvRenderContext( mpv, 'opengl', opengl_init_params={'get_proc_address': self._proc_addr_wrapper}) self.__ctx.update_cb = self.on_mpv_callback self.__mpv.initialize(mpv) _set_versioning_metadata(self.__mpv)