summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Klichowicz <emkael@tlen.pl>2024-04-13 13:28:52 +0200
committerMichał Klichowicz <emkael@tlen.pl>2024-04-13 13:29:08 +0200
commit95ab57e027e32e7b23bc176c29b03121badb9815 (patch)
treef0b102f70c2b03ec45726938c504ccaa995ffe8a
parent40eaf8435414c6f0a3c7968942b90b5fa85f4d44 (diff)
Force-converting path separators in filemanager to native OS separators
-rw-r--r--jfr_playoff/filemanager.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/jfr_playoff/filemanager.py b/jfr_playoff/filemanager.py
index 3a6c19e..2d36aa2 100644
--- a/jfr_playoff/filemanager.py
+++ b/jfr_playoff/filemanager.py
@@ -12,20 +12,25 @@ class PlayoffFileManager(object):
def __init__(self, settings):
self.goniec = settings.get('goniec') if settings.has_section('goniec') else None
PlayoffLogger.get('filemanager').info('goniec settings: %s', self.goniec)
- self.output_file = settings.get('output')
+ self.output_file = self._sanitize_pathsep(settings.get('output'))
PlayoffLogger.get('filemanager').info('output file: %s', self.output_file)
self.output_path = os.path.dirname(
self.output_file
).strip(os.sep)
if len(self.output_path) > 0:
self.output_path += os.sep
+ self.output_path = self._sanitize_pathsep(self.output_path)
PlayoffLogger.get('filemanager').info('output path: %s', self.output_path)
self.files = set()
+ def _sanitize_pathsep(self, path):
+ return path.replace('/', os.sep).replace('\\', os.sep)
+
def reset(self):
self.files.clear()
def register_file(self, path):
+ path = self._sanitize_pathsep(path)
if path.startswith(self.output_path):
PlayoffLogger.get('filemanager').info('registering file: %s', path)
self.files.add(path.replace(self.output_path, ''))
@@ -56,8 +61,8 @@ class PlayoffFileManager(object):
if not os.path.exists(source_path):
raise IOError('File: %s missing from runtime directory' % (
filename))
- output_path = os.path.join(self.output_path, path)
- output_dir = os.path.dirname(output_path)
+ output_path = self._sanitize_pathsep(os.path.join(self.output_path, path))
+ output_dir = self._sanitize_pathsep(os.path.dirname(output_path))
if len(output_dir) > 0:
if not os.path.exists(output_dir):
PlayoffLogger.get('filemanager').info(