summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packages/alpm.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/packages/alpm.py b/packages/alpm.py
index a7f4c3b..3762ea6 100644
--- a/packages/alpm.py
+++ b/packages/alpm.py
@@ -5,16 +5,23 @@ import operator
def load_alpm(name=None):
# Load the alpm library and set up some of the functions we might use
- if name == None:
+ if name is None:
name = find_library('alpm')
+ if name is None:
+ # couldn't locate the correct library
+ return None
try:
alpm = ctypes.cdll.LoadLibrary(name)
except OSError:
return None
- alpm.alpm_version.argtypes = ()
- alpm.alpm_version.restype = ctypes.c_char_p
- alpm.alpm_pkg_vercmp.argtypes = (ctypes.c_char_p, ctypes.c_char_p)
- alpm.alpm_pkg_vercmp.restype = ctypes.c_int
+ try:
+ alpm.alpm_version.argtypes = ()
+ alpm.alpm_version.restype = ctypes.c_char_p
+ alpm.alpm_pkg_vercmp.argtypes = (ctypes.c_char_p, ctypes.c_char_p)
+ alpm.alpm_pkg_vercmp.restype = ctypes.c_int
+ except AttributeError:
+ return None
+
return alpm