From 14738704ede6dfa6ac79f362a9c1f7f40f470cdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Eduardo?= Date: Mon, 11 Sep 2017 17:47:17 -0500 Subject: rename mvc at lvc --- lvc/openfiles.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 lvc/openfiles.py (limited to 'lvc/openfiles.py') diff --git a/lvc/openfiles.py b/lvc/openfiles.py new file mode 100644 index 0000000..ef6710a --- /dev/null +++ b/lvc/openfiles.py @@ -0,0 +1,46 @@ +"""openfiles.py -- open files/folders.""" + +import logging +import os +import subprocess +import sys + + +# To open paths we use an OS-specific command. The approach is from: +# http://stackoverflow.com/questions/6631299/python-opening-a-folder-in-explorer-nautilus-mac-thingie + +def check_kde(): + return os.environ.get("KDE_FULL_SESSION", None) != None + +def _open_path_osx(path): + subprocess.call(['open', '--', path]) + +def _open_path_kde(path): + subprocess.call(["kfmclient", "exec", "file://" + path]) # kfmclient is part of konqueror + +def _open_path_gnome(path): + subprocess.call(["gnome-open",'--'. path]) + +def _open_path_windows(path): + subprocess.call(['explorer', path]) + +def _open_path(path): + if sys.platform == 'darwin': + _open_path_osx(path) + elif sys.platform == 'linux2': + if check_kde(): + _open_path_kde(path) + else: + _open_path_gnome(path) + elif sys.platform == 'win32': + _open_path_windows(path) + else: + logging.warn("unknown platform: %s", sys.platform) + +def reveal_folder(path): + """Show a folder in the desktop shell (finder/explorer/nautilous, etc).""" + logging.info("reveal_folder: %s", path) + if os.path.isdir(path): + _open_path(path) + else: + _open_path(os.path.dirname(path)) -- cgit v1.2.3