class DownloadThread(threading.Thread): def __init__(self, log_queue, db_filename, address): super(DownloadThread, self).__init__() self.log_queue = log_queue self.db_filename = db_filename self.address = address self.data = None self.error = None self.logger = logging.getLogger('collage_proxy') def run(self): self.driver = WebDriver() self.logger.info('Starting download thread') database = Database(self.db_filename) task_list = database.get_active_task_list() modules = database.get_loaded_task_modules(task_list) snippets = database.get_tasks(task_list) def dummy_receive(self, id): print 'Task module not loaded' def dummy_can_embed(self, id, data): return False def get_task_from_snippet(snippet): task = snippet.execute(self.driver) if snippet.get_module() not in modules: task.receive = dummy_receive task.can_embed = dummy_can_embed return task tasks = map(get_task_from_snippet, snippets) vector_provider = NullVectorProvider() message_layer = MessageLayer(vector_provider, common.BLOCK_SIZE, common.MAX_UNIQUE_BLOCKS, tasks, common.TASKS_PER_MESSAGE, Logger(self.log_queue), mac=True) try: self.logger.info('Download thread fetching address "%s"' % self.address) self.data = message_layer.receive(self.address) except Exception as inst: self.logger.info('Download thread had error "%s"' % inst.message) self.error = inst self.driver.close() def get_data(self): return self.data def get_error(self): return self.error def close(self): self.driver.close()
class FirefoxLauncherTests(unittest.TestCase): def testLaunchAndCloseBrowser(self): self.webdriver = WebDriver() self.webdriver.quit() def testDoubleClose(self): self.webdriver = WebDriver() self.webdriver.close() self.webdriver.close() self.webdriver.quit()
class FirefoxLauncherTests (unittest.TestCase): def testLaunchAndCloseBrowser(self): self.webdriver = WebDriver() self.webdriver.quit() def testDoubleClose(self): self.webdriver = WebDriver() self.webdriver.close() self.webdriver.close() self.webdriver.quit()
def download(address, snippets): driver = WebDriver() tasks = [] for snippet in snippets: tasks.append(snippet.execute(driver)) vector_provider = NullVectorProvider() message_layer = MessageLayer(vector_provider, common.BLOCK_SIZE, common.MAX_UNIQUE_BLOCKS, tasks, common.TASKS_PER_MESSAGE, Timestamper(), mac=True) try: data = message_layer.receive(address) except MessageLayerError: pass driver.close() return data