Скрипт Bash для MythTV, который требует зависимостей Python - PullRequest
2 голосов
/ 25 октября 2010

Я написал скрипт bash, который переименовывает файлы MythTV на основе полученных данных. Я написал это на bash, потому что bash обладает сильными сторонами манипулирования текстовыми данными и простотой использования.
Сам скрипт вы можете посмотреть здесь: http://code.google.com/p/mythicallibrarian/source/browse/trunk/mythicalLibrarian

У меня есть несколько пользователей, которые впервые являются пользователями Linux. Я создал установочный скрипт, который проверяет зависимости и настраивает графически. Вы можете увидеть скрипт установки здесь: http://code.google.com/p/mythicallibrarian/source/browse/trunk/mythicalSetup.sh

Недавно в MythTV произошли некоторые изменения, из-за которых мне пришлось перенести доступ к базе данных mysql в mythicalLibrarian в скрипт привязки Python. здесь: http://code.google.com/p/mythicallibrarian/source/browse/trunk/pythonBindings/MythDataGrabber

Ранее я тестировал зависимости, используя такую ​​систему:

test "`uname`" != "Darwin" && LinuxDep=1 || LinuxDep=0

if which agrep >/dev/null; then
        echo "Verified agrep exists"
else
        test "$LinuxDep" = "1" && echo "Please install 'agrep' on your system" || echo "Please obtain MacPorts and install package agrep"
        d="agrep "
fi
 .........................
if which agrep>/dev/null && which curl>/dev/null && which dialog>/dev/null; then
        echo "All checks complete!!!"
else
        echo "the proper dependencies must be installed..." 
        echo "The missing dependencies are $a$b$c$d$e"
        test "$LinuxDep" = "1" && echo "Debian based users run: apt-get install $a$b$c$d$e" || echo "Please obtain MacPorts and run: port install $a$b$c"
        if [ "$LinuxDep" = "0" ]; then
                read -n1 -p " Would you like some help on installing MacPorts? Select: (y)/n" MacPortsHelp

Зависимости python делают его немного сложнее. Я не знаю, как проверить, есть ли у меня в системе pacakge linux "libmyth-python" и "python-lxml".

Как из BASH, я могу проверить, что мой скрипт Python MythDataGrabber имеет

 from MythTV import MythDB

требование выполнено?

Ответы [ 2 ]

5 голосов
/ 25 октября 2010

Вы можете проверить код состояния:

python -c "import MythDB.MythTV"

Если он возвращает ненулевое значение, произошла ошибка, вероятно, ошибка ImportError.

0 голосов
/ 25 октября 2010

Напишите скрипт Python:

try:
    from MythTV import MythDB
    print "Yes"
except ImportError:
    print "No"

, затем запустите скрипт Python из вашего скрипта Bash и проверьте его вывод.

...