Merge
This commit is contained in:
parent
e813a01e14
commit
89d49f3e34
20
app/model.py
20
app/model.py
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import sqlalchemy
|
import sqlalchemy
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime, time
|
||||||
from sqlalchemy.ext.declarative import declarative_base
|
from sqlalchemy.ext.declarative import declarative_base
|
||||||
from sqlalchemy import (
|
from sqlalchemy import (
|
||||||
Boolean,
|
Boolean,
|
||||||
@ -130,6 +130,24 @@ class Playdates(Base):
|
|||||||
).delete()
|
).delete()
|
||||||
session.commit()
|
session.commit()
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def last_show(session, track):
|
||||||
|
"""
|
||||||
|
Return datetime track last played during show time or None
|
||||||
|
|
||||||
|
FIXME: hard coded times in here
|
||||||
|
"""
|
||||||
|
|
||||||
|
# dayofweek: 1 = Sunday, 2 = Monday, ..., 7 = Saturday.
|
||||||
|
friday = 6
|
||||||
|
after = time(20, 0)
|
||||||
|
|
||||||
|
return session.query(Playdates).filter(
|
||||||
|
(Playdates.track_id == track.id),
|
||||||
|
(func.dayofweek(Playdates.lastplayed) == friday),
|
||||||
|
(func.time(Playdates.lastplayed) > after),
|
||||||
|
).order_by(Playdates.lastplayed.desc()).first()
|
||||||
|
|
||||||
|
|
||||||
class Playlists(Base):
|
class Playlists(Base):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -530,6 +530,11 @@ class PlaylistTab(QTableWidget):
|
|||||||
duration = Tracks.get_duration(session, self._get_row_id(row))
|
duration = Tracks.get_duration(session, self._get_row_id(row))
|
||||||
return start + timedelta(milliseconds=duration)
|
return start + timedelta(milliseconds=duration)
|
||||||
|
|
||||||
|
def _can_read_track(self, track):
|
||||||
|
"Check track file is readable"
|
||||||
|
|
||||||
|
return os.access(track.path, os.R_OK)
|
||||||
|
|
||||||
def _context_menu(self, pos):
|
def _context_menu(self, pos):
|
||||||
|
|
||||||
self.menu.exec_(self.mapToGlobal(pos))
|
self.menu.exec_(self.mapToGlobal(pos))
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user