1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
#!/usr/bin/env python
# check.py -- check for system requirements
# public domain
NAME = "Listen"
import sys
if __name__ == "__main__":
print "Checking Python version:",
print ".".join(map(str, sys.version_info[:2]))
if sys.version_info <= (2, 4):
raise SystemExit("%s requires at least Python 2.4."
"(http://www.python.org)" % NAME)
print "Checking for PyGTK >= 2.6:",
try:
import pygtk
pygtk.require('2.0')
import gtk
if gtk.pygtk_version < (2, 6) or gtk.gtk_version < (2, 6):
raise ImportError
except ImportError:
raise SystemExit("not found\n%s requires PyGTK 2.6. "
"(http://www.pygtk.org)" % NAME)
else: print "found"
print "Checking for pyGTK-devel >= 2.6:",
try:
import os
s = "pygtk-codegen-2.0"
for p in os.environ["PATH"].split(os.path.pathsep):
p2 = os.path.join(p, s)
if os.path.exists(p2):
break
else: raise ImportError
except ImportError: raise SystemExit("not found\n%s requires pyGTK-devel" % NAME)
else: print "found"
print "Checking for Xlib:",
try:
import Xlib
except:
print "not found\nTry egg.trayicon instead:",
try:
import egg.trayicon
except ImportError:
raise SystemExit("not found\n%s require python-xlib or gnome-python-extras.\n\t(http://python-xlib.sourceforge.net/ or http://ftp.gnome.org/pub/GNOME/sources/gnome-python-extras)" % NAME)
else:
print "found"
else:
print "found"
print "Checking for python-webkit:",
try: import webkit
except:
print "not found\nTry pygtkmozembed instead:",
try:
import gtkmozembed
except ImportError:
raise SystemExit("not found\n%s require python-webkit or gnome-python-extras.\n\t(http://code.google.com/p/pywebkitgtk/ or http://ftp.gnome.org/pub/GNOME/sources/gnome-python-extras)" % NAME)
else: print "found"
else:
print "found"
print "Checking for mutagen:",
try:
import mutagen
if mutagen.version < (1,8): raise ImportError
except : raise SystemExit("not found\n%s require mutagen >= 1.8.\n\t(http://www.sacredchao.net/quodlibet/wiki/Development/Mutagen)" % NAME)
else: print "found"
print "Checking for PyGSt >= 0.10:",
try:
import pygst
pygst.require("0.10")
import gst
if gst.pygst_version < (0, 10, 1):
raise ImportError
except ImportError: raise SystemExit("not found\n%s requires PyGst 0.10 (http://gstreamer.freedesktop.org)" % NAME)
else: print "found"
print "Checking for python-elementtree",
try: from elementtree.ElementTree import fromstring
except ImportError:
# Python 2.5 rename
try:
from xml.etree.ElementTree import fromstring
except ImportError: raise SystemExit("not found\n%s requires python-elementtree" % NAME)
else: print "found"
else: print "found"
# Optional
print "Checking for DBUS:",
try: import dbus
except ImportError: print ("not found\n%s dbus recommanded. " % NAME)
else: print "found"
print "Checking for python-daap:",
try:
import daap
except ImportError: print ("not found\n%s recommends python-daap (http://jerakeen.org/code/PythonDaap/)" %NAME)
else: print "found"
print "Checking for python-libgpod:",
try:
import gpod
except ImportError: print ("not found\n%s recommends python-gpod (http://www.gtkpod.org)" % NAME)
else: print "found"
print "Checking for python-musicbrainz2:",
try:
import musicbrainz2
except ImportError: print "not found\n, but recommanded"
else: print "found"
print "Checking for python-tunepimp > 0.5:",
try:
from tunepimp import tunepimp
dir(tunepimp.tunepimp).index("setMusicDNSClientId")
except: print "not found\n, but recommanded"
else: print "found"
print "Checking for libsexy:",
try: import sexy
except ImportError: print ("not found\n%s recommends python sexy for sexy widget. " % NAME)
else: print "found"
print "Checking for gnome.ui:",
try: import gnome,gnome.ui
except ImportError: print ("not found\n%s recommends python-gnome (http://www.gnome.org)" % NAME)
else: print "found"
print "Checking for pyinotify:",
try: import pyinotify
except ImportError: print ("not found\n%s require pyinotify (http://pyinotify.sourceforge.net/)" % NAME)
else: print "found"
|