code: def unquote(text, exceptions=[]):
      
      if not text:
          if text is None:
              raise TypeError('None object cannot be unquoted')
          else:
              return text
      if '%' not in text:
          return text
      s = text.split('%')
      res = [s[0]]
      for h in s[1:]:
          c = _hextochr.get(h[:2])
          if c and c not in exceptions:
              if len(h) > 2:
                  res.append(c + h[2:])
              else:
                  res.append(c)
          else:
              res.append('%' + h)
      return ''.join(res)
docs: Unquote a text but ignore the exceptions.
  
      >>> unquote('foo%23bar')
      'foo#bar'
      >>> unquote('foo%23bar', ['#'])
      'foo%23bar'