@@ -67,17 +67,16 @@ def text_length(i):
67
67
def compile_pattern (elements ):
68
68
if not elements :
69
69
return None
70
+ elif isinstance (elements , regexp_type ):
71
+ return elements
70
72
elif isinstance (elements , (str_ , bytes_ )):
71
73
if isinstance (elements , bytes_ ):
72
74
elements = str_ (elements , 'utf-8' )
73
75
elements = elements .split (u',' )
74
- return re .compile (u'|' .join ([re .escape (x .lower ()) for x in elements ]), re .U )
75
- elif isinstance (elements , (list , tuple )):
76
- return list (elements )
77
- elif isinstance (elements , regexp_type ):
78
- return elements
76
+ if isinstance (elements , (list , tuple )):
77
+ return re .compile (u'|' .join ([re .escape (x .strip ().lower ()) for x in elements ]), re .U )
79
78
else :
80
- raise Exception ("Unknown format for the pattern" )
79
+ raise Exception ("Unknown type for the pattern: {}" <
91BC
/span>. format ( type ( elements )) )
81
80
# assume string or string like object
82
81
83
82
class Document :
@@ -614,8 +613,8 @@ def main():
614
613
parser .add_option ('-l' , '--log' , default = None , help = "save logs into file (appended)" )
615
614
parser .add_option ('-u' , '--url' , default = None , help = "use URL instead of a local file" )
616
615
parser .add_option ('-x' , '--xpath' , default = None , help = "add original xpath" )
617
- parser .add_option ('-p' , '--positive-keywords' , default = None , help = "positive keywords (separated with comma)" , action = 'store' )
618
- parser .add_option ('-n' , '--negative-keywords' , default = None , help = "negative keywords (separated with comma)" , action = 'store' )
616
+ parser .add_option ('-p' , '--positive-keywords' , default = None , help = "positive keywords (comma-separated )" , action = 'store' )
617
+ parser .add_option ('-n' , '--negative-keywords' , default = None , help = "negative keywords (comma-separated )" , action = 'store' )
619
618
(options , args ) = parser .parse_args ()
620
619
621
620
if options .verbose :
0 commit comments