code: def new(cls, pn, comment="", email=""):
          
          uid = PGPUID()
          if isinstance(pn, bytearray):
              uid._uid = UserAttribute()
              uid._uid.image.image = pn
              uid._uid.image.iencoding = ImageEncoding.encodingof(pn)
              uid._uid.update_hlen()
  
          else:
              uid._uid = UserID()
              uid._uid.name = pn
              uid._uid.comment = comment
              uid._uid.email = email
              uid._uid.update_hlen()
  
          return uid
docs: Create a new User ID or photo.
  
          :param pn: User ID name, or photo. If this is a ``bytearray``, it will be loaded as a photo.
                     Otherwise, it will be used as the name field for a User ID.
          :type pn: ``bytearray``, ``str``, ``unicode``
          :param comment: The comment field for a User ID. Ignored if this is a photo.
          :type comment: ``str``, ``unicode``
          :param email: The email address field for a User ID. Ignored if this is a photo.
          :type email: ``str``, ``unicode``
          :returns: :py:obj:`PGPUID`