/[thuban]/branches/WIP-pyshapelib-bramz/Thuban/Lib/fileutil.py
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/Thuban/Lib/fileutil.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1147 by jan, Mon Jan 27 14:20:02 2003 UTC revision 1148 by frank, Wed Jun 11 10:45:18 2003 UTC
# Line 11  Functions to deal with filenames Line 11  Functions to deal with filenames
11    
12  __version__ = "$Revision$"  __version__ = "$Revision$"
13    
14    import os
15  import os.path  import os.path
16    from tempfile import mktemp
17    
18  from string import split, join  from string import split, join
19    
20  from Thuban import _  from Thuban import _
# Line 149  def relative_filename_nt(dir, absname): Line 152  def relative_filename_nt(dir, absname):
152      # relative name      # relative name
153      return relative_filename_common(dir_rest, absname_rest, "\\")      return relative_filename_common(dir_rest, absname_rest, "\\")
154    
155    def get_application_dir():
156        """Determine the path to the .thuban directory.
157    
158        Under posix systems use the os.expanduser() method.
159        Under Win32 try to read the "Explorer/Shell Folders/" value "AppData".
160        """
161    
162        if os.name == 'posix':
163            return os.path.expanduser("~/.thuban")
164        elif os.name == 'nt':
165            regkey = 1
166            try:
167                import _winreg as wreg
168            except ImportError:
169                regkey = 0
170    
171            if regkey:
172                try:
173                    key = wreg.OpenKey(wreg.HKEY_CURRENT_USER,
174                      "Software\\Microsoft\\Windows\\CurrentVersion\\"\
175                      "Explorer\\Shell Folders")
176                except:
177                    regkey = 0
178    
179            if regkey:
180                dir = wreg.QueryValueEx(key, "AppData")
181            else:
182                # The fallback. This should result in something like the
183                # user directory ...
184                guess = os.path.dirname(
185                                    os.path.dirname(os.path.dirname(mktemp()))
186                                )
187                dir = os.path.join(guess, "thuban")
188            if not os.path.isdir(dir):
189               os.mkdir(dir)
190    
191            return dir
192    
193        else:
194            raise RuntimeError(_("No implementation of get_application_dir"
195                           " available for platform") + os.name)
196    
197  # bind the appropriate version of relative_filename for the platform  # bind the appropriate version of relative_filename for the platform
198  # we're currently running on.  # we're currently running on.

Legend:
Removed from v.1147  
changed lines
  Added in v.1148

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26