Wobuzz/wobuzz/command_line.py

57 lines
1.5 KiB
Python

#!/usr/bin/python3
import os
import sys
import argparse
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()
if arguments.playlist:
playlist = Playlist(app, "Temporary Playlist")
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
if arguments.track:
# make track paths absolute
tracks = []
for track in arguments.track:
tracks.append(os.path.abspath(track))
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.post_init()
sys.exit(app.qt_app.exec())
if __name__ == "__main__":
main()