'This method sets all the options that are configured using the user
interface generated by the framework using the result of get_options().
:param options_list: A dictionary with the options for the plugin.
:return: No value is returned.'

def set_options(self, options_list):

    target_urls = self.get_urls_from_target(options_list)
    domain_list = [target_url.get_net_location() for target_url in target_urls]
    domain_list = list(set(domain_list))
    if (len(domain_list) > 1):
        msg = 'You    specified    more    than    one    target    domain:    %s.    And    w3af    can    only    scan    one    target    domain    at    a    time.'
        raise BaseFrameworkException((msg % ',    '.join(domain_list)))
    cf.cf.save('targets', target_urls)
    cf.cf.save('target_domains', list(set([u.get_domain() for u in target_urls])))
    cf.cf.save('baseURLs', [i.base_url() for i in target_urls])
    os = options_list['target_os'].get_value_str()
    if (os.lower() in self._operating_systems):
        cf.cf.save('target_os', os.lower())
    else:
        msg = u'Unknown    target    operating    system:    "%s"'
        raise BaseFrameworkException((msg % os))
    pf = options_list['target_framework'].get_value_str()
    if (pf.lower() in self._programming_frameworks):
        cf.cf.save('target_framework', pf.lower())
    else:
        msg = u'Unknown    target    programming    framework:    "%s"'
        raise BaseFrameworkException((msg % pf))
