]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/samples/ide/activegrid/util/appdirs.py
Merged modifications from the 2.6 branch
[wxWidgets.git] / wxPython / samples / ide / activegrid / util / appdirs.py
diff --git a/wxPython/samples/ide/activegrid/util/appdirs.py b/wxPython/samples/ide/activegrid/util/appdirs.py
new file mode 100644 (file)
index 0000000..7b73d5c
--- /dev/null
@@ -0,0 +1,59 @@
+#----------------------------------------------------------------------------
+# Name:         appdirs.py
+# Purpose:      Utilities for retrieving special application dirs
+#
+# Author:       Kevin Ollivier
+#
+# Created:      8/27/05
+# CVS-ID:       $Id$
+# Copyright:    (c) 2004-2005 ActiveGrid, Inc.
+# License:      wxWindows License
+#----------------------------------------------------------------------------
+
+# NOTE: This was made a separate file because it depends upon the 
+# wx.StandardPaths module, and thus, on wxWidgets, unlike other
+# utils modules. I wanted to ensure this module is never loaded
+# from the web server, etc.
+
+import sys
+import os
+import string
+import wx
+
+def isWindows():
+    return os.name == 'nt'
+
+def _generateDocumentsDir():
+    path = ""
+    if sys.platform == "win32":
+        from win32com.shell import shell, shellcon
+        path=shell.SHGetFolderPath(0, shellcon.CSIDL_PERSONAL, None, 0)
+    elif sys.platform == "darwin":
+        import macfs, MACFS
+        fsspec_disk, fsspec_desktop = macfs.FindFolder( MACFS.kOnSystemDisk, MACFS.kDocumentsFolderType, 0)
+        path = macfs.FSSpec((fsspec_disk, fsspec_desktop, '')).as_pathname()
+    
+    if path == "":
+        path = os.path.expanduser("~")
+
+    return path
+            
+documents_folder = _generateDocumentsDir()
+
+# NOTE: We don't set this at startup because wxStandardPaths needs a running
+# application object. This makes sure the wxApp will always be created when
+# we get the folder.
+def getAppDataFolder():
+    # wxStandardPaths requires a running app
+    if wx.GetApp() and wx.Platform != "__WXGTK__":
+        data_folder = wx.StandardPaths.Get().GetUserDataDir()
+        if not os.path.exists(data_folder):
+            os.mkdir(data_folder)
+        return data_folder
+    else:
+        # wxBug: on *nix, it wants to point to ~/.appname, but
+        # so does wxConfig... For now, redirect this to ~/.appbuilder
+        # when this is fixed, we'll migrate settings to the correct place
+        return os.path.join(os.path.expanduser("~"), ".appbuilder")
+
+    return ""