@@ -36,21 +36,25 @@ def annotate(self, text, properties=None):
36
36
pass
37
37
return output
38
38
39
- def tokensregex (self , text , pattern , filter ):
40
- return self .regex ('/tokensregex' , text , pattern , filter )
39
+ def tokensregex (self , text , pattern , filter , properties = None ):
40
+ return self .regex ('/tokensregex' , text , pattern , filter , properties )
41
41
42
- def semgrex (self , text , pattern , filter ):
43
- return self .regex ('/semgrex' , text , pattern , filter )
42
+ def semgrex (self , text , pattern , filter , properties = None ):
43
+ return self .regex ('/semgrex' , text , pattern , filter , properties )
44
44
45
- def regex (self , endpoint , text , pattern , filter ):
45
+ def regex (self , endpoint , text , pattern , filter , properties = None ):
46
+ assert isinstance (text , str )
47
+ data = text .encode ()
46
48
r = requests .get (
47
49
self .server_url + endpoint , params = {
48
- 'pattern' : pattern ,
50
+ 'pattern' : pattern ,
51
+ 'properties' : str (properties or {}),
49
52
'filter' : filter
50
- }, data = text )
53
+ }, data = data )
54
+ r .encoding = 'utf-8'
51
55
output = r .text
52
56
try :
53
- output = json .loads (r .text )
57
+ output = json .loads (r .text , encoding = 'utf-8' , strict = True )
54
58
except :
55
59
pass
56
60
return output
0 commit comments