parameters: (self)
docstring: Identifies which type of 'size' filter is applied
  
          There are four different filtering modes:
  
          1) 10G:50G (high-low)
             At least 10G but at max 50G of size
  
          2) :60G
             At max 60G of size
  
          3) 50G:
             At least 50G of size
  
          4) 20G
             Exactly 20G in size
  
          This method uses regex to identify and extract this information
          and raises if none could be found.
docstring_summary: Identifies which type of 'size' filter is applied
docstring_tokens: Identifies which type of size filter is applied
function: def _parse_filter(self) -> None:
          """ Identifies which type of 'size' filter is applied
  
          There are four different filtering modes:
  
          1) 10G:50G (high-low)
             At least 10G but at max 50G of size
  
          2) :60G
             At max 60G of size
  
          3) 50G:
             At least 50G of size
  
          4) 20G
             Exactly 20G in size
  
          This method uses regex to identify and extract this information
          and raises if none could be found.
          """
          low_high = re.match(r"\d+[A-Z]{1,2}:\d+[A-Z]{1,2}", self.value)
          if low_high:
              low, high = low_high.group().split(":")
              self.low = self._get_k_v(low)
              self.high = self._get_k_v(high)
  
          low = re.match(r"\d+[A-Z]{1,2}:$", self.value)
          if low:
              self.low = self._get_k_v(low.group())
  
          high = re.match(r"^:\d+[A-Z]{1,2}", self.value)
          if high:
              self.high = self._get_k_v(high.group())
  
          exact = re.match(r"^\d+\.?\d*[A-Z]{1,2}$", self.value)
          if exact:
              self.exact = self._get_k_v(exact.group())
  
          if not self.low and not self.high and not self.exact:
              raise _MatchInvalid("Couldn't parse {}".format(self.value))
function_tokens: def _parse_filter ( self ) -> None : low_high = re . match ( r"\d+[A-Z]{1,2}:\d+[A-Z]{1,2}" , self . value ) if low_high : low , high = low_high . group ( ) . split ( ":" ) self . low = self . _get_k_v ( low ) self . high = self . _get_k_v ( high ) low = re . match ( r"\d+[A-Z]{1,2}:$" , self . value ) if low : self . low = self . _get_k_v ( low . group ( ) ) high = re . match ( r"^:\d+[A-Z]{1,2}" , self . value ) if high : self . high = self . _get_k_v ( high . group ( ) ) exact = re . match ( r"^\d+\.?\d*[A-Z]{1,2}$" , self . value ) if exact : self . exact = self . _get_k_v ( exact . group ( ) ) if not self . low and not self . high and not self . exact : raise _MatchInvalid ( "Couldn't parse {}" . format ( self . value ) )