From 24e51e90f494929149df2e5f398e9c239dff7b8f Mon Sep 17 00:00:00 2001 From: "Arav K." Date: Sun, 8 Sep 2024 13:48:39 +0200 Subject: [PATCH] [beets/library] Use 'platformdirs' for the default music dir --- beets/library.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/beets/library.py b/beets/library.py index b97a80b13..f54d14875 100644 --- a/beets/library.py +++ b/beets/library.py @@ -26,6 +26,7 @@ import unicodedata from functools import cached_property from pathlib import Path +import platformdirs from mediafile import MediaFile, UnreadableFileError import beets @@ -1601,14 +1602,20 @@ class Library(dbcore.Database): def __init__( self, path="library.blb", - directory="~/Music", + directory: str | None = None, path_formats=((PF_KEY_DEFAULT, "$artist/$album/$track $title"),), replacements=None, ): timeout = beets.config["timeout"].as_number() super().__init__(path, timeout=timeout) - self.directory = bytestring_path(normpath(directory)) + if directory is not None: + self.directory = normpath(directory) + else: + # Use the appropriate platform-specific fallback directory. + music_dir = platformdirs.user_music_path() + self.directory = bytestring_path(music_dir) + self.path_formats = path_formats self.replacements = replacements