11# -*- encoding: utf-8 -*-
2+ # pylint: disable=too-many-locals,unnecessary-lambda,undefined-variable
23
34from funcparserlib .lexer import (
45 make_tokenizer ,
1920)
2021
2122
22- def tokenize (str ):
23+ def tokenize (to_tokenize_str ):
2324 specs = [
2425 ('Space' , (r'[ \t\r\n]+' ,)),
2526 ('Word' , (r'[\w\-\_]+' ,)),
2627 ('Op' , (r'[\\(\\)\\|\\!\\&]{1}' ,)),
2728 ]
2829 useless = [u'Space' ]
29- t = make_tokenizer (specs )
30- return [x for x in t (str ) if x .type not in useless ]
30+ tokenizer = make_tokenizer (specs )
31+ return [
32+ token
33+ for token in tokenizer (to_tokenize_str )
34+ if token .type not in useless
35+ ]
3136
3237
3338def parse (sequence , query ):
3439 tokval = lambda x : x .value
3540 toktype = lambda t : (
3641 some (lambda x : x .type == t ).named ('(type %s)' % t ) >> tokval
3742 )
38- op = lambda s : a (Token ('Op' , s )) >> tokval
39- op_ = lambda s : skip (op (s ))
43+ operation = lambda s : a (Token ('Op' , s )) >> tokval
44+ operation_ = lambda s : skip (operation (s ))
4045
4146 create_param = lambda param_name : query .get_aliased_param (
42- param_name
47+ param_name
4348 )
4449 make_and = lambda params : And (params [0 ], params [1 ])
4550 make_or = lambda params : Or (params [0 ], params [1 ])
@@ -51,12 +56,12 @@ def parse(sequence, query):
5156 right_of_and = forward_decl ()
5257 left_of_or = forward_decl ()
5358 not_ = forward_decl ()
54- bracket = op_ ('(' ) + inner_bracket + op_ (')' )
55- and_ = left_of_and + op_ ('&' ) + right_of_and >> make_and
56- or_ = left_of_or + op_ ('|' ) + inner_bracket >> make_or
59+ bracket = operation_ ('(' ) + inner_bracket + operation_ (')' )
60+ and_ = left_of_and + operation_ ('&' ) + right_of_and >> make_and
61+ or_ = left_of_or + operation_ ('|' ) + inner_bracket >> make_or
5762 param = word >> create_param
5863
59- not_ .define (op_ ('!' ) + (bracket | param ))
64+ not_ .define (operation_ ('!' ) + (bracket | param ))
6065 not_ = not_ >> make_not
6166
6267 left_of_or .define (and_ | bracket | not_ | param )
@@ -69,5 +74,5 @@ def parse(sequence, query):
6974 return definition .parse (sequence )
7075
7176
72- def loads (s , query ):
73- return parse (tokenize (s ), query )
77+ def loads (to_parse_string , query ):
78+ return parse (tokenize (to_parse_string ), query )
0 commit comments