Be more aggressive in updating file cache
This commit is contained in:
parent
baceaad489
commit
0dc2a23df0
@ -1575,6 +1575,7 @@ class FileSwitchManager(object):
|
|||||||
self.mediaFilesCache = {}
|
self.mediaFilesCache = {}
|
||||||
self.filenameWatchlist = []
|
self.filenameWatchlist = []
|
||||||
self.currentDirectory = None
|
self.currentDirectory = None
|
||||||
|
self.lastCheckedCurrentDirectory = None
|
||||||
self.mediaDirectories = None
|
self.mediaDirectories = None
|
||||||
self.lock = threading.Lock()
|
self.lock = threading.Lock()
|
||||||
self.folderSearchEnabled = True
|
self.folderSearchEnabled = True
|
||||||
@ -1602,15 +1603,19 @@ class FileSwitchManager(object):
|
|||||||
self.infoUpdated()
|
self.infoUpdated()
|
||||||
|
|
||||||
def updateInfo(self):
|
def updateInfo(self):
|
||||||
if len(self.filenameWatchlist) > 0 or len(self.mediaFilesCache) == 0 and self.currentlyUpdating == False:
|
if not self.currentlyUpdating:
|
||||||
threads.deferToThread(self._updateInfoThread).addCallback(lambda x: self.checkForFileSwitchUpdate())
|
threads.deferToThread(self._updateInfoThread).addCallback(lambda x: self.checkForFileSwitchUpdate())
|
||||||
|
|
||||||
def setFilenameWatchlist(self, unfoundFilenames):
|
def setFilenameWatchlist(self, unfoundFilenames):
|
||||||
self.filenameWatchlist = unfoundFilenames
|
self.filenameWatchlist = unfoundFilenames
|
||||||
|
|
||||||
def _updateInfoThread(self):
|
def _updateInfoThread(self):
|
||||||
|
|
||||||
if not self.folderSearchEnabled:
|
if not self.folderSearchEnabled:
|
||||||
if self.areWatchedFilenamesInCurrentDir():
|
if self.lastCheckedCurrentDirecotry <> self.currentDirectory:
|
||||||
|
self.lastCheckedCurrentDirectory = self.currentDirectory
|
||||||
|
self.newInfo = True
|
||||||
|
elif self.areWatchedFilenamesInCurrentDir():
|
||||||
self.newInfo = True
|
self.newInfo = True
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -1632,8 +1637,9 @@ class FileSwitchManager(object):
|
|||||||
self.newInfo = True
|
self.newInfo = True
|
||||||
return
|
return
|
||||||
|
|
||||||
if self.mediaFilesCache <> newMediaFilesCache:
|
if self.mediaFilesCache <> newMediaFilesCache or self.lastCheckedCurrentDirectory <> self.currentDirectory:
|
||||||
self.mediaFilesCache = newMediaFilesCache
|
self.mediaFilesCache = newMediaFilesCache
|
||||||
|
self.lastCheckedCurrentDirectory = self.currentDirectory
|
||||||
self.newInfo = True
|
self.newInfo = True
|
||||||
elif self.areWatchedFilenamesInCurrentDir():
|
elif self.areWatchedFilenamesInCurrentDir():
|
||||||
self.newInfo = True
|
self.newInfo = True
|
||||||
@ -1702,3 +1708,11 @@ class FileSwitchManager(object):
|
|||||||
files = self.mediaFilesCache[directory]
|
files = self.mediaFilesCache[directory]
|
||||||
if filename in files:
|
if filename in files:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def getDirectoryOfFilenameInCache(self, filename):
|
||||||
|
if filename is not None and self.mediaFilesCache is not None:
|
||||||
|
for directory in self.mediaFilesCache:
|
||||||
|
files = self.mediaFilesCache[directory]
|
||||||
|
if filename in files:
|
||||||
|
return directory
|
||||||
|
return None
|
||||||
Loading…
x
Reference in New Issue
Block a user