Improve 'last played' strings
This commit is contained in:
parent
89d49f3e34
commit
0836f74d17
@ -3,7 +3,13 @@ from datetime import datetime, date
|
|||||||
|
|
||||||
def get_relative_date(past_date, reference_date=None):
|
def get_relative_date(past_date, reference_date=None):
|
||||||
"""
|
"""
|
||||||
Return relative date as string.
|
Return how long before reference_date past_date is as string.
|
||||||
|
|
||||||
|
Params:
|
||||||
|
@past_date: datetime
|
||||||
|
@reference_date: datetime, defaults to current date and time
|
||||||
|
|
||||||
|
@return: string
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if not past_date:
|
if not past_date:
|
||||||
@ -19,7 +25,15 @@ def get_relative_date(past_date, reference_date=None):
|
|||||||
if weeks == days == 0:
|
if weeks == days == 0:
|
||||||
# Played today, so return time instead
|
# Played today, so return time instead
|
||||||
return past_date.strftime("%H:%M")
|
return past_date.strftime("%H:%M")
|
||||||
return f"{weeks} weeks, {days} days ago"
|
if weeks == 1:
|
||||||
|
weeks_str = "week"
|
||||||
|
else:
|
||||||
|
weeks_str = "weeks"
|
||||||
|
if days == 1:
|
||||||
|
days_str = "day"
|
||||||
|
else:
|
||||||
|
days_str = "days"
|
||||||
|
return f"{weeks} {weeks_str}, {days} {days_str} ago"
|
||||||
|
|
||||||
|
|
||||||
def ms_to_mmss(ms, decimals=0, negative=False):
|
def ms_to_mmss(ms, decimals=0, negative=False):
|
||||||
|
|||||||
18
app/model.py
18
app/model.py
@ -148,6 +148,24 @@ class Playdates(Base):
|
|||||||
(func.time(Playdates.lastplayed) > after),
|
(func.time(Playdates.lastplayed) > after),
|
||||||
).order_by(Playdates.lastplayed.desc()).first()
|
).order_by(Playdates.lastplayed.desc()).first()
|
||||||
|
|
||||||
|
@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):
|
||||||
"""
|
"""
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user