From d813e162695e68b321487efe0c400c4f8f9688b6 Mon Sep 17 00:00:00 2001
From: Leonardo Rochael Almeida <leonardo@nexedi.com>
Date: Thu, 8 Oct 2009 08:28:32 +0000
Subject: [PATCH] Place back ImportError guards that allowed
 AdvancedSearchTextParser to be used without interface definitions and checks.

git-svn-id: https://svn.erp5.org/repos/public/erp5/sandbox/portal_types@29460 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../SearchText/AdvancedSearchTextParser.py      | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/product/ZSQLCatalog/SearchText/AdvancedSearchTextParser.py b/product/ZSQLCatalog/SearchText/AdvancedSearchTextParser.py
index 69276b02f5..ab58a04aad 100644
--- a/product/ZSQLCatalog/SearchText/AdvancedSearchTextParser.py
+++ b/product/ZSQLCatalog/SearchText/AdvancedSearchTextParser.py
@@ -27,9 +27,20 @@
 ##############################################################################
 
 from lexer import lexer, update_docstrings
-from Products.ZSQLCatalog.interfaces.abstract_syntax_node import INode, IValueNode, ILogicalNode, IColumnNode
-from zope.interface.verify import verifyClass
-from zope.interface import implements
+try:
+  from Products.ZSQLCatalog.interfaces.abstract_syntax_node import INode, IValueNode, ILogicalNode, IColumnNode
+  from zope.interface.verify import verifyClass
+  from zope.interface import implements
+except ImportError:
+  # allow this module to be imported by stand-alone scripts without
+  # Products.ZSQLCatalog.interfaces or zope.interface around.
+  INode = None
+  IValueNode = None
+  ILogicalNode = None
+  IColumnNode = None
+  def verifyClass(*args, **kw):
+    pass
+  implements = verifyClass
 
 class Node(object):
 
-- 
2.30.9