77import W
88import os
99import sys
10- import macfs
1110import MacOS
1211import EasyDialogs
12+ from Carbon import File
13+ from Carbon import Files
1314
1415if MacOS .runtimemodel == 'macho' :
1516 ELIPSES = '...'
@@ -23,6 +24,10 @@ def runningOnOSX():
2324 value = gestalt ("menu" ) & gestaltMenuMgrAquaLayoutMask
2425 return not not value
2526
27+ def getmodtime (file ):
28+ file = File .FSRef (file )
29+ catinfo , d1 , d2 , d3 = file .FSGetCatalogInfo (Files .kFSCatInfoContentMod )
30+ return catinfo .contentModDate
2631
2732class PythonIDE (Wapplication .Application ):
2833
@@ -125,21 +130,21 @@ def makeusermenus(self):
125130
126131 prefs = self .getprefs ()
127132 try :
128- fss , fss_changed = macfs . RawAlias ( prefs .scriptsfolder ).Resolve ( )
129- self .scriptsfolder = fss . NewAlias ()
133+ fsr , d = File . Alias ( rawdata = prefs .scriptsfolder ).FSResolveAlias ( None )
134+ self .scriptsfolder = fsr . FSNewAliasMinimal ()
130135 except :
131- path = os .path .join (os .getcwd (), ": Mac: IDE scripts" )
136+ path = os .path .join (os .getcwd (), "Mac" , " IDE scripts" )
132137 if not os .path .exists (path ):
133138 path = os .path .join (os .getcwd (), "Scripts" )
134139 if not os .path .exists (path ):
135140 os .mkdir (path )
136141 f = open (os .path .join (path , "Place your scripts here" + ELIPSES ), "w" )
137142 f .close ()
138- fss = macfs . FSSpec (path )
139- self .scriptsfolder = fss . NewAlias ()
140- self .scriptsfoldermodtime = fss . GetDates ()[ 1 ]
143+ fsr = File . FSRef (path )
144+ self .scriptsfolder = fsr . FSNewAliasMinimal ()
145+ self .scriptsfoldermodtime = getmodtime ( fsr )
141146 else :
142- self .scriptsfoldermodtime = fss . GetDates ()[ 1 ]
147+ self .scriptsfoldermodtime = getmodtime ( fsr )
143148 prefs .scriptsfolder = self .scriptsfolder .data
144149 self ._scripts = {}
145150 self .scriptsmenu = None
@@ -153,9 +158,9 @@ def quitevent(self, theAppleEvent, theReply):
153158
154159 def suspendresume (self , onoff ):
155160 if onoff :
156- fss , fss_changed = self .scriptsfolder .Resolve ( )
157- modtime = fss . GetDates ()[ 1 ]
158- if self .scriptsfoldermodtime <> modtime or fss_changed :
161+ fsr , changed = self .scriptsfolder .FSResolveAlias ( None )
162+ modtime = getmodtime ( fsr )
163+ if self .scriptsfoldermodtime <> modtime or changed :
159164 self .scriptsfoldermodtime = modtime
160165 W .SetCursor ('watch' )
161166 self .makescriptsmenu ()
@@ -171,12 +176,12 @@ def opendocsevent(self, theAppleEvent, theReply):
171176 if type (docs ) <> type ([]):
172177 docs = [docs ]
173178 for doc in docs :
174- fss , a = doc .Resolve ( )
175- path = fss .as_pathname ()
179+ fsr , a = doc .FSResolveAlias ( None )
180+ path = fsr .as_pathname ()
176181 self .opendoc (path )
177182
178183 def opendoc (self , path ):
179- fcreator , ftype = macfs . FSSpec (path ). GetCreatorType ( )
184+ fcreator , ftype = MacOS . GetCreatorAndType (path )
180185 if ftype == 'TEXT' :
181186 self .openscript (path )
182187 elif ftype == '\0 \0 \0 \0 ' and path [- 3 :] == '.py' :
@@ -191,11 +196,11 @@ def do_about(self, id, item, window, event):
191196 Splash .about ()
192197
193198 def do_setscriptsfolder (self , * args ):
194- fss = EasyDialogs .AskFolder (message = "Select Scripts Folder" ,
195- wanted = macfs . FSSpec )
196- if fss :
199+ fsr = EasyDialogs .AskFolder (message = "Select Scripts Folder" ,
200+ wanted = File . FSRef )
201+ if fsr :
197202 prefs = self .getprefs ()
198- alis = fss . NewAlias ()
203+ alis = fsr . FSNewAliasMinimal ()
199204 prefs .scriptsfolder = alis .data
200205 self .scriptsfolder = alis
201206 self .makescriptsmenu ()
@@ -246,8 +251,8 @@ def makescriptsmenu(self):
246251 self .scriptsmenu = FrameWork .Menu (self .menubar , "Scripts" )
247252 #FrameWork.MenuItem(self.scriptsmenu, "New script", None, self.domenu_new)
248253 #self.scriptsmenu.addseparator()
249- fss , fss_changed = self .scriptsfolder .Resolve ( )
250- self .scriptswalk (fss .as_pathname (), self .scriptsmenu )
254+ fsr , d1 = self .scriptsfolder .FSResolveAlias ( None )
255+ self .scriptswalk (fsr .as_pathname (), self .scriptsmenu )
251256
252257 def makeopenwindowsmenu (self ):
253258 for i in range (len (self .openwindowsmenu .items )):
0 commit comments