@@ -177,7 +177,7 @@ def _build(self, raw_matcher):
177177 :type raw_matcher: dict
178178 """
179179 self ._data = raw_matcher .get ('stringMatcherData' )
180- self ._semver = Semver (self ._data )
180+ self ._semver = Semver . build (self ._data )
181181
182182 def _match (self , key , attributes = None , context = None ):
183183 """
@@ -193,15 +193,19 @@ def _match(self, key, attributes=None, context=None):
193193 :returns: Wheter the match is successful.
194194 :rtype: bool
195195 """
196- if self ._data is None :
196+ if self ._data is None or self . _semver is None :
197197 _LOGGER .error ("stringMatcherData is required for EQUAL_TO_SEMVER matcher type" )
198- return None
198+ return False
199199
200200 matching_data = Sanitizer .ensure_string (self ._get_matcher_input (key , attributes ))
201201 if matching_data is None :
202202 return False
203203
204- return self ._semver .version == Semver (matching_data ).version
204+ matching_semver = Semver .build (matching_data )
205+ if matching_semver is None :
206+ return False
207+
208+ return self ._semver .version == matching_semver .version
205209
206210 def __str__ (self ):
207211 """Return string Representation."""
@@ -222,7 +226,7 @@ def _build(self, raw_matcher):
222226 :type raw_matcher: dict
223227 """
224228 self ._data = raw_matcher .get ('stringMatcherData' )
225- self ._semver = Semver (self ._data )
229+ self ._semver = Semver . build (self ._data )
226230
227231 def _match (self , key , attributes = None , context = None ):
228232 """
@@ -238,15 +242,19 @@ def _match(self, key, attributes=None, context=None):
238242 :returns: Wheter the match is successful.
239243 :rtype: bool
240244 """
241- if self ._data is None :
245+ if self ._data is None or self . _semver is None :
242246 _LOGGER .error ("stringMatcherData is required for GREATER_THAN_OR_EQUAL_TO_SEMVER matcher type" )
243- return None
247+ return False
244248
245249 matching_data = Sanitizer .ensure_string (self ._get_matcher_input (key , attributes ))
246250 if matching_data is None :
247251 return False
248252
249- return Semver (matching_data ).compare (self ._semver ) in [0 , 1 ]
253+ matching_semver = Semver .build (matching_data )
254+ if matching_semver is None :
255+ return False
256+
257+ return matching_semver .compare (self ._semver ) in [0 , 1 ]
250258
251259 def __str__ (self ):
252260 """Return string Representation."""
@@ -267,7 +275,7 @@ def _build(self, raw_matcher):
267275 :type raw_matcher: dict
268276 """
269277 self ._data = raw_matcher .get ('stringMatcherData' )
270- self ._semver = Semver (self ._data )
278+ self ._semver = Semver . build (self ._data )
271279
272280 def _match (self , key , attributes = None , context = None ):
273281 """
@@ -283,15 +291,19 @@ def _match(self, key, attributes=None, context=None):
283291 :returns: Wheter the match is successful.
284292 :rtype: bool
285293 """
286- if self ._data is None :
294+ if self ._data is None or self . _semver is None :
287295 _LOGGER .error ("stringMatcherData is required for LESS_THAN_OR_EQUAL_TO_SEMVER matcher type" )
288- return None
296+ return False
289297
290298 matching_data = Sanitizer .ensure_string (self ._get_matcher_input (key , attributes ))
291299 if matching_data is None :
292300 return False
293301
294- return Semver (matching_data ).compare (self ._semver ) in [0 , - 1 ]
302+ matching_semver = Semver .build (matching_data )
303+ if matching_semver is None :
304+ return False
305+
306+ return matching_semver .compare (self ._semver ) in [0 , - 1 ]
295307
296308 def __str__ (self ):
297309 """Return string Representation."""
@@ -312,8 +324,8 @@ def _build(self, raw_matcher):
312324 :type raw_matcher: dict
313325 """
314326 self ._data = raw_matcher .get ('betweenStringMatcherData' )
315- self ._semver_start = Semver (self ._data ['start' ]) if self ._data .get ('start' ) is not None else None
316- self ._semver_end = Semver (self ._data ['end' ]) if self ._data .get ('end' ) is not None else None
327+ self ._semver_start = Semver . build (self ._data ['start' ]) if self ._data .get ('start' ) is not None else None
328+ self ._semver_end = Semver . build (self ._data ['end' ]) if self ._data .get ('end' ) is not None else None
317329
318330 def _match (self , key , attributes = None , context = None ):
319331 """
@@ -331,13 +343,17 @@ def _match(self, key, attributes=None, context=None):
331343 """
332344 if self ._data is None or self ._semver_start is None or self ._semver_end is None :
333345 _LOGGER .error ("betweenStringMatcherData is required for BETWEEN_SEMVER matcher type" )
334- return None
346+ return False
335347
336348 matching_data = Sanitizer .ensure_string (self ._get_matcher_input (key , attributes ))
337349 if matching_data is None :
338350 return False
339351
340- return (self ._semver_start .compare (Semver (matching_data )) in [0 , - 1 ]) and (self ._semver_end .compare (Semver (matching_data )) in [0 , 1 ])
352+ matching_semver = Semver .build (matching_data )
353+ if matching_semver is None :
354+ return False
355+
356+ return (self ._semver_start .compare (matching_semver ) in [0 , - 1 ]) and (self ._semver_end .compare (matching_semver ) in [0 , 1 ])
341357
342358 def __str__ (self ):
343359 """Return string Representation."""
@@ -361,7 +377,7 @@ def _build(self, raw_matcher):
361377 if self ._data is not None :
362378 self ._data = self ._data .get ('whitelist' )
363379
364- self ._semver_list = [Semver (item ) if item is not None else None for item in self ._data ] if self ._data is not None else []
380+ self ._semver_list = [Semver . build (item ) if item is not None else None for item in self ._data ] if self ._data is not None else []
365381
366382 def _match (self , key , attributes = None , context = None ):
367383 """
@@ -379,13 +395,17 @@ def _match(self, key, attributes=None, context=None):
379395 """
380396 if self ._data is None :
381397 _LOGGER .error ("whitelistMatcherData is required for IN_LIST_SEMVER matcher type" )
382- return None
398+ return False
383399
384400 matching_data = Sanitizer .ensure_string (self ._get_matcher_input (key , attributes ))
385401 if matching_data is None :
386402 return False
387403
388- return any ([item .version == Semver (matching_data ).version if item is not None else False for item in self ._semver_list ])
404+ matching_semver = Semver .build (matching_data )
405+ if matching_semver is None :
406+ return False
407+
408+ return any ([item .version == matching_semver .version if item is not None else False for item in self ._semver_list ])
389409
390410 def __str__ (self ):
391411 """Return string Representation."""
0 commit comments