diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 4d2f4f964b..97c4c7e2fc 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1895,23 +1895,20 @@ class CuraApplication(QtApplication): def on_finish(response): content_disposition_header_key = QByteArray("content-disposition".encode()) - if not response.hasRawHeader(content_disposition_header_key): - Logger.log("w", "Could not find Content-Disposition header in response from {0}".format( - model_url.url())) - # Use the last part of the url as the filename, and assume it is an STL file - filename = model_url.path().split("/")[-1] + ".stl" - else: + filename = model_url.path().split("/")[-1] + ".stl" + + if response.hasRawHeader(content_disposition_header_key): # content_disposition is in the format # ``` - # content_disposition attachment; "filename=[FILENAME]" + # content_disposition attachment; filename="[FILENAME]" # ``` # Use a regex to extract the filename content_disposition = str(response.rawHeader(content_disposition_header_key).data(), encoding='utf-8') - content_disposition_match = re.match(r'attachment; filename="(?P.*)"', + content_disposition_match = re.match(r'attachment; filename=(?P.*)', content_disposition) - assert content_disposition_match is not None - filename = content_disposition_match.group("filename") + if content_disposition_match is not None: + filename = content_disposition_match.group("filename").strip("\"") tmp = tempfile.NamedTemporaryFile(suffix=filename, delete=False) with open(tmp.name, "wb") as f: