Compare commits
3 Commits
32fb44439d
...
21fe8fff83
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
21fe8fff83 | ||
|
|
780b053219 | ||
|
|
2fbf829eed |
@ -106,7 +106,7 @@ class Playdates(Base):
|
|||||||
pd.lastplayed = datetime.now()
|
pd.lastplayed = datetime.now()
|
||||||
pd.track_id = track.id
|
pd.track_id = track.id
|
||||||
session.add(pd)
|
session.add(pd)
|
||||||
track.update_lastplayed()
|
track.update_lastplayed(session, track.id)
|
||||||
session.commit()
|
session.commit()
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@ -596,8 +596,11 @@ class Tracks(Base):
|
|||||||
return session.query(Tracks).filter(
|
return session.query(Tracks).filter(
|
||||||
Tracks.id == id).one()
|
Tracks.id == id).one()
|
||||||
|
|
||||||
def update_lastplayed(self):
|
@staticmethod
|
||||||
self.lastplayed = datetime.now()
|
def update_lastplayed(session, track_id):
|
||||||
|
track = session.query(Tracks).filter(Tracks.id == track_id).one()
|
||||||
|
track.lastplayed = datetime.now()
|
||||||
|
session.commit()
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def update_artist(session, track_id, artist):
|
def update_artist(session, track_id, artist):
|
||||||
|
|||||||
@ -511,7 +511,6 @@ class Window(QMainWindow, Ui_MainWindow):
|
|||||||
QColor(Config.COLOUR_NEXT_TAB))
|
QColor(Config.COLOUR_NEXT_TAB))
|
||||||
|
|
||||||
# Tell database to record it as played
|
# Tell database to record it as played
|
||||||
self.current_track.update_lastplayed()
|
|
||||||
Playdates.add_playdate(session, self.current_track)
|
Playdates.add_playdate(session, self.current_track)
|
||||||
|
|
||||||
self.disable_play_next_controls()
|
self.disable_play_next_controls()
|
||||||
|
|||||||
@ -66,12 +66,27 @@ def create_track_from_file(session, path, verbose=False):
|
|||||||
str = f"Importing {path}"
|
str = f"Importing {path}"
|
||||||
INFO(str)
|
INFO(str)
|
||||||
INFO("-" * len(str))
|
INFO("-" * len(str))
|
||||||
track = Tracks.get_or_create(session, path)
|
|
||||||
if verbose:
|
|
||||||
INFO("Get track info...")
|
INFO("Get track info...")
|
||||||
t = get_music_info(path)
|
t = get_music_info(path)
|
||||||
track.title = t['title']
|
title = t['title']
|
||||||
track.artist = t['artist']
|
artist = t['artist']
|
||||||
|
if verbose:
|
||||||
|
INFO(f" Title: \"{title}\"")
|
||||||
|
INFO(f" Artist: \"{artist}\"")
|
||||||
|
# Check for duplicate
|
||||||
|
tracks = Tracks.search_titles(session, title)
|
||||||
|
if tracks:
|
||||||
|
print("Found the following possible matches:")
|
||||||
|
for track in tracks:
|
||||||
|
print(f'"{track.title}" by {track.artist}')
|
||||||
|
response = input("Continue [c] or abort [a]?")
|
||||||
|
if not response:
|
||||||
|
return
|
||||||
|
if response[0].lower() not in ['c', 'y']:
|
||||||
|
return
|
||||||
|
track = Tracks.get_or_create(session, path)
|
||||||
|
track.title = title
|
||||||
|
track.artist = artist
|
||||||
track.duration = int(round(
|
track.duration = int(round(
|
||||||
t['duration'], Config.MILLISECOND_SIGFIGS) * 1000)
|
t['duration'], Config.MILLISECOND_SIGFIGS) * 1000)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user