diff options
Diffstat (limited to 'Lib/plat-mac/macfs.py')
-rw-r--r-- | Lib/plat-mac/macfs.py | 242 |
1 files changed, 121 insertions, 121 deletions
diff --git a/Lib/plat-mac/macfs.py b/Lib/plat-mac/macfs.py index 8c26dd5fbf..11dbbeb3cd 100644 --- a/Lib/plat-mac/macfs.py +++ b/Lib/plat-mac/macfs.py @@ -28,25 +28,25 @@ smAllScripts = -3 # Find the epoch conversion for file dates in a way that works on OS9 and OSX import time if time.gmtime(0)[0] == 1970: - _EPOCHCONVERT = -((1970-1904)*365 + 17) * (24*60*60) + 0x100000000L - def _utc2time(utc): - t = utc[1] + _EPOCHCONVERT - return int(t) - def _time2utc(t): - t = int(t) - _EPOCHCONVERT - if t < -0x7fffffff: - t = t + 0x10000000L - return (0, int(t), 0) + _EPOCHCONVERT = -((1970-1904)*365 + 17) * (24*60*60) + 0x100000000L + def _utc2time(utc): + t = utc[1] + _EPOCHCONVERT + return int(t) + def _time2utc(t): + t = int(t) - _EPOCHCONVERT + if t < -0x7fffffff: + t = t + 0x10000000L + return (0, int(t), 0) else: - def _utc2time(utc): - t = utc[1] - if t < 0: - t = t + 0x100000000L - return t - def _time2utc(t): - if t > 0x7fffffff: - t = t - 0x100000000L - return (0, int(t), 0) + def _utc2time(utc): + t = utc[1] + if t < 0: + t = t + 0x100000000L + return t + def _time2utc(t): + if t > 0x7fffffff: + t = t - 0x100000000L + return (0, int(t), 0) # The old name of the error object: error = Carbon.File.Error @@ -56,60 +56,60 @@ error = Carbon.File.Error # of the method names are subtly different. # class FSSpec(Carbon.File.FSSpec): - def as_fsref(self): - return FSRef(self) - - def NewAlias(self, src=None): - return Alias(Carbon.File.NewAlias(src, self)) - - def GetCreatorType(self): - finfo = self.FSpGetFInfo() - return finfo.Creator, finfo.Type - - def SetCreatorType(self, ctor, tp): - finfo = self.FSpGetFInfo() - finfo.Creator = ctor - finfo.Type = tp - self.FSpSetFInfo(finfo) - - def GetFInfo(self): - return self.FSpGetFInfo() - - def SetFInfo(self, info): - return self.FSpSetFInfo(info) - - def GetDates(self): - catInfoFlags = kFSCatInfoCreateDate|kFSCatInfoContentMod|kFSCatInfoBackupDate - catinfo, d1, d2, d3 = FSRef(self).FSGetCatalogInfo(catInfoFlags) - cdate = catinfo.createDate - mdate = catinfo.contentModDate - bdate = catinfo.backupDate - return _utc2time(cdate), _utc2time(mdate), _utc2time(bdate) - - def SetDates(self, cdate, mdate, bdate): - catInfoFlags = kFSCatInfoCreateDate|kFSCatInfoContentMod|kFSCatInfoBackupDate - catinfo = Carbon.File.FSCatalogInfo( - createDate = _time2utc(cdate), - contentModDate = _time2utc(mdate), - backupDate = _time2utc(bdate)) - FSRef(self).FSSetCatalogInfo(catInfoFlags, catinfo) - + def as_fsref(self): + return FSRef(self) + + def NewAlias(self, src=None): + return Alias(Carbon.File.NewAlias(src, self)) + + def GetCreatorType(self): + finfo = self.FSpGetFInfo() + return finfo.Creator, finfo.Type + + def SetCreatorType(self, ctor, tp): + finfo = self.FSpGetFInfo() + finfo.Creator = ctor + finfo.Type = tp + self.FSpSetFInfo(finfo) + + def GetFInfo(self): + return self.FSpGetFInfo() + + def SetFInfo(self, info): + return self.FSpSetFInfo(info) + + def GetDates(self): + catInfoFlags = kFSCatInfoCreateDate|kFSCatInfoContentMod|kFSCatInfoBackupDate + catinfo, d1, d2, d3 = FSRef(self).FSGetCatalogInfo(catInfoFlags) + cdate = catinfo.createDate + mdate = catinfo.contentModDate + bdate = catinfo.backupDate + return _utc2time(cdate), _utc2time(mdate), _utc2time(bdate) + + def SetDates(self, cdate, mdate, bdate): + catInfoFlags = kFSCatInfoCreateDate|kFSCatInfoContentMod|kFSCatInfoBackupDate + catinfo = Carbon.File.FSCatalogInfo( + createDate = _time2utc(cdate), + contentModDate = _time2utc(mdate), + backupDate = _time2utc(bdate)) + FSRef(self).FSSetCatalogInfo(catInfoFlags, catinfo) + class FSRef(Carbon.File.FSRef): - def as_fsspec(self): - return FSSpec(self) - + def as_fsspec(self): + return FSSpec(self) + class Alias(Carbon.File.Alias): - def GetInfo(self, index): - return self.GetAliasInfo(index) - - def Update(self, *args): - pass # print "Alias.Update not yet implemented" - - def Resolve(self, src=None): - fss, changed = self.ResolveAlias(src) - return FSSpec(fss), changed - + def GetInfo(self, index): + return self.GetAliasInfo(index) + + def Update(self, *args): + pass # print "Alias.Update not yet implemented" + + def Resolve(self, src=None): + fss, changed = self.ResolveAlias(src) + return FSSpec(fss), changed + from Carbon.File import FInfo # Backward-compatible type names: @@ -120,21 +120,21 @@ FInfoType = FInfo # Global functions: def ResolveAliasFile(fss, chain=1): - fss, isdir, isalias = Carbon.File.ResolveAliasFile(fss, chain) - return FSSpec(fss), isdir, isalias - + fss, isdir, isalias = Carbon.File.ResolveAliasFile(fss, chain) + return FSSpec(fss), isdir, isalias + def RawFSSpec(data): - return FSSpec(rawdata=data) - + return FSSpec(rawdata=data) + def RawAlias(data): - return Alias(rawdata=data) - + return Alias(rawdata=data) + def FindApplication(*args): - raise NotImplementedError, "FindApplication no longer implemented" - + raise NotImplementedError, "FindApplication no longer implemented" + def NewAliasMinimalFromFullPath(path): - return Alias(Carbon.File.NewAliasMinimalFromFullPath(path, '', '')) - + return Alias(Carbon.File.NewAliasMinimalFromFullPath(path, '', '')) + # Another global function: from Carbon.Folder import FindFolder @@ -145,54 +145,54 @@ from Carbon.Folder import FindFolder _curfolder = None def StandardGetFile(*typelist): - """Ask for an input file, optionally specifying 4-char file types that are - allowable""" - return PromptGetFile('', *typelist) - + """Ask for an input file, optionally specifying 4-char file types that are + allowable""" + return PromptGetFile('', *typelist) + def PromptGetFile(prompt, *typelist): - """Ask for an input file giving the user a prompt message. Optionally you can - specifying 4-char file types that are allowable""" - import EasyDialogs - warnings.warn("macfs.StandardGetFile and friends are deprecated, use EasyDialogs.AskFileForOpen", + """Ask for an input file giving the user a prompt message. Optionally you can + specifying 4-char file types that are allowable""" + import EasyDialogs + warnings.warn("macfs.StandardGetFile and friends are deprecated, use EasyDialogs.AskFileForOpen", DeprecationWarning, stacklevel=2) - if not typelist: - typelist = None - fss = EasyDialogs.AskFileForOpen(message=prompt, wanted=FSSpec, - typeList=typelist, defaultLocation=_handleSetFolder()) - return fss, not fss is None + if not typelist: + typelist = None + fss = EasyDialogs.AskFileForOpen(message=prompt, wanted=FSSpec, + typeList=typelist, defaultLocation=_handleSetFolder()) + return fss, not fss is None def StandardPutFile(prompt, default=None): - """Ask the user for an output file, with a prompt. Optionally you cn supply a - default output filename""" - import EasyDialogs - warnings.warn("macfs.StandardGetFile and friends are deprecated, use EasyDialogs.AskFileForOpen", + """Ask the user for an output file, with a prompt. Optionally you cn supply a + default output filename""" + import EasyDialogs + warnings.warn("macfs.StandardGetFile and friends are deprecated, use EasyDialogs.AskFileForOpen", DeprecationWarning, stacklevel=2) - fss = EasyDialogs.AskFileForSave(wanted=FSSpec, message=prompt, - savedFileName=default, defaultLocation=_handleSetFolder()) - return fss, not fss is None - + fss = EasyDialogs.AskFileForSave(wanted=FSSpec, message=prompt, + savedFileName=default, defaultLocation=_handleSetFolder()) + return fss, not fss is None + def SetFolder(folder): - global _curfolder - warnings.warn("macfs.StandardGetFile and friends are deprecated, use EasyDialogs.AskFileForOpen", + global _curfolder + warnings.warn("macfs.StandardGetFile and friends are deprecated, use EasyDialogs.AskFileForOpen", DeprecationWarning, stacklevel=2) - if _curfolder: - rv = FSSpec(_curfolder) - else: - rv = None - _curfolder = folder - return rv - + if _curfolder: + rv = FSSpec(_curfolder) + else: + rv = None + _curfolder = folder + return rv + def _handleSetFolder(): - global _curfolder - rv = _curfolder - _curfolder = None - return rv - + global _curfolder + rv = _curfolder + _curfolder = None + return rv + def GetDirectory(prompt=None): - """Ask the user to select a folder. Optionally you can give a prompt.""" - import EasyDialogs - warnings.warn("macfs.StandardGetFile and friends are deprecated, use EasyDialogs.AskFileForOpen", + """Ask the user to select a folder. Optionally you can give a prompt.""" + import EasyDialogs + warnings.warn("macfs.StandardGetFile and friends are deprecated, use EasyDialogs.AskFileForOpen", DeprecationWarning, stacklevel=2) - fss = EasyDialogs.AskFolder(message=prompt, wanted=FSSpec, - defaultLocation=_handleSetFolder()) - return fss, not fss is None + fss = EasyDialogs.AskFolder(message=prompt, wanted=FSSpec, + defaultLocation=_handleSetFolder()) + return fss, not fss is None |