def find_rcfile_location(name): """Execute $UMAKERC, $HOME/.umakerc, %HOMEDRIVE%HOMEPATH/umakerc.py or %preferencesfolder%:umakerc""" f = os.environ.get(string.upper(name), "") if f and os.path.isdir(os.path.dirname(f)): return f home = os.environ.get("HOME", "") if home and os.path.isdir(home): return os.path.join(home, "." + name) homedrive = os.environ.get("HOMEDRIVE", "") homepath = os.environ.get("HOMEPATH", "") if homedrive and homepath: f = os.path.join(homedrive + homepath, "." + name) if os.path.isdir(os.path.dirname(f)): return f if sys.platform == "mac": import macfs import MACFS vrefnum, curdir = macfs.FindFolder(MACFS.kOnAppropriateDisk, MACFS.kPreferencesFolderType, 0) fss = macfs.FSSpec((vrefnum, curdir, name)) return fss.as_pathname() return None
def _gettempdir_inner(): """Function to calculate the directory to use.""" global tempdir if tempdir is not None: return tempdir try: pwd = os.getcwd() except (AttributeError, os.error): pwd = os.curdir attempdirs = ['/tmp', '/var/tmp', '/usr/tmp', pwd] if os.name == 'nt': attempdirs.insert(0, 'C:\\TEMP') attempdirs.insert(0, '\\TEMP') elif os.name == 'mac': import macfs, MACFS try: refnum, dirid = macfs.FindFolder(MACFS.kOnSystemDisk, MACFS.kTemporaryFolderType, 1) dirname = macfs.FSSpec((refnum, dirid, '')).as_pathname() attempdirs.insert(0, dirname) except macfs.error: pass elif os.name == 'riscos': scrapdir = os.getenv('Wimp$ScrapDir') if scrapdir: attempdirs.insert(0, scrapdir) for envname in 'TMPDIR', 'TEMP', 'TMP': if os.environ.has_key(envname): attempdirs.insert(0, os.environ[envname]) testfile = gettempprefix() + 'test' for dir in attempdirs: try: filename = os.path.join(dir, testfile) if os.name == 'posix': try: fd = os.open(filename, os.O_RDWR | os.O_CREAT | os.O_EXCL, 0700) except OSError: pass else: fp = os.fdopen(fd, 'w') fp.write('blat') fp.close() os.unlink(filename) del fp, fd tempdir = dir break else: fp = open(filename, 'w') fp.write('blat') fp.close() os.unlink(filename) tempdir = dir break except IOError: pass if tempdir is None: msg = "Can't find a usable temporary directory amongst " + ` attempdirs ` raise IOError, msg return tempdir
def _candidate_tempdir_list(): """Generate a list of candidate temporary directories which _get_default_tempdir will try.""" dirlist = [] # First, try the environment. for envname in 'TMPDIR', 'TEMP', 'TMP': dirname = _os.getenv(envname) if dirname: dirlist.append(dirname) # Failing that, try OS-specific locations. if _os.name == 'mac': try: refnum, dirid = _macfs.FindFolder(_MACFS.kOnSystemDisk, _MACFS.kTemporaryFolderType, 1) dirname = _macfs.FSSpec((refnum, dirid, '')).as_pathname() dirlist.append(dirname) except _macfs.error: pass elif _os.name == 'riscos': dirname = _os.getenv('Wimp$ScrapDir') if dirname: dirlist.append(dirname) elif _os.name == 'nt': dirlist.extend([r'c:\temp', r'c:\tmp', r'\temp', r'\tmp']) else: dirlist.extend(['/tmp', '/var/tmp', '/usr/tmp']) # As a last resort, the current directory. try: dirlist.append(_os.getcwd()) except (AttributeError, _os.error): dirlist.append(_os.curdir) return dirlist
def getprefdir(package, home=None): if os.name == "nt": return win32_getprefdir(package, appname, home) if os.name == "mac": vrefnum, dirid = macfs.FindFolder(MACFS.kOnSystemDisk, MACFS.kPreferencesFolderType, 0) fss = macfs.FSSpec((vrefnum, dirid, ":" + appname)) return fss.as_pathname() if home is None: home = gethomedir() return os.path.join(home, "." + string.lower(package))
def _getSystemDir(kind): if (kind == AG_LOGS_DIR): return os.path.join(getSystemDir(AG_SYSTEM_DIR), "logs") elif (kind == AG_DEMOS_DIR): return os.path.join(getSystemDir(AG_SYSTEM_DIR), "demos") else: path = "" if (sysutils.isServer()): path = os.getenv("ACTIVEGRID_SERVER_HOME") if ((path is None) or (len(path) < 1)): path = sysutils.mainModuleDir else: path = os.getenv("AG_DOCUMENTS_DIR") if ((path is None) or (len(path) < 1)): if sysutils.isWindows(): ifDefPy() try: from win32com.shell import shell, shellcon path = shell.SHGetFolderPath(0, shellcon.CSIDL_PERSONAL, None, 0) except: pass endIfDef() if ((path is None) or (len(path) < 1)): homedrive = asString(os.getenv("HOMEDRIVE")) homepath = os.getenv("HOMEPATH") ## if ((homedrive is not None) and (len(homedrive) > 0) and (homepath is not None) and (len(homepath) > 0)): path = os.path.join(homedrive, homepath, "MYDOCU~1") else: ifDefPy() if sys.platform == "darwin": try: import macfs import MACFS fsspec_disk, fsspec_desktop = macfs.FindFolder( MACFS.kOnSystemDisk, MACFS.kDocumentsFolderType, 0) path = macfs.FSSpec((fsspec_disk, fsspec_desktop, '')).as_pathname() except: pass endIfDef() ifDefPy() if ((path is None) or (len(path) < 1)): path = os.path.expanduser("~") endIfDef() if ((path is None) or (len(path) < 1)): path = "/" path = os.path.join(path, "ActiveGrid") return path
def gettempdir(): global tempdir if tempdir is not None: return tempdir try: pwd = os.getcwd() except (AttributeError, os.error): pwd = os.curdir attempdirs = ['/usr/tmp', '/tmp', pwd] if os.name == 'nt': attempdirs.insert(0, 'C:\\TEMP') attempdirs.insert(0, '\\TEMP') elif os.name == 'mac': import macfs, MACFS try: refnum, dirid = macfs.FindFolder(MACFS.kOnSystemDisk, MACFS.kTemporaryFolderType, 1) dirname = macfs.FSSpec((refnum, dirid, '')).as_pathname() attempdirs.insert(0, dirname) except macfs.error: pass for envname in 'TMPDIR', 'TEMP', 'TMP': if os.environ.has_key(envname): attempdirs.insert(0, os.environ[envname]) testfile = gettempprefix() + 'test' for dir in attempdirs: try: filename = os.path.join(dir, testfile) fp = open(filename, 'w') fp.write('blat') fp.close() os.unlink(filename) tempdir = dir break except IOError: pass if tempdir is None: msg = "Can't find a usable temporary directory amongst " + ` attempdirs ` raise IOError, msg return tempdir
def findpythoncore(): """find the PythonCore shared library, possibly asking the user if we can't find it""" try: vRefNum, dirID = macfs.FindFolder(kOnSystemDisk, kSharedLibrariesFolderType, 0) except macfs.error: extpath = ":" else: extpath = macfs.FSSpec((vRefNum, dirID, "")).as_pathname() version = string.split(sys.version)[0] if MacOS.runtimemodel == 'carbon': corename = "PythonCoreCarbon " + version elif MacOS.runtimemodel == 'ppc': corename = "PythonCore " + version else: raise "Unknown MacOS.runtimemodel", MacOS.runtimemodel corepath = os.path.join(extpath, corename) if not os.path.exists(corepath): corepath = EasyDialogs.AskFileForOpen( message="Please locate PythonCore:", typeList=("shlb", )) if not corepath: raise KeyboardInterrupt, "cancelled" return resolvealiasfile(corepath)
"""macgen_bin - Generate application from shared libraries"""
#
'system_bitrate', 'system_captions', 'system_language', 'system_overdub_or_caption', 'system_screen_size', 'system_screen_depth', 'system_required', 'system_audiodesc', 'system_operating_system', 'system_cpu', 'system_component' ] NEEDS_RESTART = [ 'cmif', 'vertical_structure', 'no_canvas_resize', 'root_expanded' ] # Where is the preferences file: if os.name == 'posix': PREFSFILENAME = os.environ['HOME'] + '/.grins' elif os.name == 'mac': import macfs, MACFS vrefnum, dirid = macfs.FindFolder(MACFS.kOnSystemDisk, 'pref', 1) import version prefname = version.macpreffilename fss = macfs.FSSpec((vrefnum, dirid, prefname)) PREFSFILENAME = fss.as_pathname() else: default_settings['html_control'] = 0 # which HTML control to use import cmif PREFSFILENAME = cmif.findfile('grprefs.txt') def restore(): global user_settings, nonsaved_user_settings user_settings = {} nonsaved_user_settings = {} if os.path.exists(PREFSFILENAME):
# This python script creates Finder aliases for all the
"""
"""Utility routines depending on the finder,
def main(): try: h = OpenResFile('EditPythonPrefs.rsrc') except Res.Error: pass # Assume we already have acces to our own resource # Find the preferences folder and our prefs file, create if needed. vrefnum, dirid = macfs.FindFolder(kOnSystemDisk, 'pref', 0) preff_fss = macfs.FSSpec((vrefnum, dirid, 'Python Preferences')) try: preff_handle = FSpOpenResFile(preff_fss, WRITE) except Res.Error: # Create it message('No preferences file, creating one...') FSpCreateResFile(preff_fss, 'PYTH', 'pref', smAllScripts) preff_handle = FSpOpenResFile(preff_fss, WRITE) # Load the path and directory resources try: sr = GetResource('STR#', PATH_STRINGS_ID) except (MacOS.Error, Res.Error): message('Cannot find any sys.path resource! (Old python?)') sys.exit(0) d = sr.data l = restolist(d) try: dr = GetResource('alis', DIRECTORY_ID) fss, fss_changed = macfs.RawAlias(dr.data).Resolve() except (MacOS.Error, Res.Error): dr = None fss = macfs.FSSpec(os.getcwd()) fss_changed = 1 # Let the user play away result = interact(l, fss) # See what we have to update, and how if result == None: sys.exit(0) pathlist, nfss = result if nfss != fss: fss_changed = 1 if fss_changed or pathlist != l: if fss_changed: alias = nfss.NewAlias() if dr: dr.data = alias.data dr.ChangedResource() else: dr = Resource(alias.data) dr.AddResource('alis', DIRECTORY_ID, '') if pathlist != l: if pathlist == []: if sr.HomeResFile() == preff_handle: sr.RemoveResource() elif sr.HomeResFile() == preff_handle: sr.data = listtores(pathlist) sr.ChangedResource() else: sr = Resource(listtores(pathlist)) sr.AddResource('STR#', PATH_STRINGS_ID, '') CloseResFile(preff_handle)
"""Temporary files and filenames."""