Source code for tkfilebrowser.functions

# -*- coding: utf-8 -*-
"""
tkfilebrowser - Alternative to filedialog for Tkinter
Copyright 2017-2018 Juliette Monsel <j_4321@protonmail.com>

tkfilebrowser is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

tkfilebrowser is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.


Functions
"""


from tkfilebrowser.constants import _
from tkfilebrowser.filebrowser import FileBrowser


[docs]def askopendirname(parent=None, title=_("Open"), **kwargs): """ Return :obj:`''` or the absolute path of the chosen directory. Arguments: parent : Tk or Toplevel instance parent window title : str the title of the filebrowser window initialdir : str directory whose content is initially displayed initialfile : str initially selected item (just the name, not the full path) filetypes : list :obj:`[("name", "*.ext1|*.ext2|.."), ...]` only the files of given filetype will be displayed, e.g. to allow the user to switch between displaying only PNG or JPG pictures or dispalying all files: :obj:`filtypes=[("Pictures", "\*.png|\*.PNG|\*.jpg|\*.JPG'), ("All files", "\*")]` okbuttontext : str text displayed on the validate button, default is "Open". cancelbuttontext : str text displayed on the button that cancels the selection, default is "Cancel". foldercreation : bool enable the user to create new folders if True (default) """ dialog = FileBrowser(parent, mode="opendir", multiple_selection=False, title=title, **kwargs) dialog.wait_window(dialog) return dialog.get_result()
[docs]def askopendirnames(parent=None, title=_("Open"), **kwargs): """ Return :obj:`()` or the tuple of the absolute paths of the chosen directories Arguments: parent : Tk or Toplevel instance parent window title : str the title of the filebrowser window initialdir : str directory whose content is initially displayed initialfile : str initially selected item (just the name, not the full path) filetypes : list :obj:`[("name", "*.ext1|*.ext2|.."), ...]` only the files of given filetype will be displayed, e.g. to allow the user to switch between displaying only PNG or JPG pictures or dispalying all files: :obj:`filtypes=[("Pictures", "\*.png|\*.PNG|\*.jpg|\*.JPG'), ("All files", "\*")]` okbuttontext : str text displayed on the validate button, default is "Open". cancelbuttontext : str text displayed on the button that cancels the selection, default is "Cancel". foldercreation : bool enable the user to create new folders if True (default) """ dialog = FileBrowser(parent, mode="opendir", multiple_selection=True, title=title, **kwargs) dialog.wait_window(dialog) res = dialog.get_result() if not res: # type consistency: always return a tuple res = () return res
[docs]def askopenfilename(parent=None, title=_("Open"), **kwargs): """ Return :obj:`''` or the absolute path of the chosen file Arguments: parent : Tk or Toplevel instance parent window title : str the title of the filebrowser window initialdir : str directory whose content is initially displayed initialfile : str initially selected item (just the name, not the full path) filetypes : list :obj:`[("name", "*.ext1|*.ext2|.."), ...]` only the files of given filetype will be displayed, e.g. to allow the user to switch between displaying only PNG or JPG pictures or dispalying all files: :obj:`filtypes=[("Pictures", "\*.png|\*.PNG|\*.jpg|\*.JPG'), ("All files", "\*")]` okbuttontext : str text displayed on the validate button, default is "Open". cancelbuttontext : str text displayed on the button that cancels the selection, default is "Cancel". foldercreation : bool enable the user to create new folders if True (default) """ dialog = FileBrowser(parent, mode="openfile", multiple_selection=False, title=title, **kwargs) dialog.wait_window(dialog) return dialog.get_result()
[docs]def askopenfilenames(parent=None, title=_("Open"), **kwargs): """ Return :obj:`()` or the tuple of the absolute paths of the chosen files Arguments: parent : Tk or Toplevel instance parent window title : str the title of the filebrowser window initialdir : str directory whose content is initially displayed initialfile : str initially selected item (just the name, not the full path) filetypes : list :obj:`[("name", "*.ext1|*.ext2|.."), ...]` only the files of given filetype will be displayed, e.g. to allow the user to switch between displaying only PNG or JPG pictures or dispalying all files: :obj:`filtypes=[("Pictures", "\*.png|\*.PNG|\*.jpg|\*.JPG'), ("All files", "\*")]` okbuttontext : str text displayed on the validate button, default is "Open". cancelbuttontext : str text displayed on the button that cancels the selection, default is "Cancel". foldercreation : bool enable the user to create new folders if True (default) """ dialog = FileBrowser(parent, mode="openfile", multiple_selection=True, title=title, **kwargs) dialog.wait_window(dialog) res = dialog.get_result() if not res: # type consistency: always return a tuple res = () return res
[docs]def asksaveasfilename(parent=None, title=_("Save As"), **kwargs): """ Return :obj:`''` or the chosen absolute path (the file might not exist) Arguments: parent : Tk or Toplevel instance parent window title : str the title of the filebrowser window initialdir : str directory whose content is initially displayed initialfile : str initially selected item (just the name, not the full path) defaultext : str (e.g. '.png') extension added to filename if none is given (default is none) filetypes : list :obj:`[("name", "*.ext1|*.ext2|.."), ...]` only the files of given filetype will be displayed, e.g. to allow the user to switch between displaying only PNG or JPG pictures or dispalying all files: :obj:`filtypes=[("Pictures", "\*.png|\*.PNG|\*.jpg|\*.JPG'), ("All files", "\*")]` okbuttontext : str text displayed on the validate button, default is "Open". cancelbuttontext : str text displayed on the button that cancels the selection, default is "Cancel". foldercreation : bool enable the user to create new folders if True (default) """ dialog = FileBrowser(parent, mode="save", title=title, **kwargs) dialog.wait_window(dialog) return dialog.get_result()