Decoupled permanence check
This commit is contained in:
parent
157f74ff5b
commit
11653ec8bb
@ -421,11 +421,17 @@ class Room(object):
|
|||||||
def __str__(self, *args, **kwargs):
|
def __str__(self, *args, **kwargs):
|
||||||
return self.getName()
|
return self.getName()
|
||||||
|
|
||||||
|
def roomsCanPersist(self):
|
||||||
|
return self._roomsDir is not None
|
||||||
|
|
||||||
|
def isPermanent(self):
|
||||||
|
return self.roomsCanPersist()
|
||||||
|
|
||||||
def sanitizeFilename(self, filename, blacklist="<>:/\\|?*\"", placeholder="_"):
|
def sanitizeFilename(self, filename, blacklist="<>:/\\|?*\"", placeholder="_"):
|
||||||
return ''.join([c if c not in blacklist and ord(c) >= 32 else placeholder for c in filename])
|
return ''.join([c if c not in blacklist and ord(c) >= 32 else placeholder for c in filename])
|
||||||
|
|
||||||
def writeToFile(self):
|
def writeToFile(self):
|
||||||
if self._roomsDir is None:
|
if not self.isPermanent():
|
||||||
return
|
return
|
||||||
if len(self._playlist) == 0:
|
if len(self._playlist) == 0:
|
||||||
try:
|
try:
|
||||||
@ -487,7 +493,7 @@ class Room(object):
|
|||||||
return list(self._watchers.values())
|
return list(self._watchers.values())
|
||||||
|
|
||||||
def addWatcher(self, watcher):
|
def addWatcher(self, watcher):
|
||||||
if self._watchers or self._roomsDir is not None:
|
if self._watchers or self.isPermanent():
|
||||||
watcher.setPosition(self.getPosition())
|
watcher.setPosition(self.getPosition())
|
||||||
self._watchers[watcher.getName()] = watcher
|
self._watchers[watcher.getName()] = watcher
|
||||||
watcher.setRoom(self)
|
watcher.setRoom(self)
|
||||||
@ -497,7 +503,7 @@ class Room(object):
|
|||||||
return
|
return
|
||||||
del self._watchers[watcher.getName()]
|
del self._watchers[watcher.getName()]
|
||||||
watcher.setRoom(None)
|
watcher.setRoom(None)
|
||||||
if not self._watchers and self._roomsDir is None:
|
if not self._watchers and not self.isPermanent():
|
||||||
self._position = 0
|
self._position = 0
|
||||||
self.writeToFile()
|
self.writeToFile()
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user