code: def cls_get_by_name(cls, name):
      
      try:
          val = getattr(cls, name)
      except AttributeError:
          for attr in (a for a in dir(cls) if not a.startswith('_')):
              try:
                  val = getattr(cls, attr)
              except AttributeError:
                  # Is known to happen.
                  continue
              valname = getattr(val, 'name', None)
              if valname == name:
                  return val
          else:
              raise ValueError('No {} with that name: {}'.format(
                  cls.__name__,
                  name,
              ))
      else:
          return val
docs: Return a class attribute by searching the attributes `name` attribute.