Fix sound length metadata having no formatting.

This commit is contained in:
csd4ni3l
2025-06-26 22:06:07 +02:00
parent ad51f1236f
commit 716ebfa021
2 changed files with 20 additions and 3 deletions

View File

@@ -3,7 +3,7 @@ import arcade, pyglet
from utils.preload import * from utils.preload import *
from utils.constants import button_style, slider_style, audio_extensions, discord_presence_id from utils.constants import button_style, slider_style, audio_extensions, discord_presence_id
from utils.utils import FakePyPresence, UIFocusTextureButton, MusicItem, extract_metadata_and_thumbnail, truncate_end, adjust_volume from utils.utils import FakePyPresence, UIFocusTextureButton, MusicItem, extract_metadata_and_thumbnail, truncate_end, adjust_volume, convert_seconds_to_date
from thefuzz import process, fuzz from thefuzz import process, fuzz
@@ -264,7 +264,7 @@ class Main(arcade.gui.UIView):
def open_metadata(self, file_path): def open_metadata(self, file_path):
metadata = self.file_metadata[file_path] metadata = self.file_metadata[file_path]
metadata_text = f"File path: {file_path}\nArtist: {metadata['artist']}\nTitle: {metadata['title']}\nSound length: {int(metadata['sound_length'])}\nBitrate: {metadata['bit_rate']}Kbps" metadata_text = f"File path: {file_path}\nArtist: {metadata['artist']}\nTitle: {metadata['title']}\nSound length: {convert_seconds_to_date(int(metadata['sound_length']))}\nBitrate: {metadata['bit_rate']}Kbps"
msgbox = arcade.gui.UIMessageBox(title=f"{metadata['artist']} - {metadata['title']} Metadata", buttons=("Uploader", "Source", "Close"), message_text=metadata_text, width=self.window.width / 2, height=self.window.height / 2) msgbox = arcade.gui.UIMessageBox(title=f"{metadata['artist']} - {metadata['title']} Metadata", buttons=("Uploader", "Source", "Close"), message_text=metadata_text, width=self.window.width / 2, height=self.window.height / 2)
msgbox.on_action = lambda event, metadata=metadata: self.metadata_button_action(event.action, metadata) msgbox.on_action = lambda event, metadata=metadata: self.metadata_button_action(event.action, metadata)

View File

@@ -302,3 +302,20 @@ def adjust_volume(input_path, volume):
change = volume - audio.dBFS change = volume - audio.dBFS
audio.apply_gain(change) audio.apply_gain(change)
audio.export(input_path, **export_args) audio.export(input_path, **export_args)
def convert_seconds_to_date(seconds):
days, remainder = divmod(seconds, 86400)
hours, remainder = divmod(remainder, 3600)
minutes, seconds = divmod(remainder, 60)
result = ""
if days > 0:
result += "{} days ".format(int(days))
if hours > 0:
result += "{} hours ".format(int(hours))
if minutes > 0:
result += "{} minutes ".format(int(minutes))
if seconds > 0 or not any([days, hours, minutes]):
result += "{} seconds".format(int(seconds))
return result.strip()