def posix_to_hfs_path(posix_path): """ Turns a posix path (/Path/file.ext) into an HFS path (Macintosh HD:Path:file.ext) """ dir_name, file_name = os.path.split(posix_path) dir_name_hfs = mactypes.Alias(dir_name).hfspath return dir_name_hfs + ':' + file_name
def finder(mid): """ Show a file in the Mac OSX window system. """ from appscript import app, mactypes app("Finder").reveal(mactypes.Alias(mid).alias)
def save_workbook(xl_workbook, path): saved_path = xl_workbook.properties().get(kw.path) if (saved_path != '') and (path is None): # Previously saved: Save under existing name xl_workbook.save() elif (saved_path == '') and (path is None): # Previously unsaved: Save under current name in current working directory path = os.path.join(os.getcwd(), xl_workbook.name.get() + '.xlsx') dir_name, file_name = os.path.split(path) dir_name_hfs = mactypes.Alias(dir_name).hfspath # turn into HFS path format hfs_path = dir_name_hfs + ':' + file_name xl_workbook.save_workbook_as(filename=hfs_path, overwrite=True) elif path: # Save under new name/location dir_name, file_name = os.path.split(path) dir_name_hfs = mactypes.Alias(dir_name).hfspath # turn into HFS path format hfs_path = dir_name_hfs + ':' + file_name xl_workbook.save_workbook_as(filename=hfs_path, overwrite=True)
def show_folder(path): system = platform.system().lower() if system == 'darwin': try: from appscript import App, mactypes if os.path.exists(path): App("Finder").reveal(mactypes.Alias(path).alias) except: subprocess.call(['open', '-R', path]) elif system == 'windows': if os.path.exists(IMAGES_PATH): subprocess.call(['start', path], shell=True) elif system == 'linux': print 'Linux not implemented yet.'
def show_in_finder(filepath): """Show a file in OSX's Finder.""" from appscript import app, mactypes app("Finder").reveal(mactypes.Alias(filepath).alias)