Properly deal with tuples in Open._fixresult. Fixes bug reported in

follow-up to #621891.
This commit is contained in:
Martin v. Löwis 2003-06-14 21:34:32 +00:00
parent 19d173486b
commit d6efae500c
2 changed files with 20 additions and 5 deletions

View file

@ -76,6 +76,21 @@ class Open(_Dialog):
command = "tk_getOpenFile"
def _fixresult(self, widget, result):
if isinstance(result, tuple):
# multiple results:
result = tuple([getattr(r, "string", r) for r in result])
if result:
import os
path, file = os.path.split(result[0])
self.options["initialdir"] = path
# don't set initialfile or filename, as we have multiple of these
return result
if not widget.tk.wantobjects() and "multiple" in self.options:
# Need to split result explicitly
return self._fixresult(widget, widget.tk.splitlist(result))
return _Dialog._fixresult(widget, result)
class SaveAs(_Dialog):
"Ask for a filename to save as"
@ -115,9 +130,7 @@ def askopenfilenames(**options):
cancel button selected
"""
options["multiple"]=1
files=Open(**options).show()
return files.split()
return Open(**options).show()
# FIXME: are the following perhaps a bit too convenient?