From f4a0595b329c9e89cf6ca9f624d044797d4520b6 Mon Sep 17 00:00:00 2001 From: Matteo Mecucci Date: Sat, 28 Apr 2012 15:18:51 +0200 Subject: [PATCH] Fixed the regexp function used with sqlite3. --- beets/library.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/beets/library.py b/beets/library.py index 810b19464..330af9284 100644 --- a/beets/library.py +++ b/beets/library.py @@ -837,14 +837,23 @@ class Library(BaseLibrary): self.art_filename = bytestring_path(art_filename) self.replacements = replacements + # uncomment for extra traceback on error + #sqlite3.enable_callback_tracebacks(1) + self.timeout = timeout self.conn = sqlite3.connect(self.path, timeout) self.conn.row_factory = sqlite3.Row # this way we can access our SELECT results like dictionaries def regexp(expr, item): - reg = re.compile(expr) - return reg.search(item) is not None + if item == None: + return False + try: + reg = re.compile(expr) + res = reg.search(item) + return res is not None + except: + return False self.conn.create_function("REGEXP", 2, regexp)