Wobuzz/wobuzz/command_line.py

60 lines
1.5 KiB
Python
Raw Normal View History

#!/usr/bin/python3
2025-01-26 14:07:00 +01:00
import os
import sys
import argparse
2025-02-04 13:14:15 +01:00
from wobuzz.player.playlist import Playlist
def main():
description = "A music player made by The Wobbler."
parser = argparse.ArgumentParser(description=description)
parser.add_argument("track", nargs="*", help="Plays audio files the from given paths.", metavar="TRACKS")
parser.add_argument("-p", "--playlist", help="Imports a playlist from the given path.", metavar="PLAYLIST_PATH")
arguments = parser.parse_args()
from .main import Wobuzz
app = Wobuzz()
app.post_init()
if arguments.playlist:
2025-02-04 13:14:15 +01:00
playlist = Playlist(app, "Temporary Playlist")
2025-02-04 13:14:15 +01:00
playlist.load_from_m3u(arguments.playlist)
app.library.playlists.append(playlist)
if app.library.temporary_playlist in app.library.playlists:
app.library.playlists.remove(app.library.temporary_playlist)
app.library.temporary_playlist = playlist
2025-01-26 14:07:00 +01:00
2025-02-04 13:14:15 +01:00
if arguments.track:
2025-01-26 14:07:00 +01:00
# make track paths absolute
tracks = []
for track in arguments.track:
tracks.append(os.path.abspath(track))
2025-02-04 13:14:15 +01:00
playlist = Playlist(app, "Temporary Playlist")
playlist.load_from_paths(tracks)
app.library.playlists.append(playlist)
if app.library.temporary_playlist in app.library.playlists:
app.library.playlists.remove(app.library.temporary_playlist)
app.library.temporary_playlist = playlist
app.library.load_playlist_views()
2025-02-11 17:34:04 +01:00
sys.exit(app.qt_app.exec())
if __name__ == "__main__":
main()