Play selected track on Return

This commit is contained in:
Keith Edmunds 2021-03-24 21:15:04 +00:00
parent f5e066c210
commit bf990f7486
2 changed files with 19 additions and 1 deletions

9
app.py
View File

@ -1,5 +1,6 @@
#!/usr/bin/python3
import vlc
import sys
from PyQt5.QtCore import Qt
@ -88,7 +89,13 @@ class Window(QMainWindow, Ui_MainWindow):
def play_selected(self):
if self.playlist.selectionModel().hasSelection():
row = self.playlist.currentRow()
print(f"Play id={self.playlist.item(row, 0).text()}")
track_id = int(self.playlist.item(row, 0).text())
# TODO: get_path may raise exception
track_path = Tracks.get_path(track_id)
if track_path:
player = vlc.MediaPlayer(track_path)
import ipdb; ipdb.set_trace()
player.play()
def selectFile(self):
dlg = QFileDialog()

View File

@ -1,6 +1,7 @@
#!/usr/bin/python3
import logging
import os
import sqlalchemy
import pytiger.logging.config
@ -13,6 +14,7 @@ from sqlalchemy.orm import sessionmaker
# "Constants"
DISPLAY_SQL = False
MYSQL_CONNECT = "mysql+mysqldb://songdb:songdb@localhost/songdb"
ROOT = "/home/kae/music"
# Instantiate logging
pytiger.logging.config.basic_config(stderr=False, level=logging.INFO)
@ -67,6 +69,15 @@ class Tracks(Base):
session.add(track)
return track
@staticmethod
def get_path(id):
try:
path = session.query(Tracks.path).filter(Tracks.id == id).one()[0]
return os.path.join(ROOT, path)
except NoResultFound:
print(f"Can't find track id {id}")
return None
@staticmethod
def search_titles(text):
return (