summaryrefslogtreecommitdiff
path: root/misc/pylib/robofab/interface/mac/getFileOrFolder.py
diff options
context:
space:
mode:
Diffstat (limited to 'misc/pylib/robofab/interface/mac/getFileOrFolder.py')
-rwxr-xr-xmisc/pylib/robofab/interface/mac/getFileOrFolder.py80
1 files changed, 0 insertions, 80 deletions
diff --git a/misc/pylib/robofab/interface/mac/getFileOrFolder.py b/misc/pylib/robofab/interface/mac/getFileOrFolder.py
deleted file mode 100755
index da7edff61..000000000
--- a/misc/pylib/robofab/interface/mac/getFileOrFolder.py
+++ /dev/null
@@ -1,80 +0,0 @@
-"""This module provides two functions, very similar to
-EasyDialogs.AskFileForOpen() and EasyDialogs.AskFolder(): GetFile() and
-GetFileOrFolder(). The main difference is that the functions here fully
-support "packages" or "bundles", ie. folders that appear to be files in
-the finder and open/save dialogs. The second difference is that
-GetFileOrFolder() allows the user to select a file _or_ a folder.
-"""
-
-
-__all__ = ["GetFile", "GetFileOrFolder"]
-
-
-from EasyDialogs import _process_Nav_args, _interact
-import Nav
-import Carbon.File
-
-
-# Lots of copy/paste from EasyDialogs.py, for one because althought the
-# EasyDialogs counterparts take a million options, they don't take the
-# one option I need: the flag to support packages...
-
-kNavSupportPackages = 0x00001000
-
-
-def GetFile(message=None, title=None, directory=None, fileName=None, allowsMultipleSelection=False, fileTypes=None):
- """Ask the user to select a file.
-
- Some of these arguments are not supported:
- title, directory, fileName, allowsMultipleSelection and fileTypes are here for compatibility reasons.
- """
- default_flags = 0x56 | kNavSupportPackages
- args, tpwanted = _process_Nav_args(default_flags, message=message)
- _interact()
- try:
- rr = Nav.NavChooseFile(args)
- good = 1
- except Nav.error, arg:
- if arg[0] != -128: # userCancelledErr
- raise Nav.error, arg
- return None
- if not rr.validRecord or not rr.selection:
- return None
- if issubclass(tpwanted, Carbon.File.FSRef):
- return tpwanted(rr.selection_fsr[0])
- if issubclass(tpwanted, Carbon.File.FSSpec):
- return tpwanted(rr.selection[0])
- if issubclass(tpwanted, str):
- return tpwanted(rr.selection_fsr[0].as_pathname())
- if issubclass(tpwanted, unicode):
- return tpwanted(rr.selection_fsr[0].as_pathname(), 'utf8')
- raise TypeError, "Unknown value for argument 'wanted': %s" % repr(tpwanted)
-
-
-def GetFileOrFolder(message=None, title=None, directory=None, fileName=None, allowsMultipleSelection=False, fileTypes=None):
- """Ask the user to select a file or a folder.
-
- Some of these arguments are not supported:
- title, directory, fileName, allowsMultipleSelection and fileTypes are here for compatibility reasons.
- """
- default_flags = 0x17 | kNavSupportPackages
- args, tpwanted = _process_Nav_args(default_flags, message=message)
- _interact()
- try:
- rr = Nav.NavChooseObject(args)
- good = 1
- except Nav.error, arg:
- if arg[0] != -128: # userCancelledErr
- raise Nav.error, arg
- return None
- if not rr.validRecord or not rr.selection:
- return None
- if issubclass(tpwanted, Carbon.File.FSRef):
- return tpwanted(rr.selection_fsr[0])
- if issubclass(tpwanted, Carbon.File.FSSpec):
- return tpwanted(rr.selection[0])
- if issubclass(tpwanted, str):
- return tpwanted(rr.selection_fsr[0].as_pathname())
- if issubclass(tpwanted, unicode):
- return tpwanted(rr.selection_fsr[0].as_pathname(), 'utf8')
- raise TypeError, "Unknown value for argument 'wanted': %s" % repr(tpwanted)