Added SIGHUP signal handling, adjusted reloading of file changes, added return value of CheckTrackList()

This commit is contained in:
Jan
2019-09-26 17:41:05 +02:00
parent 88dce016de
commit c25733b64c
3 changed files with 85 additions and 74 deletions

View File

@@ -6,11 +6,13 @@ EXTENSIONS=(".mp3",".ogg",".wav",".mpa",".m4a",".flac")
class ClockyTracklist:
"""read and monitor directory with audio files"""
def __init__(self,path=".",recursive=False,sort=False,verbose=False):
def __init__(self,path=".",recursive=False,sort=True,verbose=False):
"""Read (current or supplied) path for all audio files. Add recursive=True to check all subdirectories too"""
self.recursive=recursive
self.path=path
self.__verbose=verbose
self.__sort=sort
self.__reloaded=False
p=Path(self.path)
if(not p.is_dir()):
@@ -18,8 +20,6 @@ class ClockyTracklist:
exit();
self.__ReadTrackList()
if sort:
self.tracklist.sort()
if(self.__verbose):
self.ShowTrackList()
@@ -38,6 +38,8 @@ class ClockyTracklist:
if entry.suffix in EXTENSIONS:
self.tracklist.append(entry.as_posix())
self.count+=1
if self.__sort:
self.tracklist.sort()
def ShowTrackList(self):
@@ -58,6 +60,9 @@ class ClockyTracklist:
newtracklist=[]
newcount=0
if self.__reloaded:
self.__reloaded=False
newpath=Path(self.path)
if(self.recursive):
selection='**/*'
@@ -67,7 +72,12 @@ class ClockyTracklist:
if newentry.suffix in EXTENSIONS:
newtracklist.append(newentry.as_posix())
newcount+=1
if self.__sort:
newtracklist.sort()
if(newcount != self.count) or (newtracklist != self.tracklist):
self.__ReadTrackList()
if(self.__verbose):
print("Changes in filenames or number of files detected! Re-read tracklist.")
self.__ReadTrackList()
self.__reloaded=True
return self.__reloaded