code: def parse(self, argument):
      
      if isinstance(argument, list):
        return argument
      elif not argument:
        return []
      else:
        try:
          return [s.strip() for s in list(csv.reader([argument], strict=True))[0]]
        except csv.Error as e:
          # Provide a helpful report for case like
          #   --listflag="$(printf 'hello,\nworld')"
          # IOW, list flag values containing naked newlines.  This error
          # was previously "reported" by allowing csv.Error to
          # propagate.
          raise ValueError('Unable to parse the value %r as a %s: %s'
                           % (argument, self.flag_type(), e))
docs: Parses argument as comma-separated list of strings.