MCPcopy
hub / github.com/omkarcloud/botasaurus / run_task

Function run_task

botasaurus/browser_decorator.py:129–269  ·  view source on GitHub ↗
(data, retry_attempt, retry_driver=None)

Source from the content-addressed store, hash-verified

127 _driver_pool = wrapper_browser._driver_pool if dont_close_driver else []
128
129 def run_task(data, retry_attempt, retry_driver=None) -> Any:
130 if cache is True:
131 # Returns {"data": value} or None
132 cached = storage.get(fn_name, data, expires_in)
133 if cached is not None:
134 return cached["data"]
135
136
137 evaluated_window_size = (
138 window_size(data) if callable(window_size) else window_size
139 )
140 evaluated_user_agent = (
141 user_agent(data) if callable(user_agent) else user_agent
142 )
143 if cycled_proxy:
144 evaluated_proxy = next(cycled_proxy)
145 else:
146 evaluated_proxy = evaluate_proxy(proxy(data) if callable(proxy) else proxy)
147 evaluated_profile = profile(data) if callable(profile) else profile
148 evaluated_lang = lang(data) if callable(lang) else lang
149 evaluated_headless = headless(data) if callable(headless) else headless
150 evaluated_extensions = extensions(data) if callable(extensions) else extensions
151
152 if evaluated_profile is not None:
153 evaluated_profile = str(evaluated_profile)
154 if retry_driver is not None:
155 driver = retry_driver
156 elif reuse_driver and len(_driver_pool) > 0:
157 driver = _driver_pool.pop()
158 else:
159 if callable(add_arguments):
160 args = add_arguments(data)
161 if not isinstance(args, list):
162 raise Exception("add_arguments must return a list of arguments")
163 else:
164 args = add_arguments
165
166 driver = Driver(
167 headless=evaluated_headless,
168 proxy=evaluated_proxy,
169 profile=evaluated_profile,
170 tiny_profile=tiny_profile,
171 block_images=block_images,
172 block_images_and_css=block_images_and_css,
173 wait_for_complete_page_load=wait_for_complete_page_load,
174 chrome_executable_path = chrome_executable_path,
175 extensions=evaluated_extensions,
176 arguments=args,
177 user_agent=evaluated_user_agent,
178 window_size=evaluated_window_size,
179 lang=evaluated_lang,
180 beep=beep,
181 enable_xvfb_virtual_display=enable_xvfb_virtual_display,
182 host=host,
183 port=port,
184 remove_default_browser_check_argument=remove_default_browser_check_argument,
185 )
186

Callers 2

wrapper_browserFunction · 0.70
runFunction · 0.70

Calls 10

evaluate_proxyFunction · 0.90
save_error_logsFunction · 0.90
close_driverFunction · 0.85
is_dont_cacheFunction · 0.85
close_driver_poolFunction · 0.85
is_errors_instanceFunction · 0.70
sleepFunction · 0.50
getMethod · 0.45
deleteMethod · 0.45
putMethod · 0.45

Tested by

no test coverage detected