From d54b49ce78293f61586e9b5df890ad4cc3a6b536 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 20 Aug 2009 11:16:23 -0600 Subject: [PATCH] IGN:... --- src/calibre/utils/filenames.py | 13 ++++++++++++- src/calibre/utils/sigil.py | 17 +++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/calibre/utils/sigil.py diff --git a/src/calibre/utils/filenames.py b/src/calibre/utils/filenames.py index 0aab96522b..bf3cbe2f67 100644 --- a/src/calibre/utils/filenames.py +++ b/src/calibre/utils/filenames.py @@ -8,7 +8,7 @@ from math import ceil from calibre.ebooks.unidecode.unidecoder import Unidecoder from calibre import sanitize_file_name -from calibre.constants import preferred_encoding +from calibre.constants import preferred_encoding, iswindows udc = Unidecoder() def ascii_text(orig): @@ -65,3 +65,14 @@ def shorten_components_to(length, components): ans.append(r) return ans +def find_executable_in_path(name, path=None): + if path is None: + path = os.environ.get('PATH', '') + sep = ';' if iswindows else ':' + if iswindows and not name.endswith('.exe'): + name += '.exe' + path = path.split(sep) + for x in path: + q = os.path.abspath(os.path.join(x, name)) + if os.access(q, os.X_OK): + return q diff --git a/src/calibre/utils/sigil.py b/src/calibre/utils/sigil.py new file mode 100644 index 0000000000..c87cd5ea93 --- /dev/null +++ b/src/calibre/utils/sigil.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai +from __future__ import with_statement + +__license__ = 'GPL v3' +__copyright__ = '2009, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +from calibre.utils.filenames import find_executable_in_path +from calibre.constants import iswindows + +def find_executable(): + name = 'sigil' + ('.exe' if iswindows else '') + path = find_executable_in_path(name) + #if path is None and iswindows: + # path = search_program_files() +