Code cleanups
This commit is contained in:
parent
7f2dd68bce
commit
3a7b09f025
@ -39,6 +39,8 @@ from log import DEBUG, ERROR
|
|||||||
|
|
||||||
# Create session at the global level as per
|
# Create session at the global level as per
|
||||||
# https://docs.sqlalchemy.org/en/13/orm/session_basics.html
|
# 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(
|
engine = sqlalchemy.create_engine(
|
||||||
f"{Config.MYSQL_CONNECT}?charset=utf8",
|
f"{Config.MYSQL_CONNECT}?charset=utf8",
|
||||||
@ -46,7 +48,8 @@ engine = sqlalchemy.create_engine(
|
|||||||
echo=Config.DISPLAY_SQL,
|
echo=Config.DISPLAY_SQL,
|
||||||
pool_pre_ping=True)
|
pool_pre_ping=True)
|
||||||
|
|
||||||
Session = scoped_session(sessionmaker(bind=engine))
|
sm = sessionmaker(bind=engine)
|
||||||
|
Session = scoped_session(sm)
|
||||||
|
|
||||||
Base: DeclarativeMeta = declarative_base()
|
Base: DeclarativeMeta = declarative_base()
|
||||||
Base.metadata.create_all(engine)
|
Base.metadata.create_all(engine)
|
||||||
|
|||||||
@ -474,6 +474,9 @@ class Window(QMainWindow, Ui_MainWindow):
|
|||||||
QColor(Config.COLOUR_CURRENT_TAB))
|
QColor(Config.COLOUR_CURRENT_TAB))
|
||||||
self.music.play(self.current_track.path)
|
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
|
# Tell database to record it as played
|
||||||
Playdates(session, self.current_track)
|
Playdates(session, self.current_track)
|
||||||
|
|
||||||
|
|||||||
@ -677,7 +677,7 @@ class PlaylistTab(QTableWidget):
|
|||||||
else:
|
else:
|
||||||
# No current track to base from, but don't change
|
# No current track to base from, but don't change
|
||||||
# time if it's already set
|
# 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:
|
if not start_time:
|
||||||
start_time = next_start_time
|
start_time = next_start_time
|
||||||
# Now set it
|
# Now set it
|
||||||
@ -879,8 +879,9 @@ class PlaylistTab(QTableWidget):
|
|||||||
"""Return time specified at the end of text"""
|
"""Return time specified at the end of text"""
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
time_length = len(Config.NOTE_TIME_FORMAT)
|
||||||
return datetime.strptime(
|
return datetime.strptime(
|
||||||
text[-len(Config.NOTE_TIME_FORMAT):],
|
text[(--time_length):],
|
||||||
Config.NOTE_TIME_FORMAT
|
Config.NOTE_TIME_FORMAT
|
||||||
)
|
)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
@ -904,6 +905,18 @@ class PlaylistTab(QTableWidget):
|
|||||||
obj = self.item(row, self.COL_USERDATA).data(self.CONTENT_OBJECT)
|
obj = self.item(row, self.COL_USERDATA).data(self.CONTENT_OBJECT)
|
||||||
return obj
|
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):
|
def _info_row(self, row):
|
||||||
"""Display popup with info re row"""
|
"""Display popup with info re row"""
|
||||||
|
|
||||||
@ -1273,7 +1286,7 @@ class PlaylistTab(QTableWidget):
|
|||||||
|
|
||||||
if self._track_is_readable(track):
|
if self._track_is_readable(track):
|
||||||
self._meta_set_next(row)
|
self._meta_set_next(row)
|
||||||
self.parent.this_is_the_next_track(track)
|
self.parent.this_is_the_next_track(self, track)
|
||||||
else:
|
else:
|
||||||
self._meta_set_unreadable(row)
|
self._meta_set_unreadable(row)
|
||||||
track = None
|
track = None
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user