text: #!/usr/bin/env python
  # -*- coding: utf-8 -*-
  
  from .abstractgenerator import AbstractMISPObjectGenerator
  import logging
  from pyfaup.faup import Faup  # type: ignore
  from urllib.parse import unquote_plus
  
  logger = logging.getLogger('pymisp')
  
  faup = Faup()
  
  
  class URLObject(AbstractMISPObjectGenerator):
  
      def __init__(self, url: str, **kwargs):
          super().__init__('url', **kwargs)
          faup.decode(unquote_plus(url))
          self.generate_attributes()
  
      def generate_attributes(self):
          self.add_attribute('url', value=faup.url.decode())
          if faup.get_host():
              self.add_attribute('host', value=faup.get_host())
          if faup.get_domain():
              self.add_attribute('domain', value=faup.get_domain())
  