def __init__(self, fail_pixmap: QPixmap, large: bool = True): super().__init__() self.large = large # Thumbnail creation should take no longer than 1 s self.pool.setExpiryTimeout(1000) directory = os.path.join(xdg.user_cache_dir(), "thumbnails") self.directory = (os.path.join(directory, "large") if large else os.path.join(directory, "normal")) self.fail_directory = os.path.join(directory, "fail", f"vimiv-{vimiv.__version__}") xdg.makedirs(self.directory, self.fail_directory) self.fail_pixmap = fail_pixmap
def init_directories(args: argparse.Namespace) -> None: """Create vimiv cache, config and data directories. The directories are either the directories defined in the freedesktop standard or located in a temporary base directory. Args: args: Arguments returned from parser.parse_args(). """ if args.temp_basedir: global _tmpdir _tmpdir = tempfile.TemporaryDirectory(prefix="vimiv-tempdir-") args.basedir = _tmpdir.name if args.basedir is not None: xdg.basedir = args.basedir xdg.makedirs(xdg.vimiv_cache_dir(), xdg.vimiv_config_dir(), xdg.vimiv_data_dir())
def dump(name: str, style: Style): """Dump style to styles file.""" filename = abspath(name) xdg.makedirs(os.path.dirname(filename)) _logger.debug("Dumping style to file '%s'", filename) parser = configparser.ConfigParser() parser.add_section("STYLE") for option, value in style.items(): option = option.strip("{}") parser["STYLE"][option] = value with open(filename, "w", encoding="utf-8") as f: f.write("; This file is a reference for creating own styles." " It will never be read.\n" "; To change values, copy this file using a new name and" " set the style setting\n; in vimiv.conf to that name.\n") parser.write(f) f.write("; vim:ft=dosini")
def __init__(self, name: str, read_only: bool = True): self.name = name abspath = Tag.path(name) exists = os.path.isfile(abspath) self._mode = "r" if read_only else ("r+" if exists else "a+") _logger.debug("Opened tag object: '%s'", self) xdg.makedirs(os.path.dirname(abspath)) try: self._file = open(abspath, self._mode) except FileNotFoundError: # For read-only if the file does not exist raise commands.CommandError(f"No tag called '{name}'") except OSError as e: raise commands.CommandError(f"Error reading '{name}': {e}") if read_only: _logger.debug("%s: Reading tag file", self) elif not exists: _logger.debug("%s: Creating new tag file", self) self._write_header() else: _logger.debug("%s: Appending to existing tag file", self)
def init() -> None: """Create the necessary directories.""" global _files_directory, _info_directory _files_directory = xdg.user_data_dir("Trash", "files") _info_directory = xdg.user_data_dir("Trash", "info") xdg.makedirs(_files_directory, _info_directory)