code: def parse(cls, specstr):
      parsed = cls._parse(specstr)
      if not parsed:
          return None
      *values, _ = parsed
      return cls(*values)
  
imports: from collections import namedtuple
  import csv
  import re
  import textwrap
  from .None import NOT_SET, strutil, fsutil
label_desc: Use image node_id 2 for calling the ColumnSpec obj's underlying member method code with example usage: obj.parse(cls, specstr) and returns: cls, None