55 lines
1.6 KiB
Python
55 lines
1.6 KiB
Python
# The contents of this file are subject to the BitTorrent Open Source License
|
|
# Version 1.1 (the License). You may not copy or use this file, in either
|
|
# source code or executable form, except in compliance with the License. You
|
|
# may obtain a copy of the License at http://www.bittorrent.com/license/.
|
|
#
|
|
# Software distributed under the License is distributed on an AS IS basis,
|
|
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
# for the specific language governing rights and limitations under the
|
|
# License.
|
|
|
|
# LaunchPath -- a cross platform way to "open," "launch," or "start"
|
|
# files and directories
|
|
|
|
# written by Matt Chisholm
|
|
|
|
import os
|
|
|
|
can_launch_files = False
|
|
posix_browsers = ('gnome-open','konqueror',) #gmc, gentoo only work on dirs
|
|
default_posix_browser = ''
|
|
|
|
def launchpath_nt(path):
|
|
os.startfile(path)
|
|
|
|
def launchpath_mac(path):
|
|
# BUG: this is untested
|
|
os.spawnlp(os.P_NOWAIT, 'open', 'open', path)
|
|
|
|
def launchpath_posix(path):
|
|
if default_posix_browser:
|
|
os.spawnlp(os.P_NOWAIT, default_posix_browser,
|
|
default_posix_browser, path)
|
|
|
|
def launchpath(path):
|
|
pass
|
|
|
|
def launchdir(path):
|
|
if os.path.isdir(path):
|
|
launchpath(path)
|
|
|
|
if os.name == 'nt':
|
|
can_launch_files = True
|
|
launchpath = launchpath_nt
|
|
elif os.name == 'mac':
|
|
can_launch_files = True
|
|
launchpath = launchpath_mac
|
|
elif os.name == 'posix':
|
|
for b in posix_browsers:
|
|
if os.system("which '%s' >/dev/null 2>&1" % b.replace("'","\\'")) == 0:
|
|
can_launch_files = True
|
|
default_posix_browser = b
|
|
launchpath = launchpath_posix
|
|
break
|
|
|