docs: def check_recID_is_in_range(recID, warnings=[], ln=CFG_SITE_LANG):
      """
      Check that recID is >= 0
      :param recID: record id
      :param warnings: list of warning tuples (warning_text, warning_color)
      :return: tuple (boolean, html) where boolean (1=true, 0=false)
                                    and html is the body of the page to display if there was a problem
      """
      _ = gettext_set_language(ln)
  
      try:
          recID = int(recID)
      except:
          pass
  
      if isinstance(recID, int):
          if recID > 0:
              from invenio.legacy.search_engine import record_exists
              success = record_exists(recID)
              if success == 1:
                  return (1, "")
              else:
                  try:
                      if success == -1:
                          status = 'deleted'
                          raise InvenioWebCommentWarning(
                              _('The record has been deleted.'))
                      else:
                          status = 'inexistant'
                          raise InvenioWebCommentWarning(
                              _('Record ID %(x_rec)s does not exist in the database.', x_rec=recID))
                  except InvenioWebCommentWarning as exc:
                      register_exception(stream='warning')
                      warnings.append((exc.message, ''))
                  #warnings.append(('ERR_WEBCOMMENT_RECID_INEXISTANT', recID))
                  return (0, webcomment_templates.tmpl_record_not_found(
                      status=status, recID=recID, ln=ln))
          elif recID == 0:
              try:
                  raise InvenioWebCommentWarning(_('No record ID was given.'))
              except InvenioWebCommentWarning as exc:
                  register_exception(stream='warning')
                  warnings.append((exc.message, ''))
              # warnings.append(('ERR_WEBCOMMENT_RECID_MISSING',))
              return (0, webcomment_templates.tmpl_record_not_found(
                  status='missing', recID=recID, ln=ln))
          else:
              try:
                  raise InvenioWebCommentWarning(
                      _('Record ID %(recid)s is an invalid ID.', recid=recID))
              except InvenioWebCommentWarning as exc:
                  register_exception(stream='warning')
                  warnings.append((exc.message, ''))
              #warnings.append(('ERR_WEBCOMMENT_RECID_INVALID', recID))
              return (0, webcomment_templates.tmpl_record_not_found(
                  status='invalid', recID=recID, ln=ln))
      else:
          try:
              raise InvenioWebCommentWarning(
                  _('Record ID %(recid)s is not a number.', recid=recID))
          except InvenioWebCommentWarning as exc:
              register_exception(stream='warning')
              warnings.append((exc.message, ''))
          #warnings.append(('ERR_WEBCOMMENT_RECID_NAN', recID))
          return (0, webcomment_templates.tmpl_record_not_found(
              status='nan', recID=recID, ln=ln))