diff --git a/src/octoprint/util/__init__.py b/src/octoprint/util/__init__.py index ea4012a3..cb47af81 100644 --- a/src/octoprint/util/__init__.py +++ b/src/octoprint/util/__init__.py @@ -306,6 +306,11 @@ def find_collision_free_name(filename, extension, existing_filenames, max_power= # TODO unit test! + if not isinstance(filename, unicode): + filename = unicode(filename) + if not isinstance(extension, unicode): + extension = unicode(extension) + def make_valid(text): return re.sub(r"\s+", "_", text.translate({ord(i):None for i in ".\"/\\[]:;=,"})).lower() diff --git a/src/octoprint/util/virtual.py b/src/octoprint/util/virtual.py index 32e32cdb..633aa301 100644 --- a/src/octoprint/util/virtual.py +++ b/src/octoprint/util/virtual.py @@ -313,7 +313,7 @@ class VirtualPrinter(): def _selectSdFile(self, filename): if filename.startswith("/"): filename = filename[1:] - file = os.path.join(self._virtualSd, filename).lower() + file = os.path.join(self._virtualSd, filename.lower()) if not os.path.exists(file) or not os.path.isfile(file): self.outgoing.put("open failed, File: %s." % filename) else: