Code cleanups

This commit is contained in:
Keith Edmunds 2022-02-25 17:16:21 +00:00
parent 7f2dd68bce
commit 3a7b09f025
3 changed files with 29 additions and 10 deletions

View File

@ -39,6 +39,8 @@ from log import DEBUG, ERROR
# Create session at the global level as per
# https://docs.sqlalchemy.org/en/13/orm/session_basics.html
# and make objects persistent
# https://docs.sqlalchemy.org/en/14/orm/session_state_management.html
engine = sqlalchemy.create_engine(
f"{Config.MYSQL_CONNECT}?charset=utf8",
@ -46,7 +48,8 @@ engine = sqlalchemy.create_engine(
echo=Config.DISPLAY_SQL,
pool_pre_ping=True)
Session = scoped_session(sessionmaker(bind=engine))
sm = sessionmaker(bind=engine)
Session = scoped_session(sm)
Base: DeclarativeMeta = declarative_base()
Base.metadata.create_all(engine)

View File

@ -474,6 +474,9 @@ class Window(QMainWindow, Ui_MainWindow):
QColor(Config.COLOUR_CURRENT_TAB))
self.music.play(self.current_track.path)
# Tell playlist so it can update its display
self.current_track_playlist_tab.play_started()
# Tell database to record it as played
Playdates(session, self.current_track)

View File

@ -677,7 +677,7 @@ class PlaylistTab(QTableWidget):
else:
# No current track to base from, but don't change
# time if it's already set
start_time = self._get_row_time(row)
start_time = self._get_row_start_time(row)
if not start_time:
start_time = next_start_time
# Now set it
@ -879,8 +879,9 @@ class PlaylistTab(QTableWidget):
"""Return time specified at the end of text"""
try:
time_length = len(Config.NOTE_TIME_FORMAT)
return datetime.strptime(
text[-len(Config.NOTE_TIME_FORMAT):],
text[(--time_length):],
Config.NOTE_TIME_FORMAT
)
except ValueError:
@ -904,6 +905,18 @@ class PlaylistTab(QTableWidget):
obj = self.item(row, self.COL_USERDATA).data(self.CONTENT_OBJECT)
return obj
def _get_row_start_time(self, row):
try:
if self.item(row, self.COL_START_TIME):
return datetime.strptime(self.item(
row, self.COL_START_TIME).text(),
Config.NOTE_TIME_FORMAT
)
else:
return None
except ValueError:
return None
def _info_row(self, row):
"""Display popup with info re row"""
@ -1273,7 +1286,7 @@ class PlaylistTab(QTableWidget):
if self._track_is_readable(track):
self._meta_set_next(row)
self.parent.this_is_the_next_track(track)
self.parent.this_is_the_next_track(self, track)
else:
self._meta_set_unreadable(row)
track = None