def get_fallback_emailclient(klass): # Don't use mimetype lookup here, this is a fallback if os.name == 'nt': return StartFile() elif os.name == 'darwin': app = Application('open') else: # linux and friends app = Application('xdg-email') if app.tryexec(): return app else: return WebBrowser()
def get_fallback_filebrowser(klass): # Don't use mimetype lookup here, this is a fallback # should handle all file types if os.name == 'nt': return StartFile() elif os.name == 'darwin': app = Application('open') else: # linux and friends app = Application('xdg-open') if app.tryexec(): return app else: return WebBrowser()
def get_application(name): '''Get an application by name. Will search installed ".desktop" files of the same name @param name: the application name (e.g. "firefox"). As a special case "webbrowser" maps to a L{WebBrowser} application instance and "startfile" to a L{StartFile} application instance @returns: an L{Application} object or C{None} ''' if name.endswith('.desktop'): key = name else: key = name + '.desktop' file = _application_file(key, _application_dirs()) if file: return DesktopEntryFile(File(file)) elif name == 'webbrowser': return WebBrowser() elif name == 'startfile': return StartFile() else: return None
def get_fallback_webbrowser(klass): # Don't use mimetype lookup here, this is a fallback # should handle all URL types # The webbrowser module knows about utils like xdg-open # so will find the right thing to do one way or the other return WebBrowser()