feat: export to a .txt file instead of .lrc when --plain
This commit is contained in:
+8
-3
@@ -254,10 +254,15 @@ def export(
|
|||||||
logger.error("No lyrics available to export.")
|
logger.error("No lyrics available to export.")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
# Output file extension
|
||||||
|
ext = ".lrc" if not plain else ".txt"
|
||||||
|
if output and not output.endswith(ext):
|
||||||
|
output += ext
|
||||||
|
|
||||||
# Build default output path
|
# Build default output path
|
||||||
if not output:
|
if not output:
|
||||||
if track.url:
|
if track.url:
|
||||||
lrc_path = get_sidecar_path(track.url, ensure_exists=False)
|
lrc_path = get_sidecar_path(track.url, ensure_exists=False, extension=ext)
|
||||||
if lrc_path:
|
if lrc_path:
|
||||||
output = str(lrc_path)
|
output = str(lrc_path)
|
||||||
logger.info(f"Exporting to sidecar path: {output}")
|
logger.info(f"Exporting to sidecar path: {output}")
|
||||||
@@ -265,9 +270,9 @@ def export(
|
|||||||
# Fallback to current directory with sanitized filename
|
# Fallback to current directory with sanitized filename
|
||||||
if not output:
|
if not output:
|
||||||
filename = (
|
filename = (
|
||||||
f"{track.artist} - {track.title}.lrc"
|
f"{track.artist} - {track.title}{ext}"
|
||||||
if track.artist and track.title
|
if track.artist and track.title
|
||||||
else "lyrics.lrc"
|
else "lyrics" + ext
|
||||||
)
|
)
|
||||||
# Sanitize filename
|
# Sanitize filename
|
||||||
filename = "".join(
|
filename = "".join(
|
||||||
|
|||||||
+5
-2
@@ -297,7 +297,10 @@ def get_audio_path(audio_url: str, ensure_exists: bool = False) -> Optional[Path
|
|||||||
|
|
||||||
|
|
||||||
def get_sidecar_path(
|
def get_sidecar_path(
|
||||||
audio_url: str, ensure_audio_exists: bool = False, ensure_exists: bool = False
|
audio_url: str,
|
||||||
|
ensure_audio_exists: bool = False,
|
||||||
|
ensure_exists: bool = False,
|
||||||
|
extension: str = ".lrc",
|
||||||
) -> Optional[Path]:
|
) -> Optional[Path]:
|
||||||
"""Given a file:// URL, return the corresponding .lrc sidecar path.
|
"""Given a file:// URL, return the corresponding .lrc sidecar path.
|
||||||
|
|
||||||
@@ -307,7 +310,7 @@ def get_sidecar_path(
|
|||||||
audio_path = get_audio_path(audio_url, ensure_exists=ensure_audio_exists)
|
audio_path = get_audio_path(audio_url, ensure_exists=ensure_audio_exists)
|
||||||
if not audio_path:
|
if not audio_path:
|
||||||
return None
|
return None
|
||||||
lrc_path = audio_path.with_suffix(".lrc")
|
lrc_path = audio_path.with_suffix(extension)
|
||||||
if ensure_exists and not lrc_path.exists():
|
if ensure_exists and not lrc_path.exists():
|
||||||
return None
|
return None
|
||||||
return lrc_path
|
return lrc_path
|
||||||
|
|||||||
Reference in New Issue
Block a user