File tree 1 file changed +16
-9
lines changed
1 file changed +16
-9
lines changed Original file line number Diff line number Diff line change @@ -2241,15 +2241,22 @@ def get_default_filetype(cls):
2241
2241
2242
2242
def get_default_filename (self ):
2243
2243
"""
2244
- Return a string, which includes extension, suitable for use as
2245
- a default filename.
2246
- """
2247
- basename = (self .manager .get_window_title () if self .manager is not None
2248
- else '' )
2249
- basename = (basename or 'image' ).replace (' ' , '_' )
2250
- filetype = self .get_default_filetype ()
2251
- filename = basename + '.' + filetype
2252
- return filename
2244
+ Return a suitable default filename, including the extension.
2245
+ """
2246
+ default_basename = (
2247
+ self .manager .get_window_title ()
2248
+ if self .manager is not None
2249
+ else ''
2250
+ )
2251
+ default_basename = default_basename or 'image'
2252
+ # Characters to be avoided in a NT path:
2253
+ # https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#naming_conventions
2254
+ # plus ' '
2255
+ removed_chars = r'<>:"/\|?*\0 '
2256
+ default_basename = default_basename .translate (
2257
+ {ord (c ): "_" for c in removed_chars })
2258
+ default_filetype = self .get_default_filetype ()
2259
+ return f'{ default_basename } .{ default_filetype } '
2253
2260
2254
2261
@_api .deprecated ("3.8" )
2255
2262
def switch_backends (self , FigureCanvasClass ):
You can’t perform that action at this time.
0 commit comments