gstreamer/validate/tools/gst-validate-launcher.in

62 lines
2 KiB
Python

#!/usr/bin/env python2
#
# Copyright (c) 2014,Thibault Saunier <thibault.saunier@collabora.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
# Boston, MA 02110-1301, USA.
import os
import subprocess
import sys
LIBDIR = '@LIBDIR@'
GIT_FIRST_HASH = 'da962d096af9460502843e41b7d25fdece7ff1c2'
def _get_git_first_hash(path):
cdir = os.path.abspath(os.curdir)
try:
os.chdir(path)
res = subprocess.check_output(['git', 'rev-list', '--max-parents=0', 'HEAD']).rstrip('\n')
except subprocess.CalledProcessError:
res = ''
finally:
os.chdir(cdir)
return res
def _in_devel():
root_dir = os.path.abspath(os.path.dirname(os.path.join(os.path.dirname(os.path.abspath(__file__)),
"..", "..", "..")))
return _get_git_first_hash(root_dir) == GIT_FIRST_HASH
def _add_gst_launcher_path():
if not _in_devel():
root = os.path.join(LIBDIR, 'gst-validate-launcher', 'python')
else:
print "Running with development path"
dir_ = os.path.dirname(os.path.abspath(__file__))
root = os.path.split(dir_)[0]
sys.path.insert(0, root)
return os.path.join(root, "launcher")
if "__main__" == __name__:
libsdir = _add_gst_launcher_path()
from launcher.main import main
exit(main(libsdir))