Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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))
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
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)
Ejemplo n.º 8
0
"""macgen_bin - Generate application from shared libraries"""
Ejemplo n.º 9
0
#
Ejemplo n.º 10
0
    '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):
Ejemplo n.º 11
0
# This python script creates Finder aliases for all the
Ejemplo n.º 12
0
"""
Ejemplo n.º 13
0
"""Utility routines depending on the finder,
Ejemplo n.º 14
0
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)
Ejemplo n.º 15
0
"""Temporary files and filenames."""