From f35cbbda3fff2787108babcbc44abd7eeae20350 Mon Sep 17 00:00:00 2001 From: Assistant Date: Sat, 26 Jun 2021 20:22:15 +0200 Subject: [PATCH] Sanitized filenames --- syncplay/server.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/syncplay/server.py b/syncplay/server.py index bc9066d..6ccde6c 100755 --- a/syncplay/server.py +++ b/syncplay/server.py @@ -421,6 +421,9 @@ class Room(object): def __str__(self, *args, **kwargs): return self.getName() + def sanitizeFilename(self, filename, blacklist="<>:/\\|?*\"", placeholder="_"): + return ''.join([c if c not in blacklist and ord(c) >= 32 else placeholder for c in filename]) + def writeToFile(self): if self._roomsDir is None: return @@ -431,7 +434,7 @@ class Room(object): data['playlist'] = self._playlist data['playlistIndex'] = self._playlistIndex data['position'] = self._position - with open(os.path.join(self._roomsDir, self._name+'.room'), "w") as outfile: + with open(os.path.join(self._roomsDir, self.sanitizeFilename(self._name)+'.room'), "w") as outfile: json.dump(data, outfile) def loadFromFile(self, filename):