code: def parse(cls, rule_string):
          
          result = parser.parseString(rule_string)
          rules = []
          # breakout port ranges into multple rules
  
          kwargs = {}
  
          kwargs['address'] = result.ip_and_mask or None
          kwargs['group'] = result.security_group or None
          kwargs['group_name'] = result.group_name or None
  
          for x,y in result.ports:
              r = Rule(result.protocol, x, y, **kwargs)
              rules.append(r)
          return rules
docs: returns a list of rules
          a single line may yield multiple rules