code: def extract_user(user_value):
      
      user = resolve_value(user_value)
      if not user and user != 0 and user != '0':
          return None
      if isinstance(user, tuple):
          return user[0]
      if isinstance(user, six.integer_types):
          return six.text_type(user)
      return user.partition(':')[0]
docs: Extract the user for running a container from the following possible input formats:
  
      * Integer (UID)
      * User name string
      * Tuple of ``user, group``
      * String in the format ``user:group``
  
      :param user_value: User name, uid, user-group tuple, or user:group string.
      :type user_value: int | tuple | unicode | str
      :return: User name or id.
      :rtype: unicode | str