def run(self, delete_existing_documents=False):
        # get default plugin
        print("getting crawl plugin info")
        self.crawl_config = self.get_default_plugin()

        # apply this specific plugin
        self.crawl_config.update(self.get_specific_plugin())

        # delete existing documents
        if delete_existing_documents:
            print("deleting documents before crawling")
            self.delete_existing_documents()
            seen_urls = []
        # add the already visited urls to the config
        else:
            print("getting seen urls")
            seen_urls = self.get_seen_urls()
        self.crawl_config['seen_urls'] = seen_urls

        print("getting template dict")
        # add the template for this crawl_plugin to the scraping config
        self.crawl_config['template_dict'] = self.get_template_dict()

        print("starting crawl")
        # separate out the save data while crawling and the newscraler
        if 'logging_level' in self.crawl_config:
            logging_level = int(self.crawl_config['logging_level'])
        else:
            logging_level = 3
        templated_dict = crawl.start(
            self.crawl_config, NewsCrawler, self.save_data, self.save_bulk_data,
            logging_level=logging_level, cache=self.cache)

        print('saving template..')
        self.save_template_dict(templated_dict)
        print('crawling/scraping', self.project_name, self.plugin_name, "DONE")
dataset/ETHPy150Open kootenpv/sky/sky/crawler_plugins.py/CrawlPluginNews.run/original