Changeset 983
- Timestamp:
- Jul 7, 2013 10:03:10 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
install/bootstrap.py
r901 r983 17 17 for pkg in missing: print " ",pkg, 18 18 print 19 print "We suggest installing the EPDfree package at\nhttp://www.enthought.com/products/epd_free.php/"19 print "We suggest installing the Canopy Express package (must be 32 bit) at\nhttp://www.enthought.com/store" 20 20 sys.exit() 21 21 … … 74 74 #=========================================================================== 75 75 # on a Mac, make an applescript 76 if sys.platform.startswith('darwin'): 77 script = ''' 78 (* GSAS-II AppleScript by B. Toby (brian.toby@anl.gov) 79 It can launch GSAS-II by double clicking or by dropping a data file 80 or folder over the app. 81 It runs GSAS-II in a terminal window. 82 83 Thanks to F. Farges (farges@univ-mlv.fr) for many applescript tricks 84 *) 85 86 87 (* 88 -------------------------------------------- 89 Define subroutines used in later sections of code 90 -------------------------------------------- 91 *) 92 93 (* get directory from a file name *) 94 on GetParentPath(theFile) 95 tell application "Finder" to return container of theFile as text 96 end GetParentPath 97 98 (* test if a file is present and exit with an error message if it is not *) 99 on TestFilePresent(appwithpath) 100 tell application "System Events" 101 if (file appwithpath exists) then 102 else 103 display dialog "Error: file " & appwithpath & " not found. This AppleScript must be run from a directory containing the GSAS-II python code. Did you move it?" with icon caution buttons {"Quit"} 104 return 105 end if 106 end tell 107 end TestFilePresent 108 109 (* 110 -------------------------------------------------------------- 111 this section responds to a double-click. No file is supplied to GSAS-II 112 o First find the location of the script 113 o then convert the colon-delimited macintosh file location to a POSIX filename 114 o start the app with no file as argument -- opens last file or none (depending on GSAS-II preferences) 115 -------------------------------------------------------------- 116 *) 117 on run 118 set python to "%s" 119 set myPath to (path to me) 120 set ParentPath to GetParentPath(myPath) 121 set appwithpath to ParentPath & "GSASII.py" 122 TestFilePresent(appwithpath) 123 set posixapp to quoted form of the POSIX path of appwithpath 124 tell application "Terminal" 125 activate 126 do script python & " " & posixapp & "; exit" 127 end tell 128 end run 129 130 (* 131 ---------------------------------------------------------------------- 132 this section handles opening files dragged into the AppleScript 133 o it finds the location of the current script and finds the GSAS-II 134 executable relative to the applescript 135 o it goes through the list of files dragged in 136 o then it converts the colon-delimited macintosh file location to a POSIX filename 137 o for every non-directory file dragged into the icon, it tries to pass that file to GSAS-II 138 o for directories select a file from the directory 139 ----------------------------------------------------------------------- 140 *) 141 142 on open names 143 144 set python to "%s" 145 set myPath to (path to me) 146 set ParentPath to GetParentPath(myPath) 147 set appwithpath to ParentPath & "GSASII.py" 148 TestFilePresent(appwithpath) 149 set posixapp to the quoted form of the POSIX path of appwithpath 150 set filePath to "" 151 repeat with filename in names 152 set filestr to (filename as string) 153 if filestr ends with ":" then 154 set myfile to choose file default location filename with prompt "Select a GSAS-II input file" multiple selections allowed no 155 set myfile to the quoted form of the POSIX path of myfile 156 tell application "Terminal" 157 activate 158 do script python & " " & posixapp & " " & myfile & "; exit" 159 end tell 160 else 161 (* if this is an input file, open it *) 162 set filename to the quoted form of the POSIX path of filename 163 tell application "Terminal" 164 activate 165 do script python & " " & posixapp & " " & filename & "; exit" 166 end tell 167 end if 168 end repeat 169 end open 170 ''' 171 app = os.path.join(gsaspath, 'GSASII.app') 172 p = subprocess.Popen(['/usr/bin/osacompile','-o',app],stdin=subprocess.PIPE) 173 p.stdin.write(script % (sys.executable,sys.executable) ) 174 p.stdin.close() 175 p.communicate() 176 if os.path.exists('GSAS2.rsrc'): 177 print "Note: ignore the previous -d warning from osacompile" 178 p = subprocess.call(['/Developer/Tools/Rez','-append','GSAS2.rsrc','-o',app + "/Icon\r"]) 179 p = subprocess.call(['/Developer/Tools/SetFile','-a','C',app]) 180 76 if sys.platform.startswith('darwin') and os.path.exists( 77 os.path.join(gsaspath,"makeMacApp.py")): 78 execfile(os.path.join(gsaspath,"makeMacApp.py")) 181 79 #=========================================================================== 182 80 # On linux, make desktop icon
Note: See TracChangeset
for help on using the changeset viewer.